Page 78 - MATINF Nr. 8
P. 78
˘
78 PROBLEME DE INFORMATICA PENTRU EXAMENE
a) rosu, albastru, violet c) rosu, albastru, galben
b) galben, verde, violet d) violet, oranj, verde
4. Se consider˘a vectorul de tat , i al urm˘atorului arbore cu 9 noduri, numerotate de la 1 la 9:
T:(7, 0, 6, 7, 6, 2, 2, 9, 1). Enumerat , i frunzele arborelui. (4p.)
a) 5, 3, 6, 4 c) 4, 3, 8, 5
b) 2, 7, 8, 9 d) 2, 5, 7, 4
5. Matricea de adiacent , ˘a a unui graf neorientat cu 2022 de noduri are 300 elemente nenule.
Indicat , i num˘arul minim de componente conexe ale grafului. (4p.)
a) 1722 b) 1872 c) 2005 d) 1840
SUBIECTUL al II-lea (40 de puncte)
Scriet , i pe foaia de examen r˘aspunsul corect pentru fiecare dintre cerint , ele
urm˘atoare.
1. S-a notat cu a%b restul ˆımp˘art , irii num˘arului natural a la num˘arul natural nenul b.
a) Scriet , i valoarea afis , at˘a dac˘a se cites , te
num˘arul 10. (6p.)
b) Scriet , i cel mai mic num˘ar care poate citeste n
fi citit pentru ca x s˘a aib˘a 3 cifre. x<-0
pentru i<-1,n executa
(6p.)
| x<-x+i%10
c) Scriet , i programul C/C++ cores- | daca i%2=0 atunci
punz˘ator algoritmului dat. (6p.) | | x<-x-i
d) Scriet , iˆın pseudocod un algoritm, echi- | |_
valent cu cel dat, ˆınlocuind adecvat |_
structura pentru...execut˘ cu o struc- scrie x
a
tur˘ repetitiv˘ cu test init , ial. (10p.)
a
a
a
2. Variabila c memoreaz˘ date despre o mas , in˘a: culoare s , i data achizit , iei. S , tiind c˘ expresiile
a
C/C++ de mai jos au ca valori numere naturale reprezentˆand culoarea, respectiv data
(ziua, luna s , i anul) achizit , iei produsului, scriet , i definit , ia unei structuri cu eticheta masina,
care permite memorarea datelor precizate pentru o mas , in˘a s , i declarat , i corespunz˘ator
variabila c.
c.culoare c.data.zi c.data.luna c.data.an (6p.)
ˆ
3. In secvent¸a de mai jos, variabila i este de tip ˆıntreg, iar variabilele s s , i t pot memora
a
cˆate un ¸sir cu cel mult 20 de caractere. Scriet¸i ce se afis , eaz˘ pe ecran ˆın urma execut˘arii
secvent¸ei. (6p.)
strcpy(s," BacaLAurEat ");
cout <<strlen(s);
i=0;
while(i<strlen(s))
if(s[i]==’B’)
{ strcpy(t, s+i+1); strcpy(s+i, t);}
else i++;
cout <<s;