timi.pdf
-
Upload
berindea-petra -
Category
Documents
-
view
212 -
download
0
Transcript of timi.pdf
-
Programarea calculatoarelor
Universitatea Constantin Brncui din Trgu-Jiu
Facultatea de Inginerie
Departamentul de Automatic, Energie i Mediu
Lector dr. Adrian Runceanu
-
Curs recapitulativ
Structura biletelor de examen
02.06.2013 Programarea calculatoarelor 2
-
Structura biletelor de examen
02.06.2013 Programarea calculatoarelor 3
Specializarea INGINERIA MEDIULUI:
Subiect I - Grile cu alegere multipl. Identificai litera
care corespunde rspunsului corect.
Subiect II - Algoritm n pseudocod.
Subiect III Enunul unei probleme cu vectori sau
matrici, avnd un exemplu specificat.
-
Probleme recapitulative
Subiect I - Grile cu alegere multipl. Identificai litera care corespunde rspunsului corect.
02.06.2013 Programarea calculatoarelor 4
-
Grila 1
Considerm urmtoarea secven de program n care v este un vector format din n numere ntregi, iar n, i i aux sunt trei variabile de tip ntreg:
for(i=1; i
-
Grila 1 (continuare)
Dac n=7 i v=(10, 20, 30, 40, 50, 60, 70) atunci dup executarea secvenei de mai sus vectorul v va avea urmtorul coninut:
a) v=(40, 50, 60, 70, 10, 20, 30) b) v=(40, 50, 60, 10, 20, 30, 70) c) v=(50, 60, 70, 40, 10, 20, 30) d) v=(10, 20, 30, 70, 60, 50, 40)
02.06.2013 Programarea calculatoarelor 6
Solutie: c)
-
Grila 2
Fie vectorul v=(-1, 2, 3, -2, 4, 6, -3, 4) cu n=8 elemente.
Care din secvenele urmtoare transform vectorul v astfel:
v=(-1, 4, 3, 6, 4, -2, -3, 2), tiind c primul element din tablou se afl pe poziia 0?
02.06.2013 Programarea calculatoarelor 7
-
Grila 2 (continuare)
a) for(k=0; k=0; k--) if(k%2==0)
{
aux=a[k]; a[k]=a[n-k];
a[n-k]=aux;
}
-
Grila 2 (continuare)
c) for(k=n-1; k>=n/2; k--)
if(k%2!=0) { aux=a[k];
a[k]=a[n-k]; a[n-k]=aux; }
02.06.2013 Programarea calculatoarelor 9
d)
for(k=n-1; k>=n/2; k--) if(k%2!=0)
{
aux=a[k]; a[k]=a[n-k-1]; a[n-k-1]=aux;
}
Solutie: c)
-
Grila 3
Fie v un tablou unidimensional format din n numere ntregi (n>=2).
tiind c primul element din tablou se afl pe poziia 1, indicai care dintre urmtoarele secvene atribuie variabilei ntregi max cea mai mare valoare din tabloul v:
02.06.2013 Programarea calculatoarelor 10
-
Grila 3 (continuare)
a) for(i=2;iv[i-1]) v[i]=v[i-1];
max=v[n];
02.06.2013 Programarea calculatoarelor 11
Solutie: c)
-
Grila 4
Fie urmtoarea secven de program n care a, b sunt doi vectori formai din cte n numere ntregi, iar i i n sunt dou variabile de tip ntreg:
for(i=1;i
-
Grila 4 (continuare)
Dup execuia secvenei de mai sus, vectorii a i b vor fi:
a) a=(n+1, n,,2) si b=(1,2,,n) b) a=(1,2,,n) si b=(0,0,,0) c) a=(n+2, n+3,, 2n+1) si b=(1,2,,n) d) a=(1,2,,n) si b=(1,2,,n)
02.06.2013 Programarea calculatoarelor 13
Solutie: c)
-
Grila 5
Fie vectorul a=(10,8,3,9,6,1) cu n=6 elemente. Ce se va afia n urma executrii urmtorului program?
#include int a[20], n,k,aux; int main(void) { cin>>n ; for(k=1; k>a[k]; for(k=1; k
-
Grila 6
Considerm urmtoarea secven de program n care v este un vector format din n numere ntregi, iar i, j i n sunt trei variabile de tip ntreg:
v[1]=1; for(i=2; i
-
Probleme recapitulative
Subiect II - Algoritm n pseudocod
02.06.2013 Programarea calculatoarelor 16
-
Algoritm 1
Se consider urmtorul algoritm pseudocod:
citeste n (numar natural cu cel mult 9 cifre) cat timp n>=10 executa | s=0 | cat timp n0 executa | | s=s+n%10 | | n=[n/10] | |sfarsit cat timp | n=s |sfarsit cat timp scrie n
02.06.2013 Programarea calculatoarelor 17
-
Algoritm 1 (continuare)
1. Ce se va afia dac valoarea citit pentru n este 989736?
2. Scriei programul C++ corespunztor algoritmului
dat. 3. Scriei un algoritm echivalent cu algoritmul dat,
dar care s utilizeze un alt tip de structur repetitiv.
02.06.2013 Programarea calculatoarelor 18
-
Algoritm 1 - solutie
1. 9+8+9+7+3+6=42 4+2 = 6 Rezultat final 6
02.06.2013 Programarea calculatoarelor 19
-
Algoritm 1 - solutie
2. Programul C++
corespunztor
algoritmului dat este:
#include
long int n, s;
int main()
{
coutn;
02.06.2013 Programarea calculatoarelor 20
while(n>=10) { s=0; while(n!=0) { s=s+n%10; n=n/10; } n=s; } cout
-
Algoritm 1 - solutie 3. Algoritmul echivalent cu algoritmul dat, dar care s utilizeze un alt tip de
structur repetitiv este:
citeste n (numar natural cu cel mult 9 cifre) repeta | s=0 | repeta | | s=s+n%10 | | n=[n/10] | |pana cand n=0 | n=s |pana cand n
-
Algoritm 2
Se consider urmtorul algoritm pseudocod: citeste a,b (numere naturale) c=a%10 pentru i=1,b-1 executa | c=c*a | c=c%10 |sfarsit pentru scrie c
02.06.2013 Programarea calculatoarelor 22
-
Algoritm 2 (continuare)
1. Ce valoare afieaz algoritmul pentru a=28 i b=10?
2. Scriei programul C++ corespunztor
algoritmului dat. 3. Scriei algoritmul pseudocod care s fie
echivalent cu cel dat i care s conin un alt tip de structur repetitiv.
02.06.2013 Programarea calculatoarelor 23
-
Algoritm 2 - solutie
1. i=1 => c=8*28=224; c=4; i=2 => c=4*28=112; c=2; i=3 => c=2*28=56; c=6; i=4 => c=6*28=168; c=8; i=5 => c=8*28=224; c=4; i=6 => c=4*28=112; c=2; i=7 => c=2*28=56; c=6; i=8 => c=6*28=168; c=8; i=9 => c=8*28=224; c=4; Rezultat: 4
02.06.2013 Programarea calculatoarelor 24
-
Algoritm 2 - solutie
2. Programul C++
corespunztor
algoritmului dat este:
#include
int a,b,c,i;
int main()
{
couta;
coutb;
02.06.2013 Programarea calculatoarelor 25
c=a%10;
for(i=1;i
-
Algoritm 2 - solutie
3. Algoritmul echivalent cu algoritmul dat, dar care s utilizeze un alt tip de structur repetitiv este:
citeste a,b (numere naturale) c=a%10 i=1 cat timp i
-
Probleme recapitulative
Subiectul III Enunul unei probleme cu vectori sau matrici, avnd un exemplu specificat.
02.06.2013 Programarea calculatoarelor 27
-
Probleme rezolvate cu vectori
Problema 1: Enun: Se consider un vector x cu n numere reale. S se calculeze produsul elementelor.
02.06.2013 Programarea calculatoarelor 28
-
Probleme rezolvate cu vectori
#include int main(void) { double x[100], p; int n, i; coutn; cout
-
Probleme rezolvate cu vectori
for(i = 1; i
-
Probleme rezolvate cu vectori
cout
-
Probleme rezolvate cu vectori
p = 1; // produsul elementelor din vector for(i = 1; i
-
Probleme rezolvate cu vectori
Problema 2: Enun:
Se consider un vector x cu n numere reale.
S se calculeze cte elemente sunt pozitive, cte sunt negative i cte sunt nule.
02.06.2013 Programarea calculatoarelor 33
-
Probleme rezolvate cu vectori
#include int main(void) { double x[100]; int n, i, nr_poz, nr_neg, nr_nul; coutn; cout
-
Probleme rezolvate cu vectori
for(i = 1; i
-
Probleme rezolvate cu vectori
cout
-
Probleme rezolvate cu vectori
nr_poz = nr_neg = nr_nul = 0; for(i = 1; i 0) nr_poz++; else if(x[i] < 0) nr_neg++; else nr_nul++;
02.06.2013 Programarea calculatoarelor 37
-
Probleme rezolvate cu vectori
cout
-
Probleme rezolvate cu vectori
Problema 3: Enun:
Se consider un numr natural n. S cere s se formeze un vector cu
cifrele numrului.
02.06.2013 Programarea calculatoarelor 39
-
Probleme rezolvate cu vectori
#include int main(void) { int x[100]; long int n, i, m; coutn;
02.06.2013 Programarea calculatoarelor 40
-
Probleme rezolvate cu vectori
i = 1; while(n != 0) { x[i] = n % 10; i++; n = n / 10; }
02.06.2013 Programarea calculatoarelor 41
-
Probleme rezolvate cu vectori
m = i-1; cout
-
Probleme rezolvate cu vectori
Problema 4: Enun:
Reuniunea a dou mulimi S se scrie un program care s calculeze
reuniunea a dou mulimi de cte n, respectiv m numere ntregi memorate cu ajutorul vectorilor.
02.06.2013 Programarea calculatoarelor 43
-
Probleme rezolvate cu vectori
Exemplu:
02.06.2013 Programarea calculatoarelor 44
Date de intrare: n=5, a={1, 2, 5, 7, 12} si m=2, b={2, 4, 8, 12}
Date de iesire: k = 7 z = {1, 2, 3, 4, 5, 7, 8, 12}
-
Probleme rezolvate cu vectori
#include int main(void) { int a[100], b[100], c[100], n, m, i, j, k, ok; coutn; cout
-
Probleme rezolvate cu vectori
for(i = 1; i
-
Probleme rezolvate cu vectori
coutm; cout
-
Probleme rezolvate cu vectori
// copiem elementele din multimea A in multimea C
for(i = 1;i
-
Probleme rezolvate cu vectori
for(j = 1; j
-
Probleme rezolvate cu vectori
cout
-
Probleme recapitulative
Subiectul III Enunul unei probleme cu vectori sau matrici, avnd un exemplu specificat.
02.06.2013 Programarea calculatoarelor 51
-
Probleme rezolvate cu matrici
Problema 5: Enun: Se dau doua numere n si m reprezentand
numarul de linii, respectiv numarul de coloane ale unei matrici An*m (1n,m30) de numere ntregi.
S se scrie un program care construieste o matrice A ale caror elemente se calculeaz dup formula:
A[i][j] = (n-i) * (m-j)
02.06.2013 Programarea calculatoarelor 52
-
Probleme rezolvate cu matrici
#include int main() { int i, j, m, n; float a[10][10]; cout
-
Probleme rezolvate cu matrici
cout
-
Probleme rezolvate cu matrici
Problema 6:
Enun:
S se citeasc elementele unei matrici An,m, unde
n
-
Probleme rezolvate cu matrici
#include int main() { double a[10][10], aux; int m, n, i, j; cout
-
Probleme rezolvate cu matrici
for(i=1; i
-
Probleme rezolvate cu matrici
cout
-
Probleme rezolvate cu matrici
//interschimbarea liniilor matricii A:
for (i=1; i
-
Probleme rezolvate cu matrici
cout
-
Structura biletelor de examen
02.06.2013 Programarea calculatoarelor 61
Specializarea INGINERIA MEDIULUI:
Subiect I - Grile cu alegere multipl. Identificai litera
care corespunde rspunsului corect.
Subiect II - Algoritm n pseudocod.
Subiect III Enunul unei probleme cu vectori sau
matrici, avnd un exemplu specificat.
-
02.06.2013 Programarea calculatoarelor 62
-
02.06.2013 Programarea calculatoarelor 63
-
Sfrit curs!
Baft!
02.06.2013 Programarea calculatoarelor 64