Documente Academic
Documente Profesional
Documente Cultură
Probleme rezolvate
start
citeşte N // se preia de la consolă numărul de elemente ale vectorului
pentru i = 0,N-1 execută // se citeşte vectorul X
| citeşte x[i]
|_□
pentru i = 0,N-1 execută // se citeşte vectorul Y
| citeşte y[i]
|_□
// a)
atribuie s 0 // se iniţializează valoarea sumei
atribuie p 1 // se iniţializează valoarea produsului
pentru i = 0,N-1 execută
| atribuie s s + x[i]
| atribuie p p * x[i]
|_□
scrie s,p
// b)
pentru i = 0,N-1 execută
| atribuie z[i] x[i] + y[i]
|_□
// c)
atribuie ps 0 // se iniţializează valoarea produsului scalar
pentru i = 0,N-1 execută
| atribuie ps ps + x[i]*y[i]
|_□
scrie ps
// d)
atribuie si 0 // se iniţializează valoarea sumei elementelor impare
atribuie nri 0 // se iniţializează valoarea numărului elementelor impare
pentru i= 0, N-1 execută
| dacă z[i] - 2*parte întreagă (z[i]/2) 0
atunci // restul împărţirii la 2 nenul
| | atribuie si si + z[i]
| | atribuie nri nri + 1
| |_ □
|__ □
dacă nri 0 atunci // este posibilă împărţirea la nri
| atribuie ma si/nri // se calculează media
| scrie ma
| altfel
| scrie “Vectorul nu contine elemente impare”
|_ □
stop
2. Pentru un vector V de dimensiune N să se ordoneze descrescător elementele sale folosind
sortarea prin interschimbare .
start
citeşte n
pentru i = 0 , n - 1 execută
| citeşte v[i]
|_□
pentru i = 0 , n - 2 execută
| pentru j = i +1, n-1 execută
| | dacă v[i] < v[j] atunci
| | | atribuie aux v[i]
| | | atribuie v[i] v[j]
| | | atribuie v[j] aux
| | |_□
| |_□
|_□
pentru i = 0 , n - 1 execută
| scrie v[i]
|_□
stop
start
citeşte M // se preia de la consolă numărul de linii ale matricii
pentru i = 0,M-1 execută // se citeşte matricea a
| pentru j = 0,M-1 execută
| citeşte a[i][j]
|_ □
// a)
atribuie max a[0][0] // se presupune ca elementul maxim este plasat pe prima
atribuie lin_max 0 //linie si prima coloană
atribuie col_max 0
pentru i = 0,M-1 execută
| pentru j = 0,M-1 execută
| dacă a[i][j] > max atunci
| | atribuie max a[i][j] // se actualizează valoarea elementului maxim
| | atribuie lin_max i // şi poziţia acestuia
| | atribuie col_max j
| |_ □
|_ □
// b)
atribuie sd 0 // se iniţializează suma elementelor de pe diagonala principală
atribuie pd 1 // se iniţializează produsul elementelor de pe diagonala principală
pentru i = 0,M-1 execută
| atribuie sd sd + a[i][i]
| atribuie pd pd * a[i][i]
|__
scrie sd, pd
// c)
atribuie nr_poz 0 // se iniţializează numarul elementelor pozitive
pentru i = 0,M-1 execută
| pentru j = 0,M-1 execută
| | dacă a[i][j] > 0 atunci
| | | atribuie nr_poz nr_poz + 1 // se incrementează numarul elementelor pozitive
| | |_ □
| |_ □
|_ □
scrie nr_poz
// d)
citeşte r,s
dacă 0<=r<= M - 1 i 0<=s<= M - 1 atunci
| pentru j = 0,M-1 execută
| | atribuie temp a[r][j]
| | atribuie a[r][j] a[s][j]
| | atribuie a[s][j] temp
| |_ □
| altfel
| scrie "Date incorecte"
|_ □
stop
start
citeste m,n,p // se preiau de la consolă dimensiunile matricelor A şi B
pentru i = 0,m-1 execută // se citeşte matricea A
| pentru j = 0,n-1 execută
| | citeşte A[i][j]
| |_ □
|_ □
pentru i = 0,n-1 execută // se citeşte matricea B
| pentru j = 0,p-1 execută
| | citeşte B[i][j]
| |_ □
|_ □
pentru i = 0,m-1 execută // se calculează produsul C= A * B
| pentru j = 0,p-1 execută
| | atribuie s←0
| | pentru k = 0,n-1 execută
| | | atribuie s ←s+A[i][k]*B[k][j]
| | |_ □
| | atribuie C[i][j]←s
| |_ □
|_ □
pentru i = 0,m-1 execută
| pentru j = 0,n-1 execută
| | scrie A[i][j]
| |_ □
|_ □
pentru i = 0,n-1 execută
| pentru j = 0,p-1 execută
| | scrie B[i][j]
| |_ □
|_ □