Page 115 - MATINF Nr. 1
P. 115
˘
PROBLEME DE INFORMATICA PENTRU EXAMENE 115
a) pow(c1,2)+pow(c2,2) c) sqrt(c1+c2)
b) sqrt(pow(c1,2)+pow(c2,2)) d) pow(c1,2)+pow(c2,2)+2*c1*c2
2. Se consider˘a secvent , a de cod C/C++ de mai jos, ˆın care n memoreaz˘a valoarea unui
num˘ar natural nenul dat, iar toate celelalte variabile sunt de tip ˆıntreg. (4p.)
ucp = 1;
for (d=1; d<=n; d++)
if (n%d==0)
......
Expresia care poate ˆınlocui punctele de suspensie astfel ˆıncˆat la sfˆars , itul secvent , ei C/C++
obt , inute variabila ucp s˘a memoreze ultima cifr˘a a produsului tuturor divizorilor variabilei
n este: (4p.)
a) ucp=(ucp+d)%10; c) ucp=d%10*ucp;
b) ucp=n/d%10*upc; d) ucp=(ucp*d)%10;
Scriet , i r˘aspunsul pentru fiecare din cerint , ele urm˘atoare.
3. Se consider˘a dou˘a date de nas , tere definite prin variabile ˆıntregi zi1, luna1, an1, respectiv
zi2, luna2, an2. Scriet , i o expresie C/C++ care s˘a aib˘a valoarea 1 dac˘a cele dou˘a persoane
sunt n˘ascute ˆın aceeas , i zi s , i aceeas , i lun˘a, dar ani diferit , i. (6p.)
4. Pentru un num˘ar natural, cifra de ordin 1 este cifra unit˘at , ilor, cifra de ordin 2 este cifra
zecilor, cifra de ordin 3 este cifra sutelor, s , .a.m.d. Rotunjirea unui num˘ar la cifra de ordin
k se realizeaz˘a ˆın funct , ie de valoarea cifrei imediat din dreapta. De exemplu, pentru
n=27432 rotunjirea la cifra de ordin k=2 (cifra zecilor) conduce la num˘arul 27430 pentru
c˘a cifra unit˘at , ilor este mai mic˘a decˆat 5, iar pentru n=27472 rotunjire la cifra de ordin
k=3 (cifra sutelor) conduce la 27500 pentru c˘a cifra zecilor este mai mare sau egal˘a decˆat
5.
a) Scriet , i un algoritm ˆın pseudocod care cites , te dou˘a numere naturale n s , i k (n≥1,
k≥1) s , i determin˘a num˘arul natural obt , inut prin rotunjirea lui n la ordinul k dac˘a
variabila k are valoarea mai mic˘a decˆat num˘arul de cifre ale lui n, iar ˆın caz contrar
afis , eaz˘a mesajul ,,Eroare”. (10p.)
b) Ment , ionat , i rolul fiec˘arei variabile s , i specificat , i care sunt datele de intrare s , i care sunt
datele de ies , ire ale problemei. (6p.)
SUBIECTUL al III-lea (30 de puncte)
Scriet , i pe foaia de examen r˘aspunsul corect pentru fiecare dintre cerint , ele
urm˘atoare:
1. Indicat , i expresia care poate ˆınlocui punctele de suspensie astfel ˆıncˆat, ˆın urma execut˘arii
secvent , ei obt , inute, s˘a se afis , eze matricea de mai jos. (4p.)
for(i=1;i <=4;i++) 0 0 0 0
{ for(j=1;j<=4;j++) 0 1 2 3
cout < <......; | printf ("%d" ,......);
0 1 3 4
cout <<endl; | printf ("%n"); }
0 2 4 6