0% au considerat acest document util (0 voturi)
10 vizualizări2 pagini

Varianta 2

Documentul conține informații despre proba scrisă la informatică pentru examenul de bacalaureat din 2007 în România. Sunt prezentate trei subiecte care vizează rezolvarea unor probleme de programare și algoritmica folosind limbajele C sau C++.

Încărcat de

Deco Soft
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
10 vizualizări2 pagini

Varianta 2

Documentul conține informații despre proba scrisă la informatică pentru examenul de bacalaureat din 2007 în România. Sunt prezentate trei subiecte care vizează rezolvarea unor probleme de programare și algoritmica folosind limbajele C sau C++.

Încărcat de

Deco Soft
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

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 2

♦ 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. Folosind modelul combin✂ rilor, se genereaz✂ cuvinte cu câte dou✂ litere distincte din mul imea
{i,t,e,m} ob inându-se, în ordine: it, ie, im, te, tm, em. Dac✂ se utilizeaz✂ exact aceea✁ i
tehnic✂ pentru a genera cuvinte cu patru litere distincte din mul imea {i,t,e,m,a,x}, atunci
num✂rul de cuvinte generate care încep cu litera t este:
a. 24 b. 12 c. 16 d. 4
2. Se consider✂ un graf orientat cu 6 noduri numerotate cu 1, 2,...,6 ✁ i cu mul imea arcelor format✂
doar din arcele:
• de la fiecare nod numerotat cu un num✂ r neprim i (i>1) la toate nodurile numerotate cu
numere ce apar in mul imii divizorilor proprii ai lui i (divizori diferi i de 1 ✁ i de i);
• de la nodul numerotat cu 1 la nodul numerotat cu 2;
• de la fiecare nod numerotat cu un num✂r prim i la nodul numerotat cu i+1.
Stabili i care este num✂rul de circuite elementare distincte con inute de graful din enun . (Dou✂
circuite sunt distincte dac✂ difer✂ prin cel pu in un arc).
a. 1 b. 2 c. 3 d. 0
3. Se consider✂ un graf neorientat cu nodurile: 1,2,3,4,5,6,7,8 ✁ i muchiile: [1,3], [1,7],
[2,6], [3,7], [5,2], [5,6], [8,4]. Care este num✂rul minim de muchii ce pot fi ad✂ugate
astfel încât graful s✂ devin✂ conex?
a. 0 b. 2 c. 3 d. 4
4. În secven a de instruc iuni al✂ turat✂, variabila s for(i=0;i<strlen(s);i++)
memoreaz✂ un ✁ ir de caractere, iar variabila i este de printf("%c*",s[i]);
tip int. ☎tiind c✂ în urma execut✂rii secven ei s-a /cout<<s[i]<<'*';
afi✁ at succesiunea de caractere p*r*o*b*a***e*
stabili i care este ✁ irul de caractere memorat de
variabila s.
a. proba*e b. *p*r*o*b*a***e c. probae d. p*r*o*b*a*e*
5. ☎ tiind c✂ variabilele a ✁ i b sunt utilizate pentru a memora dou✂ numere naturale cu cel pu in dou✂
cifre fiecare, stabili i care dintre instruc iunile de mai jos determin✂ , în urma execut✂rii, ini ializarea
variabilei m cu cifra zecilor a num✂rului ob inut prin adunarea numerelor memorate în a ✁ i b.
a. m=a%100/10+b%100/10; b. m=(a+b)%100;
c. m=(a+b)/10%100; d. m=(a+b)%100/10;
6. În secven a de instruc iuni al✂ turat✂, n ✁ i y sunt variabile întregi. n=156; y=770;
Valoarea variabilei y la finalul execut✂rii secven ei este: while(n*y>0)
if (n>y) n=n%y;
else y=y%n;
y=y+n;
a. 13 b. 0 c. 2 d. 4
7. Într-o list✂ simplu înl✂ n uit✂ , cu cel pu in patru elemente, fiecare element re ine în câmpul urm adresa
elementului urm✂tor din list✂ . Dac✂ p, q ✁ i r sunt adresele a trei elemente din list✂ astfel încât
q==p->urm->urm ✁ i r->urm==p->urm->urm atunci ordinea logic✂ a elementelor în list✂
(elementele fiind identificate prin adrese) este:
a. q, r, p b. r, q, p c. p, r, q d. p, q, r

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


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

