Sunteți pe pagina 1din 3

Ministerul Educaiei, Cercetrii i Inovrii Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2009 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic intensiv informatic Toate subiectele 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 (30 de puncte) - Varianta 039 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este numrul total de atribuiri efectuate la executarea x=4; y=6; secvenei de instruciuni alturate? (4p.) while (y==6) y=y+1; if (x==y) x=x+1; b. 3 c. 2 d. 5

a. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) b) citete n (numr natural) nr 0 p 1 ct timp n0 execut c n%10 dac c>0 i c < 9 atunci Scriei numrul afiat dac se citete valoarea c c+1 n=12939. (6p.) nr+c*p Scriei toate valorile care pot fi citite pentru nr p p*10 variabila n astfel nct, n urma executrii n [n/10] algoritmului, valoarea afiat s fie 2009. (4p.) scrie nr

c) d)

Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de un alt tip. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Specializarea Matematic-informatic intensiv informatic

Subiectul I

Ministerul Educaiei, Cercetrii i Inovrii Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 003 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider un graf orientat cu 6 noduri numerotate de la 1 la 6 i cu mulimea arcelor format doar din arcele: - de la fiecare nod numerotat cu un numr neprim i (i>1) la toate nodurile numerotate cu numere ce aparin mulimii divizorilor proprii ai lui i (divizori diferii de 1 i de i) - de la nodul numerotat cu 1 la nodul numerotat cu 6 - de la fiecare nod numerotat cu un numr prim i la nodul numerotat cu i-1 Pentru graful dat, care este lungimea celui mai mare drum, format doar din noduri distincte? (4p.) b. 5 c. 3 d. 4 a. 6 Cte frunze are arborele cu rdcin descris prin urmtorul vector de tai: (6,5,5,2,0,3,3,3,8,7,7)? (4p.) b. 2 c. 5 d. 4 a. 1

2.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n declararea alturat, cmpurile x i y ale nregistrrii pot memora numrtorul, respectiv numitorul unei fracii. Scriei secvena de instruciuni prin executarea creia se construiete n variabila f o fracie obinut prin nsumarea fraciilor memorate n variabilele f1 i f2. (6p.) struct fractie { int x,y; }f,f1,f2;

4.

n secvena de instruciuni de mai jos, variabila s memoreaz un ir de caractere format doar din litere ale alfabetului englez, iar variabilele i i n sunt de tip int. tiind c n urma executrii secvenei s-a afiat succesiunea de caractere eied*eael* scriei care este irul de caractere memorat de variabila s. (6p.)
//C //C++

n=strlen(s); for(i=0;i<n;i++) if (s[i]==e) printf(%c,*); else printf("%c%c",e,s[i]); 5.

n=strlen(s); for(i=0;i<n;i++) if (s[i]==e) cout<<*; else cout<<'e'<<s[i];

Scriei un program C/C++ care citete de la tastatur un numr natural n (2n24) i construiete n memorie o matrice cu n linii i n coloane ale crei elemente vor primi valori dup cum urmeaz: - elementele aflate pe diagonala principal a matricei vor primi valoarea 0 - elementele de pe prima coloan, cu excepia celui aflat pe diagonala principal vor primi valoarea n - elementele de pe a doua coloan, cu excepia celui aflat pe diagonala principal vor primi valoarea n-1 ... - elementele de pe ultima coloan, cu excepia celui aflat pe diagonala principal vor primi valoarea 1 Programul va afia matricea astfel construit pe ecran, cte o linie a matricei 0 3 2 1 pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii (ca n 4 0 2 1 exemplu). 4 3 0 1 Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 4 3 2 0

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Specializarea Matematic-informatic intensiv informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Inovrii Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 022 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. In timpul procesului de generare a permutrilor mulimii {1,2,,n} prin metoda backtracking, n tabloul unidimensional x este plasat un element xk (2kn). Acesta este considerat valid dac este ndeplinit condiia: (6p.) xk{x1, x2, , xk-1} b. xkxk-1 d. xkxk-1 i xkxk+1

a.

c. xk{x1, x2, , xn}

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. void f(char c) 2. Considerm subprogramul recursiv definit { if (c>A) f(c-1); alturat. Ce se va afia n urma apelului de cout<<c; | printf(%c,c); mai jos? if (c>A) f(c-1); } f(C); (4p.) 3. a) Scriei definiia complet a unui subprogram, nz, cu un parametru ntreg n (0<n32000), care returneaz numrul zerourilor de la sfritul numrului n!=12n. (6p.) b) Scriei programul C/C++ care citete de la tastatur un numr natural k (0<k1500) i determin, folosind apeluri ale subprogramului nz, cel mai mic numr natural n pentru care n! are cel puin k zerouri la sfrit. Numrul determinat se afieaz pe ecran. (4p.) 4. Scriei programul C/C++ care citete din fiierul text BAC.TXT numrul ntreg n (1n10000) i un ir de n perechi de numere ntregi a b (1ab32000), fiecare pereche fiind scris pe o linie nou a fiierului, cu un spaiu ntre cele dou numere. Programul afieaz pe ecran pentru fiecare pereche a,b cel mai mare numr natural din intervalul nchis [a,b]care este o putere a lui 2 sau numrul 0 dac nu exist nicio putere a lui 2 n intervalul respectiv. Numerele afiate pe ecran se scriu n linie, separate prin cte un spaiu. Un numr p este putere a lui 2 dac exist un numr natural k astfel nct p=2k. Exemplu: dac fiierul BAC.TXT conine numerele 3 2 69 10 20 19 25 se va afia: 64 16 0. (10p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Specializarea Matematic-informatic intensiv informatic

Subiectul III

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