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 73

♦ 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. Câte caractere „*” se vor afi a în urma void Scrie(int i, int j)
executrii subprogramului alturat, la {if(i <= 3)
apelul Scrie(1,1)? if(j <= i)
{ printf("*");|cout<<'*';
Scrie(i, j+1);
}
else Scrie(i+1, 1);
}
a. 5 b. 6 c. 3 d. 10
2. Se consider graful neorientat cu 7 noduri  i muchiile: [1,2], [1,4], [1,5], [1,7], [2,3],
[2,7], [3,4], [3,5], [3,7], [4,5], [5,6], [6,7].Care este num rul minim de muchii ce
trebuie înlturate din graf astfel încât s devin eulerian?
a. 3 b. 2 c. 1 d. 4
3. Într-o list liniar simplu înl n uit fiecare element re ine în int nr = 0;
câmpul urm adresa urm torului nod din list , iar în câmpul while(p->urm->info!=0&&p)
info un num r întreg. Adresa primului nod al listei este {
memorat în variabila p. Dac în list sunt memorate în p = p->urm;
aceast ordine numerele 7, 8, 9, 2, 0, 2, 9, 8, nr++;
}
7, ce se va afi a în urma execut rii secven ei de program
printf(“%d”,nr);|cout<<nr;
al turate?
a. 5 b. 2 c. 4 d. 3
4. Un program genereaz toate cuvintele ob inute prin permutarea literelor unui cuvânt dat. Astfel,
pentru un cuvânt cu 6 litere (nu neaprat distincte) L1L2L3L4L5L6, cuvintele se genereaz în ordinea
lexicografic a permut rilor literelor: L1L2L3L4L5L6, L1L2L3L4L6L5, L1L2L3L5L4L6, L1L2L3L5L6L4,
L1L2L3L6L4L5,etc. tiind c se aplic aceast metod pentru cuvântul examen, care cuvânt trebuie
eliminat din urmatoarea secven  astfel încât cele care rmân s reprezinte o succesiune corect de
cuvinte generate succesiv prin acest procedeu?
exemna, exenam, exenma, exname, exnaem, exeman, exnmae
a. exeman b. exenma c. exnaem d. exnmae
5. Preciza i care este lista de adiacen  corespunztoare 0 1 0 0 0 0
nodului 6, pentru graful orientat reprezentat prin matricea 0 0 1 0 0 1
de adiacen  alturat . 0 1 0 1 0 1
0 0 1 0 1 0
0 0 0 0 0 1
1 0 1 1 0 0
a. 1, 3, 4 b. 1, 3, 5 c. 2, 3, 5 d. 2, 3, 4
6. Care dintre urmtoarele expresii testeaz dac un num r natural, strict pozitiv n, are ultima cifr
egal cu 0 sau 5?
a. n > 0 && (!(n % 10) || !(n % 5)) b. n > 0 && !(n % 10) && !(n % 5)
c. n > 0 && ((n % 10) || (n % 5)) d. n > 0 && (n % 10) && (n % 5)
7. Cerin a "cite te mai multe numere naturale pâna la întâlnirea numrului 0" poate fi implementat
prin:
a. O structur repetitiv cu numr necunoscut de pa i b. O structur alternativ
c. O structur repetitiv cu numr cunoscut de pa i d. Nu se poate implementa

INFORMATIC, limbajul C/C++ 1 Varianta 73


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

8. Ce se va afi a în urma execu iei secven ei de cod p = 1;


al turate, pentru n = 6, dac n  i p sunt for (i = n; i > 1; i--) p *= i;
variabile de tip întreg ? printf("%d", p); | cout << p;
a. 20 b. 120 c. 720 d. 21

SUBIECTUL II (20 de puncte)


Se consider programul pseudocod al turat: cite te x, y
p  1
S-a notat cu x%y restul împ r irii numrului natural x la numrul cât timp y >
  0 execut
natural nenul y:  dac y % 2 = 0 atunci
  y  y – 2
1. Ce se afi eaz dac x = 2  i y = 9? (7p.)   p  p * x * x

2. Ce valoare trebuie introdus pentru variabila x dac valoarea   altfel


  y  y – 1
citit pentru y este 4  i algoritmul afi eaz 256? (3p.)
  p  p * x
3. Scrie i programul C/C++ corespunztor algoritmului dat. (8p.) 

4. Scrie i un algoritm pseudocod echivalent cu cel dat în care s scrie p
nu se utilizeze nicio structur dac . (2p.)

SUBIECTUL III (30 de puncte)


1. Scrie i un program C/C++ care cite te de la tastatur un num r natural n (2 <= n <= 100), apoi
n numere naturale de cel mult 9 cifre fiecare  i afi eaz numerele ordonate descresctor dup
suma cifrelor. Dac dou sau mai multe numere au aceea i sum a cifrelor, vor fi afi ate în ordinea în
care au fost citite.
Pentru n = 6  i numerele 124 800 7000 578004 789 312 se va afi a 578004 789 800 124
7000 312. (10p.)
2. a) Scrie i defini ia subprogramului Schimba, cu doi parametri întregi a  i b, care la apelul
Schimb (x,y) realizeaz interschimbarea valorilor variabilelor întregi x  i y. (4p.)
b) Scrie i programul care cite te de la tastatur un numr natural n (0<n<101), apoi elementele
unei matrice p tratice de ordinul n, cu elemente numere întregi  i care interschimb pe fiecare linie
elementul aflat pe diagonala principal cu cel aflat pe diagonala secundar, folosind apeluri ale
subprogramului Schimb . Afi a i pe ecran matricea astfel ob inut . (6p.)

1 2 3 4 4 2 3 1
   
5 6 7 8 5 7 6 8
De exemplu pentru n = 4  i matricea  se ob ine  9 11 10 12 .
9 10 11 12
   
 13 14 15 16   16 14 15 13 
   
3. În fi ierul text NUMERE.IN, pe prima linie se afl trei numere naturale n, a  i b (0<n<=1000, a<b)
separate prin câte un spa iu, iar pe linia a doua n numere naturale desp r ite prin câte un spa iu.
Scrie i programul care cite te datele din fi ierul NUMERE.IN  i scrie în fi ierul text NUMERE.OUT
numerele de pe linia a doua a fi ierului de intrare care se g sesc în afara intervalului deschis (a,b).
Numerele vor fi scrise pe o singur linie în fi ierului de ie ire separate prin câte un spa iu. (10p.)

INFORMATIC, limbajul C/C++ 2 Varianta 73

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