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)
execut✂rii subprogramului al✂turat, 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 înl✂turate 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 neap✂rat 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 r✂mâ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 ✂ corespunz✂toare 0 1 0 0 0 0
nodului 6, pentru graful orientat reprezentat prin matricea 0 0 1 0 0 1
de adiacen ✂ al✂turat✂ . 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 urm✂toarele 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 num✂rului 0" poate fi implementat✂
prin:
a. O structur✂ repetitiv✂ cu num✂r necunoscut de pa✁ i b. O structur✂ alternativ✂
c. O structur✂ repetitiv✂ cu num✂r 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 num✂rului natural x la num✂rul ✂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
✄ ✄ altfel
2. Ce valoare trebuie introdus✂ pentru variabila x dac✂ valoarea y y – 1
citit✂ pentru y este 4 ✁ i algoritmul afi✁ eaz✂ 256? (3p.)
✄ ✄
✄ p p * x

3. Scrie i programul C/C++ corespunz✂tor 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 descresc✂tor 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 num✂r 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