Documente Academic
Documente Profesional
Documente Cultură
1. Variabilele întregi x şi y memorează numere naturale nenule. Care dintre următoarele expresii C/C++ este
nenulă dacă şi numai dacă numărul obţinut prin însumarea valorilor variabilelor x şi y are ultima cifră 0?
a.1 2 5 13 b.0 1 4 12 c. 2 5 13 d. 1 4 12
4.Care dintre următoarele afirmaţii este adevărată pentru orice graf neorientat G cu 3 noduri şi 3 muchii?
a. este conex b. are două noduri izolate c. nu poate avea cicluri d. are un nod izolat
5.Fie T un arbore cu rădăcină. Arborele are 8 noduri numerotate de la 1 la 8 şi este descris prin următorul
vector „de taţi”: (3,5,0,3,3,5,5,5). Care sunt “fratii” nodului 5?
a. 1 si 4 b. 2,6,7,8 c. 3 d. 4 si 6
SUBIECTUL al II-lea (40 de puncte)
2. Variabila t este utilizată pentru a memora simultan valoarea, numele autorului şi data apariţiei unei cărţi.
Valoarea cărţii este un număr natural de cel mult 3 cifre, data apariţiei este dată de trei numere naturale,
reprezentând ziua, luna şi anul în care a apărut, iar numele autorului nu poate avea mai mult de 20 de litere.
Scrieţi definiţia unei structuri cu eticheta carte şi declaraţi corespunzător variabila t. (6p)
3. Variabila a memorează o matrice cu 10 linii şi 10 coloane, numerotate de la 1 la 10, iar i şi j sunt variabile
întregi cu valori cuprinse între 1 şi 10. Scrieţi o expresie C/C++ care să fie nenulă dacă şi numai dacă elementul
a[i][j] nu se află pe niciuna dintre diagonalele acestei matrice. (6p)
2. Scrieţi un program C/C++ care citeşte de la tastatură un şir de cel mult 50 de caractere (litere mici şi mari ale
alfabetului englez, cifre, puncte, virgule şi spaţii) şi afişează pe o linie a ecranului câte cuvinte conţin cel putin o
cifră, iar pe linia următoare, separate printr-un spaţiu, cuvintele respective sau mesajul NU EXISTA dacă textul
citit nu conține astfel de cuvinte. (10p)
Exemplu: dacă se citeşte şirul:
Voi lua 9,5 la matematica 10 la informatica si 10 la romana
se va afişa pe ecran:
3
9,5 10 10
iar daca se citeste sirul Voi lua o nota mare, se va afisa mesajul NU EXISTA.
3.În fișierul bac.txt se află, pe prima linie, doua numere naturale n şi m (m,n≤106), pe linia a doua, n numere
intregi din intervalul [-104,104], iar pe linia a treia m numere naturale mai mici sau egale cu n, reprezentând o
poziţie oarecare i din şirul celor n numere. Se cere să se afișeze pe ecran, separate printr-un spaţiu, m numere
s1, s2, ..., sm, unde si reprezintă suma primelor i numere întregi din fisierul bac.txt. Proiectați un algoritm eficient
din punct de vedere al timpului de executare.
Ex. Daca fişierul bac.txt are următoaru conţinut:
73
12 -3 1 22 108 -11 36
362
se va afișa pe ecran: 10 129 9
a) Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b) Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)