8. Pentru defini ia al✂turat✂ a subprogramului void ex(int x)


ex, stabili i ce se afi✁ eaz✂ la apelul { printf("%d",x%10); /cout<<x%10;
ex(120)? if(x!=0) ex(x/10);
}
a. 0120 b. 021 c. 210 d. 0210

SUBIECTUL II (20 de puncte)


Se consider programul pseudocod al turat: cite te n
1. Ce se va afi✁ a pentru n=8? (5p.) {num✂ r natural nenul}
2. s 0
Scrie i o valoare strict pozitiv✂ pentru variabila n astfel încât s✂
x 2
se afi✁ eze valoarea 132? (4p.)
┌pentru i 1,n execută
3. Scrie i programul pseudocod care s✂ fie echivalent cu │ s s+x
algoritmul dat ✁ i care s✂ nu con in✂ nicio structur✂ repetitiv✂ . │ x x+2
(3p.) └■
4. Scrie i programul C sau C++ corespunz✂ tor algoritmului dat. scrie s
(8p.)

SUBIECTUL III (30 de puncte)


1. Scrie i programul C sau C++ care construie✁ te în memorie o matrice p✂ tratic✂ cu n linii ✁ i n coloane
format✂ numai din valori 0,1 ✁ i 2 astfel încât elementele de pe diagonala secundar✂ ✁ i cea principal✂
s✂ fie egale cu 0, elementele situate între diagonalele matricei, în partea superioar✂ ✁ i inferioar✂ a
acesteia, s✂ fie egale cu 1, iar restul elementelor din matrice s✂ fie egale cu 2. Valoarea lui n (num✂r
natural, 2<n<23) se cite✁ te de la tastatur✂, iar matricea se va afi✁ a pe ecran, câte o linie a matricei pe
câte o linie a ecranului, cu spa ii între elementele fiec✂ rei linii (ca în exemplu).
De exemplu, pentru n=5 se construie✁te în memorie ✁i se afi✁ eaz✂ matricea:
0 1 1 1 0
2 0 1 0 2
2 2 0 2 2
2 0 1 0 2
0 1 1 1 0 (10p.)
2. Realiza i urm✂ toarele cerin e utilizând limbajul C/C++:
a) Scrie i defini ia complet✂ a unei func ii nr cu doi parametri, func ie care:
• prime✁ te prin intermediul parametrilor a ✁ i b dou✂ numere reale;
• returneaz✂ num✂rul de numere întregi cuprinse între valorile parametrilor a ✁ i b, inclusiv.
De exemplu, pentru valorile 10.5 ✁ i 7 ale parametrilor a ✁ i b, func ia va returna valoarea 4 deoarece
între valorile 7 ✁ i 10.5 sunt 4 numere întregi: 7, 8, 9 ✁ i 10. (4p.)
b) Scrie i programul în care se citesc de la tastatur✂ numerele naturale nenule a ✁ i k
(a∈
∈[1000,9999], 4 ≤ k ≤ 9) ✁ i în care se determin✂ câte numere naturale de câte k cifre se
divid cu a, folosind apeluri ale subprogramului nr. Programul va afi✁ a pe ecran num✂rul de numere
determinat.
De exemplu, dac✂ a=2007 ✁ i k=4, atunci num✂ rul afi✁ at este 4, deoarece sunt 4 numere de 4 cifre
care se divid cu 2007 (2007, 4014, 6021, 8028). (6p.)
Observa ii: Concep ia prelucr✂ rilor de la a) ✁ i b) trebuie s✂ aib✂ în vedere criteriul de eficien ✂ privind
timpul de executare; dac✂ se rezolv✂ corect cerin a b) f✂ r✂ a se utiliza apeluri ale func iei definite la
a), se va acorda un punctaj partial.
3. Scrie i programul C sau C++ care cite✁ te de la tastatur✂ un ✁ ir de cel mult 30 de caractere ✁ i creeaz✂
fi✁ ierul text [Link] ce con ine ✁ irul de caractere dat ✁ i toate sufixele acestuia de lungime cel pu in
1, fiecare pe câte o linie, în ordinea cresc✂ toare a lungimii sufixelor, aliniate la stânga. De exemplu,
dac✂ se cite✁ te ✁ irul teste, atunci [Link] va con ine:
e
te
ste
este
teste (10p.)

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

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