Sunteți pe pagina 1din 2

Ministerul Educa iei ✁ i Cercet✂ rii - Serviciul Na ional de Evaluare ✁ i Examinare

EXAMENUL DE BACALAUREAT – 2007


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Varianta 96

♦ Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


♦ Timpul efectiv de lucru este de 3 ore.
♦ În programele cerute la subiectele II i III, identificatorii utiliza i trebuie s respecte
preciz rile din enun (bold), iar în lipsa unor preciz ri explicite, nota iile trebuie s
corespund cu semnifica iile asociate acestora (eventual în form prescurtat ).

SUBIECTUL I (40 de puncte)


Pentru fiecare din itemii de la 1 la 8, scrie i pe foaia de examen litera corespunz toare
r spunsului corect. Fiecare r spuns corect se noteaz cu 5 puncte.
1. ☎tiind c✂ variabila g este utilizat✂ pentru a memora ✁ i utiliza în calcule valoarea accelera iei
gravita ionale (cu dou✂ zecimale), atunci declararea corect✂ a variabilei g este:
a. long g[2]; b. int g; c. float g; d. int g[2];
2. Pentru defini ia al✂ turat✂ a subprogramului f, long f(int x, int y)
stabili i ce valoare returneaz✂ apelul {if (x==y || x==0) return 1;
f(8,10)? else
return f(x,y-1) + f(x-1,y-1);
}
a. 50 b. 45 c. 40 d. 55
3. Pentru care dintre urm✂toarele C C++
valori ale variabilei x secven a de if (x>0) if (x>0)
if(x<3) if(x<3)
program al✂turat✂ afi✁ eaz✂ mesajul
printf("DA"); cout<<"DA";
NU: else printf("NU"); else cout<<"NU";
a. 3 b. 1 c. 2 d. 0

4. Subprogramul cifmax(i) returneaz✂ cea mai mare cifr✂ a num✂ rului i. Stabili i valoarea expresiei
cifmax(cifmax(173)+cifmax(18))
a. 8 b. 7 c. 15 d. 5
struct elev{
5. ☎ tiind c✂ s-au f✂ cut declar✂ rile al✂ turate,
char nume[30];
stabili i care dintre urm✂toarele expresii este
float nota;} a[100];
corect✂ din punct de vedere sintactic?
a. elev[1].nota b. a[1].nota[1] c. a.nota[1] d. a[1].nota

6. Câte muchii are un graf neorientat complet cu 8 vârfuri ? (Un graf neorientat este complet dac✂
oricare dou✂ vârfuri ale sale sunt adiacente.)
a. 7 b. 64 c. 36 d. 28

7. Care dintre urm✂toarele arce trebuie ad✂ ugat unui graf orientat cu 5 0 1 0 1 0
noduri ✁ i cu matricea de adiacen ✂ al✂turat✂ astfel încât în acest graf 0 0 1 0 0
s✂ existe cel pu in un drum între oricare dou✂ vârfuri? 0 0 0 0 0
0 0 0 0 1
1 0 0 0 0
a. (3 , 5) b. (4 , 1) c. (5 , 3) d. (3 , 2)

8. Un elev realizeaz✂ un program care cite✁ te o valoare natural✂ pentru o variabil✂ n ✁ i apoi genereaz✂
✁i afi✁ eaz✂ toate permut✂rile mul imii 1,2,...,n. Rulând programul pentru n=3, permut✂ rile apar în
urm✂ toarea ordine: 3 2 1, 3 1 2, 2 3 1, 2 1 3, 1 3 2, 1 2 3. Dac✂ va rula din
nou programul ✁ i va introduce pentru variabila n valoarea 5, imediat dup permutarea 4 1 2 3 5,
programul va afi✁ a permutarea:
a. 3 5 4 2 1 b. 4 5 3 2 1 c. 4 1 2 5 3 d. 3 5 4 3 2

INFORMATIC✄, limbajul C/C++ 1 Varianta 96


Ministerul Educa iei ✁ i Cercet✂ rii - Serviciul Na ional de Evaluare ✁ i Examinare

SUBIECTUL II (20 de puncte)


