Sunteți pe pagina 1din 4

VARIANTA 15 - SUBIECTUL 1 (30p)

Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.

1. Stabiliţi care dintre următoarele expresii Pascal/C/C++ are valoarea true/1 dacă şi numai dacă
numărul întreg memorat în variabila z, nuaparţine intervalului (-20,20)U[35,150]. (4p.)

Limbajul C/C++

a. (z<-20)||((z<=34)||(z>=20))||(z>150)

b. (z<-20)||((z<=35)&&(z>=20))||(z>=150)

c. (z<-20)||((z<34)&&(z>20))||(z>150)

d. (z<=-20)||((z<=34)&&(z>=20))||(z>150)

2. Se consideră algoritmul următor reprezentat în pseudocod:


S-a notat cu x%y restul împărţirii numerel întregi x şi y, respectiv cu [a] partea întreagă a numărului
real a.

a) Scrieţi ce se va afişa dacă se citesc, în această ordine, numerele 6, 171, 22, 18, 862, 52,
353? (6p.)

b) Scrieţi un şir de numere ce pot fi citite astfel încât valoarea afişată să fie 0. (4p.)

c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască


structura pentru... execută cu o structură repetitivă cu test iniţial. (6p.)

d) Scrieţi programul Pascal/C/C++ corespunzător algoritmului dat. (10p.)


VARIANTA 15 - SUBIECTUL 2 (30p)

Pentru itemii 1 şi 2, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.

1. Fie variabila s care memorează şirul de caractere BACALAUREAT. Care


dintre următoarele expresii au ca valoare caracterul T? (4p.)

Limbajul C/C++

a. s[strlen(s)-2]
b. s[strlen(s)-4]
c. s[4]
d. s[strlen(s)-1];

2. Câte dintre vârfurile grafului neorientat G, reprezentat prin matrice a de


adiacenţă de mai jos, au gradul un număr impar?

a. 3 b. 5 c. 2 d. 4

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.

3. Se consideră un arborele cu rădăcină, cu 11 vârfuri numerotate de la 1 la 11, descris prin


următorul vector de "taţi":(6,5,2,5,0,3,3,3,8,7,7). Scrieţi descendenţii direcţi ai
rădăcinii şi apoi numărul de frunze ale arborele dat. (6p.)

4. Se consideră tipul de date elev, dat prin declararea următoare. Scrieţi o secvenţă de
instrucţiuni în urma executării căreia câmpul calificativ al variabilei x să memoreze unul din
şirurile de caractere: FOARTE BINE, dacă media aritmetică a câmpurilor nota1 şi nota2este
mai mare sau egală cu 9, BINE, dacă media aritmetică a câmpurilor nota1 şi nota2 este strict
mai mică decât 9 şi mai mare sau egală cu 8, respectiv SUFICIENT, dacă media aritmetică a
câmpurilor nota1 şi nota2 este mai mică decât 8. (6p.)

Limbajul C/C++

5. Scrieţi un program care citeşte de la tastatură un număr natural n (1≤n≤50), apoi elementele
unei matrice cu n linii şi n coloane, numere întregi din intervalul [-100,100] şi afişează pe ecran
media aritmetică a elementelor strict pozitive, situate pe linii pare, sub diagonala secundară în
matricea dată. Dacă nu există elemente strict pozitive pe linii pare sub diagonala secundară, se
va afişa mesajul "NU EXISTA".
Exemplu: pentru n=4 şi matricea de mai jos

se afişează valoarea 3 (sunt luate în considerare la calculul mediei doar elementele


marcate, (2+4)/2=3).
(10p.)
VARIANTA 15 - SUBIECTUL 3 (30p)

Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.

1. Utilizând metoda backtracking se generează numerele formate din câte 3 cifre distincte din
mulţimea {2,4,6,8}. Dacă primele trei numere generate sunt, în acestă
ordine: 246, 248, 264, care este cel de-al patrulea număr generat? (4p.)

a. 426 b. 284 c. 268 d. 468

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.

2. Considerăm subprogramul f definit mai jos:

Limbajul C/C++

a) Ce valoare are f(6,12)? (3p.)


b) Dar f(20,6)? (3p.)

3. a) Scrieţi definiţia completă a subprogramului p care primeşte prin intermediul


parametrului n un număr natural nenul (n≤50), iar prin intermediul parametrului a un tablou
unidimensional cu n componente întregi, de maximum cinci cifre fiecare. Subprogramul
furnizează prin intermediul parametrului max valoarea maximă din tabloul a, prin intermediul
parametrului imax indicele valorii maxime din a, iar prin intermediul parametrului sum suma
elementelor din tabloul a. (6p.)
b) Scrieţi un program care citeşte de la tastatură o valoare naturală nenulă n, (3≤n≤50), apoi
cele n elemente, distincte, ale unui tablou unidimensional x. Fiecare dintre aceste elemente
este un număr natural având cel mult cinci cifre. Folosind apeluri utile ale subprogramului p,
programul calculează şi afişează pe ecran media aritmetică a elementelor care ar rămâne în
tabloul x dacă s-ar elimina valoarea maximă, iar pe poziţia elementului maxim s-ar insera
valoarea 1. Valoarea cerută se va afişa cu 2 zecimale.
Exemplu: dacă se citesc pentru n valoarea 5, iar pentru
tabloul x valorile (10,8,14,7,5), programul va
afişa 6.20(deoarece 10+8+7+5+1)/5=6.20). (4p.)

4. Se consideră fişierul BAC.TXT ce conţine pe prima linie un număr natural n (10≤n≤1000000) şi


pe a doua linie un şir descrescător cu numere naturale de cel mult nouă cifre fiecare,
separate prin câte un spaţiu.
a) Să se scrie un program care, folosind un algoritm eficient din punct de vedere al memoriei
utilizate şi al timpului de executare, citeşte din fişier toţi termenii şirului şi afişează toate
perechile distincte de termeni distincţi alăturaţi ai şirului dat care au valori mai mici strict
decât n. Perechile se vor scrie pe ecran, câte cinci perechi pe o linie, separate prin câte un
spaţiu, iar pe ultima linie se vor scrie atâtea perechi câte mai rămân. (8p.)
Exemplu: dacă fişierul BAC,TXT are următorul conţinut
334
2289 22890 22890 356 356 321 321 321 234 234 57 57 57 40 35 32 23 12
Programul va afişa pe ecran:
(321,234) (234,57) (57,40) (40,35) (35,32)
(32,23) (23,12)
b) Descrieţi în limbaj natural metoda de rezolvare folosită explicând în ce constă eficienţa ei (3-
4 rânduri). (2p.)

S-ar putea să vă placă și