Page 81 - MATINF Nr. 3
P. 81
˘
PROBLEME DE INFORMATICA PENTRU EXAMENE 81
c) for(i=1;i<=k;i++) d) for(i=1;i<=k;i++)
x[n+i]=x[i]; x[i]=x[i+k+1];
for(i=1;i<=n;i++)
x[i]=x[i+k];
5. Variabilele x, y s , i z sunt de tipˆıntreg. Care x = 3; y = 5; z = 1;
este num˘arul de atribuiri care se efectueaz˘a do {x = y + z;
ˆın urm˘atoarea secvent , ˘a s , i valoarea variabi- y = y - 2;
lelor x, y s , i z la final? (4p.) z = z + 1;
} while(z < y);
a) 9 3 5 1 b) 6 5 1 3 c) 3 5 1 3 d) 9 5 1 3
SUBIECTUL al II-lea (40 de puncte)
Scriet¸i pe foaia de examen r˘aspunsul pentru fiecare dintre cerint¸ele urm˘atoare.
1. Se consider˘a algoritmul urm˘ator, scris ˆın pseudocod. S-a notat cu [x] partea ˆıntreag˘a a
num˘arului real x iar cu x%y restul ˆımp˘art , irii num˘arului ˆıntreg x la num˘arul ˆıntreg nenul
y.
citeste x (numar natural)
cat timp x6=0 executa
| z←10
| y←x%10
| cat timp x>9 executa
| | x←[x/10] -1
| | y←x%10*z+y
| |_ z←z*10
| scrie y
|_ citeste x (numar natural)
a) Scriet¸i ce se va afis , a dac˘a se citesc ˆın aceast˘a ordine valorile: 138 57 9 2148 5708 300
0. (6p.)
b) Precizat¸i un s , ir de 4 valori distincte ce pot fi citite astfel ˆıncˆat s˘a se afis , eze doar
valori nule (egale cu zero). (6p.)
c) Scriet¸i ˆın pseudocod un algoritm echivalent cu cel dat care s˘a utilizeze structuri
repetitive de alt tip. (6p.)
d) Scriet¸i programul C/C++ corespunz˘ator algoritmului dat. (10p.)
2. Pentru un punct dat A pentru care se cunosc coordonatele x s , i y s˘a se scrie o condit , ie
care are valoarea 1 dac˘a s , i numai dac˘a punctul se g˘ases , te pe una din axe s , i zero ˆın caz
contrar. (6p.)
3. S¸tiind c˘a s este un tablou unidimensional cu maxim 50 numere naturale de maxim o cifr˘a,
numerotarea acestora ˆıncepˆand de la 0, s , i c˘a init , ial are valoarea (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
iar aux, i, j, di, dj sunt variabile de tip ˆıntreg, s˘a se precizeze care va fi valoarea s , irului
ˆın urma execut˘arii urm˘atoarei secvent , e de program C/C++? (6p.)
di=1; dj=2; i=0; j=9;
while (i < j)
{ aux=s[i]; s[i]=s[j]; s[j]=aux;
i=i+di; j=j-dj;
di=di+dj; dj=di -dj; di=di -dj;
}