Se consider programul pseudocod al turat ✁pentru i=1,10 execut
în care s-a folosit nota ia [x] pentru partea întreag✂ a ✂
lui x . ✄☎ ai = 2*i
cite ✆te c (num✂r întreg)
1. Ce se va afi✁ a pentru c=8? (5p.)
s 1 ; d 10 ; g 0 ; k 0
Scrie i o valoare strict pozitiv✂ de o cifr✂ pentru ✁repet
2. ✂
variabila c astfel încât dac✂ se cite✁ te aceast✂ ✂ m [(s+d)/2]
valoare, programul afi✁ eaz✂ valorile 0 i 4. ✂✁k k+1
(2p.) ✂✂dac c=am atunci g 1
3. Scrie i programul pseudocod care s✂ fie ✂✂ altfel

echivalent cu algoritmul dat ✁ i care s✂ ✂✂ ✂dac c<am atunci d m-1
foloseasc✂ o structur✂ repetitiv✂ cu test ini ial în ✂✂ ✄ altfel s m+1

locul structurii repetitive repet ...pan ✂✄☎
când. (3p.) ✄☎
pân când g=1 sau s>d
4. Scrie i programul C/C++ corespunz✂ tor scrie g,k
algoritmului dat. (10p.)

SUBIECTUL III (30 de puncte)


1. Scrie i un program care rezolv✂ urm✂toarea problem✂ : se citesc de la tastatur✂ dou✂ numere naturale
distincte, fiecare de maximum 7 cifre. S✂ se afi✁ eze câtul ✁ i restul împ✂ r irii celui mai mare dintre cele
dou✂ numere la cel mai mic dintre cele dou✂ numere. Dac✂ împ✂r irea nu se poate efectua, se va
afi✁ a mesajul EROARE. (10p.)
2. Scrie i declar✂rile de tipuri necesare ✁ i defini ia complet✂ a unei func ii elim2, cu un parametru,
func ie care:
– prime✁ te prin intermediul parametrului p adresa primului element al unei liste simplu înl✂ n uite
alocat✂ dinamic ce re ine ca informa ii utile valori naturale de cel mult 6 cifre fiecare;
– dac✂ lista are cel pu in dou✂ elemente, elimin✂ al doilea element al listei ✁ i returneaz✂ valoarea ce
fusese re inut✂ de elementul eliminat, iar dac✂ lista nu are cel pu in dou✂ elemente, returneaz✂
valoarea -1 . (10p.)
3. a) Scrie i defini ia complet✂ pentru un subprogram care prime✁ te prin singurul s✂u parametru un
num✂ r natural nenul de maximum 4 cifre ✁ i care returneaz✂ valoarea 1 dac✂ num✂ rul transmis ca
parametru are un num✂ r impar de divizori ✁ i 0 dac✂ acesta are un num✂r par de divizori. Alege i o
metod✂ eficient✂ de rezolvare. (4p.)
b) Pe prima linie a fi✁ ierului text BAC.TXT se afl✂ un num✂r natural n de cel mult 6 cifre; a doua linie
a fi✁ ierului con ine n valori naturale de cel mult 3 cifre fiecare, cu spa ii între ele. Scrie i un program
C/C++ care determin✂ valorile de pe a doua linie a fi✁ ierului care au un num✂ r impar de divizori ✁ i
afi✁ eaz✂ , cu exact dou✂ zecimale, media aritmetic✂ a valorilor determinate. Dac✂ nu exist✂ nicio
valoare cu proprietatea cerut✂ , se va afi✁ a mesajul NU EXISTA. În program se vor folosi în mod util
apeluri ale subprogramului definit la a).
De exemplu, dac✂ fi✁ ierul BAC.TXT are urm✂torul con inut:
6 prima linie
1 10 3 14 196 90 a doua linie
programul va afi✁ a valoarea 98.50 deoarece pe a doua linie a fi✁ ierului se afl✂ dou✂ numere care au
un num✂r impar de divizori ✁ i anume 1 ✁ i 196, iar media lor aritmetic✂ este 98.5 . (6p.)

INFORMATIC✄, limbajul C/C++ 2 Varianta 96

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