Sunteți pe pagina 1din 3

Ministerul Educaiei, Cercetrii, Tineretului i Sportului Centrul Naional de Evaluare i Examinare

Examenul de bacalaureat 2010 Proba E-d) Proba scris la INFORMATIC Limbajul C/C++ Specializarea matematic informatic, intensiv informatic Varianta 8
Toate subiectele (I, II i III) sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat).

SUBIECTUL I
1. a. c.

(30 de puncte)

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. Se consider definite trei variabile de tip int: x, y i z. O expresie C/C++ care are valoarea 1 dac i numai dac x, y i z au valori identice este: (4p.) x==y && x==z b. x==y==z x==y || x==z || y==z d. !( x!=y && x!=z) citete n (numr natural nenul) s 0 pentru i 1,n execut Scriei numrul afiat n urma executrii a 0 algoritmului dac pentru n se citete b 1 valoarea 6. (6p.) j 1 Scriei o valoare care poate fi citit ct timp j<i execut pentru n astfel nct s se afieze r 2*b-a valoarea 55. (4p.) a b b r Scriei n pseudocod un algoritm, j j+1 echivalent cu cel dat, care s conin o singur structur repetitiv. (6p.) s s+b Scriei programul C/C++ corespunztor algoritmului dat. (10p.) scrie s

2. Se consider algoritmul alturat descris n pseudocod. a)

b)

c)

d)

1 Prob scris la INFORMATIC Specializarea matematic-informatic, intensiv informatic

Varianta 8 Limbajul C/C++

Ministerul Educaiei, Cercetrii, Tineretului i Sportului Centrul Naional de Evaluare i Examinare

SUBIECTUL al II-lea

(30 de puncte)

Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. a. 2. Se consider un graf neorientat cu 6 noduri i 9 muchii. Numrul de muchii ce trebuie adugate, pentru ca graful obinut s fie complet, este: (4p.) 5 b. 6 c. 12 d. 15 Se consider secvena de instruciuni alturat, strcpy(s,"bacalaureat"); n care variabilele i i j sunt de tip ntreg, j=strlen(s); variabila a este de tip char, iar variabila s poate for(i=0;i<3;i++) if(s[i]!=s[j-i-1]) memora un ir de cel mult 20 de caractere. irul { a=s[i]; afiat n urma executrii secvenei este: (4p.) s[i]=s[j-i-1]; s[j-i-1]=a; } cout<<s; | printf("%s",s); bacalaureab b. tacalaureab c. tacrlauaeab d. taealaurcab

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un arbore cu rdcin avnd 8 noduri, numerotate de la 1 la 8, i muchiile [1, 2], [1, 3], [2, 4], [3, 5], [3, 6], [6, 7], [6, 8]. Considernd c rdcina este nodul numerotat cu 1 i c ea este situat pe nivelul 0 al arborelui, scriei toate nodurile situate pe nivelul 2 al arborelui dat. (6p.) Variabilele e1 i e2, declarate alturat, memoreaz numele i data naterii pentru cte un elev. tiind c cei doi elevi sunt nscui n ani diferii, scriei secvena de instruciuni care afieaz pe ecran numele elevului de vrst mai mare. (6p.) struct data_n { int an, luna, zi; }; struct elev{ char nume[20]; data_n d; } e1, e2;

4.

5.

Scriei un program C/C++ care citete de la tastatur un numr natural, n (2n20), i construiete n memorie tabloul bidimensional cu n linii i n coloane, avnd proprietile: toate elementele situate pe diagonala principal sunt nule; fiecare linie conine, ncepnd cu diagonala principal, de la dreapta la stnga, un ir strict cresctor de numere consecutive, iar ncepnd cu diagonala principal, de la stnga la dreapta, tot un ir strict cresctor de numere consecutive. Programul afieaz pe ecran tabloul construit, fiecare linie a tabloului pe 0 1 2 3 4 cte o linie a ecranului, cu elementele aflate pe aceeai linie separate prin 1 0 1 2 3 2 1 0 1 2 cte un spaiu. Exemplu: dac n=5 se afieaz pe ecran tabloul alturat. (10p.) 3 2 1 0 1 4 3 2 1 0

2 Prob scris la INFORMATIC Specializarea matematic-informatic, intensiv informatic

Varianta 8 Limbajul C/C++

Ministerul Educaiei, Cercetrii, Tineretului i Sportului Centrul Naional de Evaluare i Examinare

SUBIECTUL al III-lea
1.

(30 de puncte)

Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. Utiliznd metoda backtracking se genereaz toate numerele pare cu cte trei cifre, cifre care aparin mulimii {7, 8, 1, 6, 2, 3}. Primele 4 soluii generate sunt, n aceast ordine: 778, 776, 772, 788. Cea de a 8-a soluie generat este: (4p.) 712 b. 716 c. 718 d. 782

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Scriei dou numere naturale din intervalul deschis (20,30), care pot fi memorate n variabilele ntregi x1, i respectiv x2, astfel nct valoarea lui f(x1,3) s fie 29, iar valoarea lui f(3,x2) s fie 1. (6p.) Se consider irul s, alturat. construit dup regula int f(int a, int b) { if(a>=b) return (a-b)+f(a/b,b); return 1; }

3.

Subprogramul sir primete prin parametrul n un numr natural (3<n<20) i furnizeaz prin parametrul a un tablou unidimensional care memoreaz primii n termeni ai irului s, definit dup regula de mai sus, astfel nct numerele impare s ocupe primele poziii n tablou, iar cele pare s fie memorate n continuarea celor impare. Scriei definiia complet a subprogramului sir. Exemplu: dac n=6, primii ase termeni ai irului sunt 1, 1, 2, 5, 13, 34, iar, dup apel, tabloul construit poate fi (1,1,5,13,2,34). (10p.) 4. Fiierul bac.in conine pe prima linie un numr natural n (3<n<1000), iar pe urmtoarea linie, un ir de n numere naturale distincte, de cel mult nou cifre fiecare. Numerele din ir sunt separate prin cte un spaiu i cel puin trei dintre ele au ultima cifr egal cu 5. a) Scriei un program C/C++ care citete toate numerele din fiier i, utiliznd un algoritm eficient din punct de vedere al timpului de executare i al memoriei utilizate, determin i afieaz pe ecran cele mai mari trei numere din ir care au ultima cifr egal cu 5. Numerele determinate sunt afiate n ordine cresctoare, separate prin cte un spaiu.(6p.) Exemplu: dac fiierul bac.in are coninutul 10 alturat, pe ecran se vor afia, n aceast ordine, 97 5 11 1 8 6 85 3 25 15 numerele: 15 25 85 b) Descriei succint, n limbaj natural (3-4 rnduri), algoritmul utilizat la punctul a) i justificai eficiena acestuia. (4p.)

3 Prob scris la INFORMATIC Specializarea matematic-informatic, intensiv informatic

Varianta 8 Limbajul C/C++