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 97

♦ 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. În ce situa ie, secven a urm✂ toare va afi✁ a C C++


pe ecran dou cifre? if(a>b) if(a>b)
printf("1"); cout<<"1";
if(a<b) if(a<b)
printf("2"); cout<<"2";
else else
printf("0"); cout<<"0";
a. Dac✂ a==b b. Dac✂ a>b c. Dac✂ a<b d. Niciodat✂

2. Subprogramul nrcif(i) returneaz✂ num✂ rul de cifre pe care le are num✂rul natural i. Stabili i
valoarea expresiei nrcif( nrcif(173) + nrcif(18) )
a. 5 b. 10 c. 2 d. 1

3. Num✂rul de noduri care au gradul 1 la un arbore cu n noduri este:


a. mai mare sau cel pu in egal cu 2 b. exact n-1
c. exact 1 d. 0 sau 1
C C++
4. ☎ tiind c✂ s-a f✂cut una dintre defini iile de tip
al✂ turate, care din urm✂toarele construc ii typedef struct elev{ struct elev{
este o declarare corect✂ pentru un tablou cu char nume[30]; char nume[30];
10 elemente de tip elev? float nota;}; float nota;};
a. struct elev[10]; b. struct x elev[10];
c. x elev[10]; d. struct elev x[10];

5. Care este num✂ rul minim de muchii pe care trebuie s✂ le con in✂ un graf neorientat cu 9 noduri astfel
încât indiferent de modul în care sunt acestea dispuse, graful s✂ fie conex?
a. 35 b. 29 c. 36 d. 8

6. Pentru defini ia al✂ turat✂ a subprogramului f, long f(int n, int k)


stabili i ce valoare returneaz✂ apelul {long s=0,i;
f(6,3)? if (n==k || k==1) return 1;
if (n<k) return 0;
for(i=1;i<=k;i++) s = s + f(n-k,i);
return s;
}
a. 3 b. 1 c. 2 d. 4

7. Gradul intern pentru nodul cu eticheta i dintr-un graf orientat la care se cunoa✁ te matricea de
adiacen ✂ este egal cu num✂ rul de cifre egale cu 1 aflate pe:
a. linia i b. diagonala principal✂
c. diagonala secundar✂ d. coloana i

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


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

8. Într-o list✂ simplu înl✂n uit✂ nevid✂ , fiecare element re ine în câmpul urm p = prim;
adresa elementului urm✂tor din list✂. Variabilele prim ✁ i p, sunt de tip pointer nr = 0;
astfel declarate încât pot re ine adresa oric✂rui element al listei. ☎tiind c✂ while (...)
variabila prim re ine adresa primului element din list✂, cu ce trebuie înlocuite { nr = nr + 1;
cele trei puncte din secven a al✂ turat✂ astfel încât ea sa calculeze corect în p = p->urm;
variabila nr declarat✂ de tip long, num✂rul de elemente din aceast✂ list✂. };
a. p->urm != NULL b. prim->urm != NULL
c. prim != NULL d. p != NULL

SUBIECTUL II (20 de puncte)


Se consider✂ programul pseudocod al✂turat în care:
- [x] reprezint✂ partea întreag✂ a lui x cite te n (num✂r natural, 1<n)
p 1
- n d reprezint✂ faptul c✂ n e divizibil cu d d 2
┌repetă
1. Ce se va afi✁ a pentru n=20? (5p.)
│ k 0
2. Scrie i o valoare de dou✂ cifre pentru variabila n astfel │ ┌cât timp n d execută
încât rezultatul afi✁ at s✂ fie impar. (2p.) │ │ n [n/d]
Scrie i programul C/C++ corespunz✂tor algoritmului dat. │ │ k k+1
3. │ └■
(10p.)
│ p p*(k+1)
4. Preciza i câte valori exist✂ în intervalul închis
│ d d+1
[20,40]care, dac✂ sunt introduse pentru variabila n,
└până când n=1
rezultatul afi✁at este, de fiecare dat✂, egal cu 2. (3p.) scrie p

SUBIECTUL III (30 de puncte)


1. Scrie i un program care rezolv✂ urm✂ toarea problem✂ : se citesc trei numere reale pozitive. S✂ se
afi✁ eze mesajul DA dac✂ cel pu in unul dintre ele are proprietatea c✂ este egal cu media geometric✂ a
celorlalte dou✂ ✁ i mesajul NU dac✂ nici unul dintre ele nu este egal cu media geometric✂ a celorlalte
dou✂ . (10p.)
2. Se citesc dou✂ numere naturale: n (1≤n≤20) ✁ i k (1≤k≤9). S✂ se scrie un program care s✂
afi✁ eze câte numere naturale care îndeplinesc urm✂ toarele cerin e exist✂ :
- au cel mult n cifre;
- sunt formate numai din cifrele 1 ✁ i 0;
- încep obligatoriu cu cifra 1;
- con in exact k cifre de 1.
Exemplu: pentru n = 4 ✁ i k = 3, programul va afi✁ a valoarea 4 deoarece sunt patru numere care
îndeplinesc cerin ele impuse; acestea sunt 111, 1011, 1101, 1110. Alege i o metod✂ eficient✂
de rezolvare din punct de vedere al timpului de executare. (10p.)
3. a) Scrie i defini ia complet✂ pentru un subprogram cu trei parametri:
- x , o matrice p✂trat✂ cu elemente reale, având maximum 10 linii numerotate de la 0 la 9 ✁ i 10
coloane numerotate de la 0 la 9;
- n , num✂r natural ce reprezint✂ num✂rul efectiv de linii ✁ i de coloane ale matricei x;
- p , num✂r natural, 0≤p≤n-1;
Subprogramul va returna suma elementelor aflate pe linia p a matricei x. (4p.)
b) S✂ se scrie un program care rezolv✂ urm✂ toarele cerin e:
- cite✁ te de la tastatur✂ o valoare natural✂ reprezentând num✂rul de linii ✁ i num✂ rul de coloane ale
unei matrice p✂ tratice, apoi cite✁ te tot de la tastatur✂ elementele reale ale acestei matrice;
- utilizând apeluri ale subprogramului definit la punctul a), scrie în fi✁ ierul text BAC.OUT elementele
din matrice aflate pe linia care are proprietatea c✂ suma elementelor de pe respectiva linie este
maxim✂. În fi✁ ierul text valorile vor fi scrise pe o singur✂ linie, separate printr-un spa iu.
Dac✂ exist✂ mai multe linii care au aceea✁ i sum✂ maxim✂ , se vor scrie elementele uneia dintre ele.
(6p.)

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

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