Sunteți pe pagina 1din 101

www.examendebacalaureat.blogspot.

com

Variante 001-100

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

Subiectul II (30 de puncte) - Varianta 001 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider o coad n care iniial au fost introduse, n aceast ordine, elementele cu
1 2

. Se noteaz cu AD(x) operaia prin care se adaug elementul cu valorile 1 i 2: valoarea x n coad i cu EL operaia prin care se elimin un element din coad. Cte elemente va conine coada n urma executrii secvenei de operaii: AD(4);EL;EL;AD(5);EL;AD(3)? (4p.) a. 3 b. 1 c. 2 d. 5 2. Cte grafuri neorientate, distincte, cu 4 vrfuri, se pot construi? Dou grafuri se consider distincte dac matricele lor de adiacen sunt diferite. (4p.) 6 6 b. 4 c. 4 d. 2 a. 24

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n declararea alturat, cmpurile x i y ale nregistrrii pot memora struct punct coordonatele carteziene ale unui punct din planul xOy. Scriei o { secven de instruciuni prin executarea creia se memoreaz n float x,y; }A,B,C; variabila C coordonatele mijlocului segmentului cu capetele n punctele ale cror coordonate sunt memorate n variabilele A i B. (6p.) Prin nlimea unui arbore cu rdcin nelegem numrul de muchii ale celui mai lung lan format din noduri distincte care are una dintre extremiti n rdcina arborelui. Scriei care este nlimea i care sunt frunzele arborelui descris prin urmtorul vector de tai: (6,6,5,0,6,4,4,7). (6p.) Scriei un program C/C++ care citete de la tastatur dou numere naturale nenule n i m (2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii (numerotate de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare element Aij memoreaz cea mai mic dintre valorile indicilor i i j (1in, 1jm). Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. 1 1 1 1 1 Exemplu: pentru n=4 i m=5 se va afia matricea alturat. (10p.) 1 2 2 2 2 1 2 3 3 3 1 2 3 4 4

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 002 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Cte grafuri orientate, distincte, cu 4 vrfuri se pot construi? Dou grafuri se consider distincte dac matricele lor de adiacen sunt diferite. (4p.) 6 6 4 b. 2 c. 6 d. 4 a. 4 Variabila d, declarat alturat, memoreaz n cmpurile struct dreptunghi a i b limea i, respectiv, lungimea unui dreptunghi. { float a,b,p; Care dintre urmtoarele instruciuni atribuie cmpului p }d; al variabilei d valoarea perimetrului dreptunghiului respectiv? (4p.) a. p.d=2*(d.a+d.b); b. p.d=2*a.d+2*b.d; c. d.p=2*d.a+2*d.b; d. d.p==2*d.a+2*d.b;

2.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele cu valorile 1, 2 i 3, ca n figura alturat. Se noteaz cu AD(x) operaia prin care se adaug elementul cu valoarea x n vrful stivei i cu EL operaia prin care se elimin elementul din vrful stivei. Care sunt valorile ultimelor dou elemente eliminate din stiv n urma executrii secvenei de operaii: AD(4);EL;EL;AD(5);EL;EL? (6p.)

3 2 1

vrf

baza

4.

n secvena alturat, variabila a memoreaz o matrice s = 0; cu n linii i n coloane (numerotate de la 0 la n-1) cu for(j = 0; j < n/2; j++) elemente numere ntregi, iar toate celelalte variabile sunt { ntregi. tiind c n este un numr natural par, nenul, ............. scriei instruciunile ce pot nlocui punctele de suspensie } din secvena de program alturat astfel nct, n urma executrii acesteia, s se afieze suma elementelor printf("%d",s);|cout<<s; numere naturale impare de pe linia k a matricei a. (6p.) S se scrie un program C/C++ care citete de la tastatur un cuvnt format din cel mult 20 de caractere, doar litere mici ale alfabetului englez. Programul determin transformarea cuvntului citit prin nlocuirea fiecrei vocale a cuvntului, cu litera mare corespunztoare, restul literelor nemodificndu-se, ca n exemplu. Programul afieaz pe ecran cuvntul obinut, pe o singur linie. Se consider vocale literele din mulimea {a,e,i,o,u}. Exemplu: pentru cuvntul bacalaureat se va afia pe ecran: bAcAlAUrEAt (10p.)

5.

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

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului 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.) a. 6 b. 5 c. 3 d. 4 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 2008 - INFORMATIC, limbajul C/C++ Specializarea Matematic-informatic intensiv informatic

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 004 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, ce unete nodul 6 cu nodul 1? (4p.) b. 3 c. 4 d. 6 a. 1 Cte frunze are arborele cu rdcin, cu 8 noduri, numerotate de la 1 la 8, descris prin urmtorul vector de tai: (6,5,5,2,0,3,3,3)? (4p.) b. 6 c. 5 d. 3 a. 4

2.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele cu valorile 1, 2 i 3, ca n figura alturat. Se noteaz cu AD(x) operaia prin care se adaug elementul cu valoarea x n vrful stivei i cu EL operaia prin care se elimin elementul din vrful stivei. Reprezentai, dup modelul alturat, coninutul stivei, rezultat n urma executrii secvenei de operaii: AD(4);EL;EL;AD(5);EL. (6p.)

3 2 1

vrf

baza

4.

Fie s o variabil ce memoreaz un ir de caractere, format doar din litere ale alfabetului englez, i i o variabil de tip int. Scriei instruciunile ce pot nlocui punctele de suspensie din secvena de program alturat astfel nct i=0; executarea ei s determine eliminarea tuturor while (i<strlen(s)) literelor mici din irul s i apoi afiarea irului ............... obinut. (6p.) printf("%s",s); | cout<<s; 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 secundar a matricei vor primi valoarea 0 - elementele de pe prima linie, cu excepia celui aflat pe diagonala secundar vor primi valoarea n - elementele de pe a doua linie, cu excepia celui aflat pe diagonala secundar vor primi valoarea n-1 ... - elementele de pe ultima linie, cu excepia celui aflat pe diagonala secundar vor primi valoarea 1 Programul va afia matricea astfel construit pe ecran, cte o linie a matricei 4 4 4 0 pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii (ca 3 3 0 3 n exemplu). 2 0 2 2 Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 0 1 1 1

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 005 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. ntr-un graf neorientat cu 20 muchii, fiecare nod al grafului are gradul un numr nenul. Doar patru dintre noduri au gradul un numr par, restul nodurilor avnd gradele numere impare. Care este numrul maxim de noduri pe care poate s le aib graful? (4p.) b. 36 c. 10 d. 16 a. 32 Variabila d, declarat alturat, memoreaz n cmpurile a i b struct dreptunghi limea i, respectiv, lungimea unui dreptunghi. Care dintre { float a,b,aria; urmtoarele instruciuni atribuie cmpului aria al variabilei d }d; valoarea ariei dreptunghiului respectiv? (4p.) b. aria.d=a.d*b.d; a. d.aria==d.a*d.b; c. aria.d=d.a*d.b; d. d.aria=d.a*d.b;

2.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un arbore cu rdcin n care doar 13 dintre nodurile arborelui au exact 2 descendeni direci (fii), restul nodurilor avnd cel mult un descendent direct (fiu). Care este numrul frunzelor arborelui? (6p.) Fie s o variabil ce memoreaz un ir de caractere, c o variabil de tip char, iar i i j dou variabile de tip int. Scriei instruciunile ce pot nlocui punctele de suspensie din secvena de program alturat astfel nct executarea ei s determine modificarea coninutul irului s prin interschimbarea caracterelor aflate pe poziii simetrice fa de mijlocul irului (primului caracter cu ultimul, al doilea cu penultimul, etc). (6p.) i=0; j=strlen(s)-1; while (i<j) { ......... }

4.

5.

Scriei un program C/C++ care citete de la tastatur dou numere naturale n i m (2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii (numerotate de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare element Aij memoreaz cea mai mare dintre valorile indicilor i i j (1in, 1jm). Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. (10p.) Exemplu: pentru n=4 i m=5 se va afia matricea alturat. 1 2 3 4 5 2 2 3 4 5 3 3 3 4 5 4 4 4 4 5

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 006 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care dintre urmtoarele expresii reprezint un element al tabloului bidimensional a, declarat alturat? (4p.) b. a[6][7] c. a[2][3] a. a[40] int a[5][6]; d. a[10*5]

2.

while (...) Se consider o list liniar simplu nlnuit p=p->urm; alocat dinamic, cu cel puin dou delete p->urm; | free (p->urm); elemente. Fiecare element al listei reine n p->urm=NULL; cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. tiind c variabila p reine adresa primului element din list, care dintre expresiile urmtoare poate nlocui punctele de suspensie n secvena de instruciuni de mai sus astfel nct, n urma executrii acesteia, s fie eliminat ultimul element al listei? (4p.) a. p->urm->urm!=NULL b. p->urm!=NULL d. p->urm->urm==NULL c. p!=NULL

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. 5. Se consider un arbore cu 11 muchii. Care este numrul de noduri ale arborelui? (6p.)

Se consider un graf neorientat G cu 12 noduri si 7 muchii. Care este numrul maxim de componente conexe din care poate fi format graful G? (6p.) Se consider un text cu maximum 255 de caractere n care cuvintele sunt separate prin unul sau mai multe spaii. Primul caracter din textul citit este o liter, iar cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care citete de la tastatur textul i l transform, nlocuind prima liter a fiecrui cuvnt cu litera mare corespunztoare, restul caracterelor rmnnd nemodificate. Textul astfel transformat va fi afiat pe ecran. Exemplu: dac de la tastatur se introduce textul: mare frig rosu se va afia pe ecran: Mare Frig Rosu (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 007 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. Care dintre variantele de mai jos reprezint declararea eficient i corect a unui tablou bidimensional cu exact 20 de elemente, numere ntregi cu cel mult 4 cifre fiecare? (4p.) b. float a[40]; a. int a[2][10]; c. char a[2][10]; d. int a[40]; 2. while (p->urm!=NULL) O list liniar simplu nlnuit cu cel puin dou elemente, alocat { if (p->urm->info<p->info) dinamic, reine n cmpul info al p->urm->info=p->info; fiecrui element cte un numr p=p->urm;} natural de maximum 4 cifre, iar n cout<<p->info;| printf(%d,p->info); cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Dac variabila p reine adresa primului element al listei atunci, n urma executrii secvenei de program de mai sus se afieaz ntotdeauna: (4p.) b. cea mai mare dintre valorile memorate de a. cea mai mic dintre valorile memorate de elementele din list elementele din list penultimul d. valoarea memorat de primul element din c. valoarea memorat de element din list list Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider graful neorientat definit prin mulimea vrfurilor {1,2,3,4,5,6} i mulimea muchiilor {[1,2],[2,3],[3,4],[3,5],[4,5],[1,3],[2,6],[2,4],[4,6]}. Care este numrul minim de muchii ce pot fi eliminate astfel nct graful parial obinut s nu mai fie conex? (6p.) 4. Se consider graful orientat cu 6 noduri reprezentat prin matricea de 0 1 0 1 0 1 adiacen alturat. Care este numrul tuturor grafurilor pariale distincte 0 0 0 0 1 0 ale grafului dat? Doua grafuri pariale sunt distincte dac matricele lor de 0 0 0 0 0 0 adiacen sunt diferite. (6p.) 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 5. Se consider un text cu maximum 255 de caractere, format din litere mici ale alfabetului englez i spaii. Textul conine cel puin o consoan. Scriei un program C/C++ care citete de la tastatur textul i apoi determin transformarea acestuia, eliminnd numai ultima consoan care apare n text, ca n exemplu. Programul va afia pe ecran textul obinut. Exemplu: dac de la tastatur se introduce textul: mare frig saci pe ecran se va afia: mare frig sai (10p.) 1.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 008 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider graful orientat reprezentat prin listele de adiacen alturate. Cte noduri au gradul extern mai mare dect gradul intern? (4p.)

b. 2 c. 1 d. 4 a. 3 2. Se consider un graf neorientat cu 50 noduri i 32 muchii. Care este numrul maxim de vrfuri cu gradul 0 pe care le poate avea graful? (4p.) 45 40 41 50 b. c. d. a. Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce se afieaz n urma executrii secvenei de program alturate dac variabila s memoreaz irul de caractere abcdefgh? (6p.) strcpy(s+2,s+4); cout<<s<< <<strlen(s); | printf(%s %d,s,strlen(s)); s=...; while ( ... ) { p=p->urm; s=s+p->info; } cout<<s; | printf(%d,s);

4.

ntr-o list liniar simplu nlnuit cu cel puin 4 elemente, fiecare element reine n cmpul urm adresa elementului urmtor sau NULL dac nu exist un element urmtor, iar n cmpul info o valoare ntreag. tiind c variabila p reine adresa primului element din list, nlocuii punctele de suspensie cu expresiile corespunztoare, astfel nct secvena alturat s calculeze n variabila s suma tuturor valorilor elementelor listei.

(6p.)

5.

Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p (2n20, 1p20) i construiete n memorie un tablou bidimensional cu n linii i p coloane. Tabloul va fi construit astfel nct, parcurgnd tabloul linie cu linie de sus n jos i fiecare linie de la stnga la dreapta, s se obin irul primelor n*p ptrate perfecte impare, ordonat strict cresctor, ca n exemplu. Tabloul astfel construit va fi afiat pe ecran, fiecare linie a tabloului pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii. 1 9 25 Exemplu: pentru n=2, p=3 se va afia tabloul alturat: (10p.) 49 81 121

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 009 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Considernd declararea alturat, care dintre urmtoarele secvene struct { int a; realizeaz n mod corect citirea de la tastatur a valorilor celor dou int b;} x; cmpuri ale variabilei x? (4p.) cin>>x.a>>x.b; | scanf(%d%d, &x.a, &x.b); cin>>a.x>>b.x; | scanf(%d%d, &a.x, &b.x); cin>>x; | scanf(%d, &x); cin>>a->x>>b->x; | scanf(%d%d, &a->x, &b->x); ntr-o list liniar simplu nlnuit fiecare element reine n cmpul info o valoare ntreag, iar n cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element din list. Lista conine, n aceast ordine, while(p!=NULL && p->urm!=NULL) { pornind de la primul element, cout<<p->info; | printf(%d,p->info); valorile: 2, 3, 4, 5, 6, 7, 8. Ce se va p->urm=p->urm->urm; afia n urma executrii secvenei p=p->urm; de instruciuni alturat? (4p.) } 2 4 6 b. 2 4 6 8 c. 2 4 8 d. 2 5 8

a. b. c. d. 2.

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un graf orientat cu 6 noduri care are urmtoarele proprietti: - suma gradelor externe ale tuturor vrfurilor grafului este egal cu 6 - sunt numai 3 vrfuri care au gradul intern egal cu 1 Care este valoarea maxim pe care o poate avea gradul extern al unui vrf din graful dat? (6p.) Se consider declararea de mai jos: char s[50], x[50]; Ce se afieaz n urma executrii secvenei de program scris alturat dac variabila s memoreaz irul abcdefg? (6p.) strcpy(x,s+4); strcpy(s+4,123); strcat(s,x); cout<<s; | printf(%s,s);

4.

5.

Se consider tabloul bidimensional cu n linii i n coloane ce conine numere naturale cu cel mult patru cifre fiecare. Scriei programul C/C++ care citete de la tastatur numrul natural n (2n23) i cele n*n elemente ale tabloului i apoi afieaz pe ecran elementele primului ptrat concentric, separate prin cte un spaiu. Ptratul este parcurs n sensul acelor de ceasornic ncepnd din colul su stnga-sus, ca n exemplu. Primul ptrat concentric este format din prima i ultima linie, prima i ultima coloan a tabloului. 1 2 3 4 5 Exemplu: pentru n=5 i tabloul alturat, se va 6 7 8 9 1 afia: 2 3 4 5 6 1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6 7 8 9 1 2 (10p.) 3 4 5 6 7

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 010 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Considernd declararea alturat, care dintre urmtoarele secvene struct { int a, b; de instruciuni afieaz valorile memorate n cele dou cmpuri ale variabilei x, separate printr-un spaiu? (4p.) }x; cout<<x.a<< <<x.b; | printf(%d %d, x.a, x.b); cout<<a.x<< <<b.x; | printf(%d %d, a.x, b.x); cout<<x; | printf(%d, x); cout<<a->x<< <<b->x; | printf(%d %d, a->x, b->x);

a. b. c. d. 2.

ntr-o list liniar simplu nlnuit fiecare element reine n cmpul info o valoare ntreag, iar n cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element din list. Lista conine, ncepnd de la while((p->urm!=NULL)&&(p!=NULL)) primul element, n aceast ordine, { p->urm=p->urm->urm; valorile: 2, 3, 4, 5, 6, 7, 8. Ce se p=p->urm; va afia n urma executrii cout<<p->info<< ; | printf(%d ,p->info); secvenei de instruciuni } alturate? (4p.) a. 2 5 8 b. 2 4 8 d. 4 6 8 c. 2 4 6 8

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Se consider un graf neorientat cu 80 de noduri i 3160 muchii. Care este numrul de muchii ce pot fi eliminate astfel astfel nct graful parial obinut s fie arbore? (6p.) Ce se va afia n urma executrii secvenei de i=0; instruciuni alturate dac variabila s memoreaz while (i<strlen(s)-1) if (s[i]==s[i+1]) irul de caractere abbacdde, iar variabila i este de strcpy(s+i,s+i+1); tip ntreg? (6p.) else i=i+1; cout<<s; | printf(%s,s); Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p (2n20, 1p20) i construiete n memorie un tablou bidimensional cu n linii i p coloane. Tabloul va fi construit astfel nct, parcurgnd matricea linie cu linie de sus n jos i fiecare linie de la stnga la dreapta, s se obin irul primelor n*p ptrate perfecte pare, ordonat strict cresctor, ca n exemplu. Tabloul astfel construit va fi afiat pe ecran, fiecare linie a tabloului pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii. 0 4 16 Exemplu: pentru n=2, p=3 programul va afia tabloul alturat: (10p.) 36 64 100

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 011 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider graful orientat reprezentat prin matricea de adiacen alturat. Care este lungimea maxim a unui drum, de la vrful 4 pn la vrful 6, format din vrfuri distincte dou cte dou (lungimea unui drum este egal cu numrul de arce care compun acel drum)? (4p.) b. 3 c. 1 0 0 0 0 1 1 d. 5 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0

a. 4 2.

Care este numrul de grafuri orientate cu 4 vrfuri, fr circuite de lungime 1 (bucle)? (4p.) a. 1048576 b. 16 c. 64 d. 4096

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce se afieaz pe ecran n urma executrii secvenei de program alturate, n care variabila s memoreaz un ir cu cel mult 12 caractere, iar i este de tip ntreg? (6p.)

strcpy(s,abracadabra);
i=0; cout<<strlen(s); | printf("%d",strlen(s)); while (i<strlen(s)) if (s[i]=='a') strcpy(s+i,s+i+1); else i++; cout<<" "<<s; | printf(" %s",s);

4.

ntr-o list liniar simplu nlnuit cu cel puin 3 noduri, fiecare element reine n cmpul nr un numr real, iar n cmpul urm adresa urmtorului element din list sau valoarea NULL n cazul n care este ultimul nod al listei. Dac p reine adresa primului element din list, scriei o expresie C/C++ a crei valoare este egal cu suma valorilor reale reinute n primele trei noduri ale listei. (6p.) Scriei un program C/C++ care citete de la tastatur dou valori naturale nenule m i n (m10, n10) i apoi m*n numere naturale nenule cu cel mult 4 cifre fiecare, reprezentnd elementele unei matrice cu m linii i n coloane. Programul determin apoi valorile minime de pe fiecare linie a matricei i afieaz pe ecran cea mai mare valoare dintre aceste minime.
3 6 5 4 7 Exemplu: pentru m=3, n=5 i matricea 9 6 12 9 10 , se afieaz pe ecran valoarea 6 5 13 7 2 3

5.

(cea mai mic valoare de pe prima linie a matricei este 3, cea mai mic valoare de pe linia a doua este 6, cea mai mic valoare de pe linia a treia este 2. Cea mai mare dintre aceste trei valori este 6). (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 012 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Un graf orientat este reprezentat prin matricea de adiacen alturat. Care sunt nodurile pentru care gradul interior este mai mare dect gradul exterior? (4p.) 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 d. 1, 3, 6

a. 2, 4, 5, 6 2.

b. 2, 4, 5

c. 1, 4, 5

ntr-o list liniar simplu nlnuit, fiecare element reine n cmpul inf un numr ntreg, iar n cmpul ref adresa urmtorului nod din list sau NULL n cazul ultimului nod al listei. Adresa primului element al listei este reinut n variabila prim, iar p este o variabil de acelai tip cu prim. Dac n list sunt memorate, n aceast ordine, numerele 1, 2, 3, 4 ca n figura de mai jos, care va fi coninutul listei n urma executrii secvenei alturate de instruciuni? (4p.) p=prim->ref->ref; prim->ref->ref=p->ref; p->ref=prim->ref; prim->ref=p;

a. 1 3 2 4

b. 1 2 4 3

c. 1 4 2 3

d. 1 4 3 2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Pentru arborele cu rdcin avnd urmtorul vector de tai tata=(2,0,2,3,2,3,4,4,3), care este rdcina arborelui i care sunt descendenii direci (fiii) ai nodului 3? (6p.) char s[13]="abcdefghoid"; Scriei ce se afieaz pe cout<<strlen(s); | printf("%d",strlen(s)); ecran n urma executrii for (int i=0;i<strlen(s);i++) secvenei de program if (strchr("aeiou",s[i])!=NULL) alturate, n care variabila s s[i]= s[i]-'a'+'A'; memoreaz un ir de cel cout<<" "<<s; | printf(" %s",s); mult 12 caractere, iar variabila i este de tip ntreg. (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<50) i apoi construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei elemente primesc valori dup cum urmeaz: - elementele aflate pe diagonala secundar sunt toate nule; - elementele de pe linia i (1in), aflate deasupra diagonalei secundare au valoarea egal cu i; - elementele de pe coloana n-i+1 (1in), aflate sub diagonala secundar au valoarea egal cu i. Programul va afia matricea astfel construit pe ecran, cte o linie a 1 1 1 0 matricei pe o linie a ecranului, elementele fiecrei linii fiind separate 2 2 0 1 3 0 2 1 prin cte un spaiu. Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 0 3 2 1

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 013 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este vectorul "de tai" pentru arborele cu rdcin din figura alturat? (4p.)

a. 0 0 5 7 6 5 1 c. 7 4 5 0 4 5 4 2.

b. 1 0 0 7 6 5 0 d. 7 4 5 0 4 5 7 a=p; while (a->ref != NULL) { b=a; a=a->ref; }

O list liniar simplu nlnuit, alocat dinamic, memoreaz n cmpul ref al fiecrui nod adresa urmtorului nod din list sau NULL n cazul n care nu exist un nod urmtor. Lista conine cel puin 5 noduri, adresa primului nod este memorat n variabila p, iar variabilele a i b sunt de acelai tip cu p. Adresa crui nod va fi memorat n variabila b, dup executarea secvenei alturate de program? (6p.)

a. Nodul aflat n mijlocul listei c. Ultimul nod al listei

b. Penultimul nod al listei d. Nodul al treilea din list

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Scriei listele de adiacen prin care este reprezentat un exemplu de graf neorientat conex, cu 6 noduri, numerotate de la 1 la 6, care este eulerian, dar NU este hamiltonian. (4p.) Scriei ce se afieaz pe ecran n urma executrii secvenei de program alturate, n care variabila s memoreaz un ir de cel mult 12 caractere, iar variabila i este de tip ntreg. (6p.) char s[13]="abcdefghoid"; i=0; cout<<strlen(s); | printf("%d",strlen(s)); while (i<strlen(s)) if (strchr("aeiou",s[i])!=NULL) strcpy(s+i,s+i+1); else i++; cout<<" "<<s; | printf(" %s",s);

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<50) i apoi construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei elemente primesc valori dup cum urmeaz: - elementele aflate pe diagonala secundar sunt toate nule; - elementele de pe coloana i (1in), aflate deasupra diagonalei secundare, au valoarea egal cu i; - elementele de pe linia n-i+1 (1in), aflate sub diagonala secundar, au valoarea egal cu i. Programul afieaz pe ecran matricea construit, cte o linie a matricei 1 2 3 0 pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte 1 2 0 3 1 0 2 2 un spaiu. Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 0 1 1 1

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 014 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider un graf neorientat cu 5 noduri, etichetate cu literele a, b, c, d, e, n care orice nod etichetat cu o vocal este adiacent cu toate nodurile etichetate cu consoane i numai cu acestea, iar orice nod etichetat cu o consoan este adiacent numai cu nodurile etichetate cu vocale. Cte muchii are acest graf? (4p.) b. 6 c. 4 d. 3 ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul inf un numr ntreg, iar n cmpul ref adresa urmtorului nod din list sau NULL n cazul ultimului element al listei. Adresa primului element al listei este reinut n p=prim; s=0; variabila prim, iar variabila p este de acelai tip cu while (p->ref!=NULL) prim. Dac n list sunt memorate, n aceast { if (p->inf%5==0) s=s+p->inf; ordine, numerele 3, 5, 18, 20, ce se va afia pe p=p->ref; ecran n urma executrii secvenei alturate de program? (6p.) } cout<<s; | printf("%d",s); b. 25 c. 5 d. 46

a. 12 2.

a. 21

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce se afieaz pe ecran n urma executrii secvenei de program alturate, n care variabila s memoreaz un ir cu cel mult 10 caractere, iar variabilele i i j sunt de tip ntreg? (4p.) char s[11]="abcduecda"; cout<<strlen(s); | printf("%d",strlen(s)); i=0; j=strlen(s)-1; while (i<j) if (s[i]==s[j]) { strcpy(s+j,s+j+1); strcpy(s+i,s+i+1); j=j-2; } else { i=i+1; j=j-1; } cout<<" "<<s; | printf(" %s",s);

4. 5.

Care sunt etichetele nodurilor de tip frunz ale arborelui cu rdcin, avnd 7 noduri, numerotate de la 1 la 7, i urmtorul vector de tai: (5,1,5,1,0,7,5)? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural nenul, cu maximum 8 cifre, construiete n memorie i afieaz apoi pe ecran o matrice ptratic, avnd numrul de linii i de coloane egal cu numrul de cifre ale numrului dat, completat cu cifrele numrului citit. Astfel, elementele de pe prima coloan a matricei vor fi toate egale cu cifra unitilor numrului dat, elementele de pe a doua coloan a matricei vor fi toate egale cu cifra zecilor numrului dat, i aa mai departe, ca n exemplu. Exemplu: dac se citete numrul 1359, matricea construit va fi cea alturat. (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 015 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul ref adresa urmtorului nod din list sau NULL n cazul ultimului element al listei, iar n cmpul inf un numr ntreg. Adresa primului element al p=prim; listei este reinut n variabila while ((p->inf%2==0) && (p!=NULL)) p=p->ref; prim, iar p este o variabil de if (p!=NULL) acelai tip cu prim. Ce va cout<<(p->inf); | printf("%d",p->inf); afia pe ecran secvena else alturat? (6p.) cout<<"NU"; | printf("NU"); b. Prima valoare par din list, dac aceasta exist i NU n caz contrar. d. Toate valorile pare din list dac astfel de valori exist i NU n caz contrar.

a. Prima valoare impar din list, dac aceasta exist i NU n caz contrar. c. Toate valorile impare din list dac astfel de valori exist i NU n caz contrar. 2.

Ci frai are nodul 1 din arborele cu rdcin cu 7 noduri, numerotate de la 1 la 7, avnd urmtorul vector de tai: (5,1,5,1,0,7,5)? (4p.) b. 1 c. 0 d. 2

a. 3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Ce se va afia pe ecran n urma i=0; char s[11]="abaemeiut"; 3. executrii secvenei de program cout<<strlen(s); | printf("%d",strlen(s)); alturate, n care variabila s while (i<strlen(s)) if (strchr("aeiou",s[i])!=NULL)) memoreaz un ir cu cel mult { strcpy(s+i,s+i+1); i=i+1; } 10 caractere, iar variabila i este else de tip ntreg? (4p.) i=i+2; cout<<" "<<s; 4. | printf(" %s",s); Se consider graful neorientat cu 8 noduri, numerotate de la 1 la 8, i muchiile [1,2], [1,6], [1,7], [2,3], [2,6], [3,6], [3,4], [4,5], [4,8], [5,6], [7,8]. Care este gradul minim al unui nod din acest graf? Care sunt nodurile care au acest grad minim? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural cu exact 5 cifre i construiete n memorie o matrice ptrat cu 6 linii i 6 coloane, numerotate de la 1 la 6, format astfel: - elementele aflate pe diagonala principal sunt toate nule; - elementele de pe linia 1, aflate deasupra diagonalei principale precum i elementele de pe coloana 1, aflate sub diagonala principal au toate valoarea egal cu cifra unitilor numrului citit; - elementele de pe linia 2, aflate deasupra diagonalei principale precum i elementele de pe coloana 2, aflate sub diagonala principal au toate valoarea egal cu cifra zecilor numrului citit, i aa mai departe, ca n exemplu. 0 1 1 1 1 1 Matricea astfel construit va fi afiat pe ecran, cte o linie a 1 0 3 3 3 3 matricei pe cte o linie a ecranului, elementele de pe aceeai 1 3 0 7 7 7 linie fiind separate prin cte un spaiu. Exemplu: dac se citete numrul 28731 matricea construit va 1 3 7 0 8 8 1 3 7 8 0 2 fi cea scris alturat. (10p.) 1 3 7 8 2 0

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 016 Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Dac n este un numr impar mai mare dect 2, un graf neorientat cu n noduri, n care fiecare nod este adiacent cu exact n-1 noduri, este ntotdeauna : (4p.) a. arbore b. graf eulerian d. graf aciclic (graf care nu conine niciun c. graf neconex ciclu)

2.

Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care memoreaz simultan vrsta n ani mplinii i media la bacalaureat a unui elev? (4p.) a. struct {float media; b. struct x {float media; int varsta;} x; int varsta;}; d. struct elev {float x.media; c. float x.media; int x.varsta; int x.varsta};

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o list liniar simplu nlanuit, alocat dinamic, fiecare element conine n cmpul nr un numr real, iar n cmpul urm adresa elementului urmtor. Lista are cel puin dou elemente, iar variabila x memoreaz adresa primului element din list. Cu ce pot fi completate punctele de suspensie din secvena urmtoare, astfel nct s afieze cuvntul ADEVARAT dac media aritmetic dintre valorile cmpului nr ale primelor dou elemente din list este mai mic sau cel puin egal cu 4.75, respectiv cuvntul FALS n caz contrar? if (.....)cout << ADEVARAT; | printf(ADEVARAT); else cout << FALS; | printf(FALS); (6p.) k=a-A; Ce va afia secvena alturat strcpy(a,clasa a-XII-a A); tiind c variabila a memoreaz cout<<a<<endl; | printf(%s\n,a); un ir cu cel mult 100 de for(i=0;i<strlen(a);i++) caractere, iar variabilele i i k if(a[i]>=a&& a[i]<=z) a[i]=a[i]-k; sunt de tip ntreg? (6p.) cout<<a; | printf(%s,a); Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<16), construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane n care elementele de pe cele dou diagonale sunt egale cu 0, elementele care se afl deasupra ambelor diagonale sunt egale cu 1, elementele care se afl sub ambele diagonale sunt egale cu 2, iar restul elementelor sunt egale cu 3. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 0 1 1 1 0 cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 3 0 1 0 3 Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 3 3 0 3 3 3 0 2 0 3 0 2 2 2 0

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 017 Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde rspunsului corect. 1. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element memoreaz n cmpul nr un numr ntreg, iar n cmpul urm adresa elementului urmtor din list sau valoarea NULL dac nu exist un element urmtor. Lista conine exact trei elemente ale cror adrese sunt memorate n variabilele p, q i r. tiind c p->nr==1, q->nr==2, r->nr==3, p->urm!=NULL i r->urm==q, care este ordinea numerelor din list? (4p.) b. 1 2 3 c. 2 1 3 d. 3 2 1

a. 1 3 2 2.

Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care memoreaz simultan codul de identificare al unui candidat la un examen, exprimat ca un numr natural de cel mult 4 cifre i media obinut de acesta la examen, exprimat ca un numr real? (4p.) b. struct {int cod; float media;} x; d. struct candidat {int x.cod; float x.media;};

a. struct x { int cod; float media;}; c. int x.cod ; float x.media;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Care este gradul maxim posibil i care este gradul minim posibil pentru un nod dintr-un arbore cu n noduri (n>1)? (6p.) Ce va afia secvena strcpy(a,bacalaureat); alturat de program, cout<<strlen(a)<<endl; | printf(%d\n,strlen(a)); tiind c variabila a for(i=0;i<strlen(a);i++) if(strchr(aeiou,a[i])!=0) memoreaz un ir cu cel cout<<*; | printf(*); mult 100 de caractere, iar variabila i este de tip ntreg ? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, n care fiecare element de pe diagonala secundar are valoarea n, fiecare element aflat deasupra diagonalei secundare este mai mic cu o unitate dect vecinul aflat pe aceeai linie n dreapta lui i fiecare element aflat sub diagonala secundar este mai mare cu o unitate dect vecinul aflat pe aceeai linie n stnga lui. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 1 2 3 4 5 2 3 4 5 6 cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 3 4 5 6 7 Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 5 6 7 8 5 6 7 8 9

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 018 Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Fiecare element al unei liste circulare, nevide, alocat dinamic, memoreaz n cmpul val o valoare ntreag, iar n cmpul adr adresa elementului urmtor. tiind c variabila p reine adresa unui element oarecare din list, iar variabila q este de acelai tip cu p, precizai care dintre urmtoarele variante tiprete toate elementele listei? (4p.) q=p; while(q!=p) {cout<<q->val; q=q->adr;} q=p; while(q->adr!=p){cout<<q->val; q=q->adr;} q=p; do{ cout<<q->val; q=q->adr; }while(q!=p); q=p->adr; while(q!=p) {cout<<q->val; q=q->adr;} q=p; while(q!=p) {printf(%d,q->val); q=q->adr;} q=p; while(q->adr!=p){printf(%d,q->val); q=q->adr;} q=p; do{ printf(%d,q->val); q=q->adr; }while(q!=p); q=p->adr; while(q!=p) {printf(%d,q->val); q=q->adr;}

a.

b.

c.

d.

2.

Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care memoreaz simultan coordonatele reale (abscisa i ordonata) ale unui punct n planul xOy? (4p.) b. char x[2]; d. float x;

a. struct punct{float ox,oy;} x; c. struct x{float ox,oy;};

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Un arbore binar este un arbore cu rdcin n care fiecare nod are cel mult 2 descendeni direci (fii). nlimea unui arbore este reprezentat de numrul maxim de muchii ale unui lan elementar ce unete rdcina cu un vrf terminal (frunz). Pentru un arbore binar cu exact 8 noduri, care este nlimea minim posibil i care este numrul de noduri terminale (frunze) n acest caz? (6p.) In secvena alturat, variabila a strcpy(a,informatica); memoreaz un ir cu cel mult 100 de for(i=0;i<strlen(a);i++) if(...) caractere, iar variabila i este de tip ntreg. cout<<...; | printf(...); Completai punctele de suspensie din else secven astfel nct aceasta s afieze cout<<...; | printf(...); irul de caractere *nf*rm*t*c*. (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate de la 1 la n. Fiecare element din matrice aflat pe o linie impar va fi egal cu numrul liniei pe care se afl i fiecare element aflat pe o linie par va fi egal cu numrul coloanei pe care se afl. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 1 1 1 1 1 cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 1 2 3 4 5 Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 3 3 3 3 3 1 2 3 4 5 5 5 5 5 5
Subiectul II

4.

5.

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

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

Subiectul II (30 de puncte) - Varianta 019 Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Un graf neorientat este complet dac oricare dou noduri distincte ale sale sunt adiacente. Care este numrul de muchii care trebuie eliminate dintr-un graf neorientat, complet, cu 7 noduri, astfel nct graful parial obinut s fie arbore? (4p.) b. 1 c. 6 d. 21 Fiecare element al unei liste liniare, simplu nlnuite, alocat dinamic, reine n cmpul nr un numr ntreg, iar n cmpul adr adresa elementului urmtor din list. Dac p reine adresa primului element, iar lista are cel puin dou elemente, care dintre urmtoarele secvene de instruciuni copiaz n cmpul nr al celui de-al doilea element al listei, coninutul cmpului nr al primului element din list? (4p.) b. p->adr=p->nr; d. p->adr->adr->nr=p->nr;

a. 15 2.

a. p->nr=p->adr->nr; c. p->adr->nr=p->nr;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce va afia secvena alturat de strcpy(x,bac2008); program, tiind c variabila x cout<<x<<endl; | printf(%s\n,x); memoreaz un ir cu cel mult 100 de for(i=0;i<strlen(x);i++) if (strchr(0123456789,x[i])==0) caractere, iar variabila i este de tip cout<<x[i]; | printf(%c,x[i]); ntreg ? (6p.) Fiecare dintre variabilele a i b, declarate alturat, struct punct{ float x,y;}a,b; memoreaz simultan coordonatele reale ale cte unui punct n planul xOy. Completai punctele de suspensie din secvena urmtoare de program, astfel nct aceasta s afieze cuvntul DA dac segmentul determinat de punctele cu coordonatele memorate n variabilele a i b este paralel cu axa Ox, respectiv cuvntul NU n caz contrar. if() cout<<DA; | printf(DA); else cout<<NU | printf(NU); (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20), construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate de la 1 la n, n care fiecare element aflat pe o linie impar este egal cu suma dintre indicii liniei i coloanei pe care se afl i fiecare element aflat pe o linie par este egal cu cel mai mic dintre elementele aflate pe linia anterioar i pe aceeai coloan cu el sau pe linia anterioar i pe una dintre coloanele vecine cu cea pe care se afl el. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 2 3 4 5 6 cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 2 2 3 4 5 Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 5 6 7 8 4 4 5 6 7 6 7 8 9 10

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 020 Pentru fiecare dintre itemii urmtori, scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Matricea de adiacen a unui graf neorientat G are numrul valorilor de 1 egal cu jumtate din numrul valorilor de 0. Care dintre numerele de mai jos poate fi numrul de noduri ale grafului G? (4p.) b. 14 c. 11 d. 13

a. 12 2.

Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care memoreaz simultan numrtorul i numitorul unei fracii ireductibile: (4p.) b. char x[2]; d. struct fractie {int n1,n2;} x;

a. float x; c. struct x{int n1,n2;};

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o list circular, nevid, alocat dinamic, cu exact 9 elemente, fiecare element memoreaz n cmpul val o valoare ntreag, iar n cmpul adr adresa elementului urmtor. tiind c n list sunt memorate, n ordine, q=p; numerele de la 1 la 9, i variabila p reine cout<<q->adr->val<<endl; | printf(%d,q->adr->val); adresa elementului cu valoarea 4, iar while(q->adr!=p) variabila q este de acelai tip cu p, precizai q=q->adr; ce va afia secvena alturat? (6p.) cout<<q->adr->val; | printf(%d,q->adr->val); In secvena alturat, variabila a memoreaz un ir cu cel mult 100 de caractere, iar variabila i este de tip ntreg. Completai punctele de suspensie, astfel nct aceasta s afieze doar literele mici i literele mari din irul de caractere memorat n variabila a. (6p.) strcpy(a,Bac 2007 iulie); for(i=0;i<strlen(a);i++) if(...) cout<<a[i];

4.

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20) i construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, n care fiecare element aflat pe chenarul exterior al matricei este egal cu suma dintre linia i coloana pe care se afl, iar fiecare dintre celelalte elemente este egal cu suma celor trei vecini situai n matrice pe linia anterioar. Dou elemente din matrice se numesc vecine dac se gsesc alturi pe linie, coloan sau diagonal. Chenarul exterior al unei matrice este format din prima linie, ultima linie, prima coloan i ultima coloan. 3 4 5 6 Elementele matricei vor fi afiate pe ecran, cte o linie a 2 9 12 15 7 matricei pe cte o linie a ecranului cu cte un spaiu ntre 3 4 24 36 34 8 elementele fiecrei linii. Exemplu: pentru n=5 se va obine matricea alturat. 5 64 94 78 9 7 8 9 10 (10p.) 6

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 021 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. n secvena de mai jos, variabila a memoreaz un tablou bidimensional cu 20 de linii i 20 de coloane, numerotate de la 1 la 20, cu elementele reale. Variabila p este real, iar i este de tip ntreg. Care dintre instruciunile de mai jos poate nlocui p=1; punctele de suspensie astfel nct secvena s for(i=1;i<=20;i++) determine memorarea n variabila p a valorii produsului .... celor 40 de elemente aflate pe diagonalele matricei. (4p.) a. p=p*a[21-i][i]*a[i][21-i]; c. p=p*a[i][i]*a[21-i][21-i]; b. p=p*a[i][i]*a[i][20-i]; d. p=p*a[21-i][21-i]*a[i][21-i];

2. ntr-un graf orientat cu 7 noduri suma gradelor interioare ale tuturor nodurilor este egal cu 10. Care este valoarea sumei gradelor exterioare ale tuturor nodurilor? (4p.) a. 5 b. 20 c. 10 d. 17

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider declarrile de mai jos, n care variabila ev memoreaz date despre un anumit elev. Scriei instruciunea C/C++ prin care se iniializeaz anul naterii acestui elev cu valoarea 1990. (6p.) struct data{ int zi; int luna; int an; }; 4. struct elev { char nume[30]; struct data data_nasterii; float media; }ev;

Stiva S i coada C memoreaz numere ntregi. n ambele se introduc, n ordine, numerele 1, 2, 3, 4. Se noteaz cu S C operaia de extragere a unui element din stiva S i adugarea acestuia n coada C, iar cu C S operaia de eliminare a unui element din coada C i introducerea acestuia n stiva S. Care este ultima valoare introdus n stiva S la executarea urmtoarei secvene de operaii: C S; C S; S C; C S; S C; S C; C S; (6p.) Se consider un text alctuit din cel mult 250 de caractere, n care cuvintele sunt formate doar din litere mici ale alfabetului englez i sunt separate prin unul sau mai multe caractere *. Scriei un program C/C++ care citete de la tastatur textul i afieaz pe ecran, pe cte o linie, toate secvenele formate din cte dou litere identice, ca n exemplu. Exemplu: dac textul citit este: se afieaz ii perechile alturate. ii (10p.) oo

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 022 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. ntr-o stiv ce memoreaz numere ntregi se introduc, n ordine, urmtoarele numere: 1,2,3,4,5,6,7. Cte numere trebuie s eliminm din stiv astfel ca n vrful stivei s se gseasc numrul 5 (4p.) 5 b. 2 c. 3 d. 4

a. 2.

Pentru declaraia alturat precizai care din struct elev {char nume[20]; instruciunile de atribuire este greit: int nota1; (6p.) int nota2;} e1,e2; e1=e2+1; e1=e2; b. d. e1.nume[2]=x; e1.nota1=e2.nota2+1;

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce valoare are expresia de mai jos dac variabila s memoreaz irul de caractere alfabet? strlen(strcpy(s,s+2)) (6p.) ntr-un graf neorientat cu 10 noduri, numerotate de la 1 la 10, exist cte o muchie ntre oricare dou noduri numerotate cu numere consecutive i cte o muchie ntre nodul numerotat cu 10 i fiecare dintre celelalte noduri. Cte subgrafuri cu exact 3 noduri, toate adiacente dou cte dou, are graful dat? (4p.) Scriei un program C/C++ care citete de la tastatur numerele naturale m i n din intervalul [1,100], apoi construiete n memorie i afieaz pe ecran un tablou bidimensional cu m linii i n coloane astfel nct prin parcurgerea acestuia linie cu linie de sus n jos i fiecare linie de la stnga la dreapta, se obin n ordine descresctoare toate numerele naturale de la 1 la m*n, ca n exemplu. Fiecare linie a tabloului este afiat pe cte o linie a ecranului, elementele 12 11 10 aceleiai linii fiind separate prin cte un spaiu. 9 8 7 Exemplu: pentru m=4 i n=3 se va construi i afia tabloul alturat. (10p.) 6 5 4 3 2 1

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 023 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care din urmtoarele expresii are valoarea 1 dac i numai dac irul de caractere s, de lungime 10, este obinut prin concatenarea a dou iruri identice? (6p.) b. s==strstr(s,s+5) d. strcmp(s,strcat(s,s+5))==0 (4p.) d. abs b. fabs c. mod

a. strcmp(s,s+5)==0 c. s==s+5 2. a. sgn

Funcia predefinit care returneaz modulul unui numr ntreg este:

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Care sunt nodurile care au exact 2 descendeni pentru un arbore cu rdcin, cu 7 noduri, numerotate de la 1 la 7, dat de vectorul de tai: (3,3,0,1,2,2,4)? (4p.) Pentru declaraiile alturate, care este struct punct3D { int x; int y; int z;}; numrul maxim de numere ntregi ce pot fi struct punct3D a[10][10]; memorate n variabila a? (6p.) Un tablou bidimensional A cu m linii i n coloane (1m100, 1n100) conine pe prima linie numerele 1,2,...,n, iar pe prima coloan numerele 1,2,...,m. Celelalte elemente ale tabloului sunt date de relaia: Ai,j=Ai-1,j+Ai,j-1. Scriei un program C/C++ care citete de la tastatur numerele m i n i afieaz pe ecran elementul de pe ultima linie i ultima coloan a tabloului. (10p.) Exemplu: pentru m=3 i n=4 se va afia 25 1 2 3 4 deoarece elementele tabloului A sunt: 2 4 7 11 3 7 14 25

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 024 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este structura de date adecvat memorrii unui numr neprecizat de iruri de caractere reprezentnd cuvintele dintr-un text? (4p.) b. un tablou bidimensional de caractere d. o structur cu attea cmpuri cte cuvinte exist

a. o list nlnuit n care fiecare nod memoreaz un cuvnt c. un ir de caractere de lungime egal cu lungimea textului 2.

Care din urmtoarele proprieti este adevrat pentru un graf orientat cu n vrfuri i n arce (n>3) care are un circuit de lungime n: (6p.) b. pentru orice vrf gradul intern i gradul extern sunt egale d. gradul intern al oricrui vrf este egal cu 2

a. exist un vrf cu gradul intern n-1 c. graful nu are drumuri de lungime strict mai mare dect 2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Considerm c variabila s memoreaz un ir de minimum dou caractere. Scriei o instruciune sau o secven de instruciuni C/C++ care s elimine cel de-al doilea carater din irul reinut de s. (4p.) Scriei o secven de instruciuni C/C++ care s iniializeze elementele unui tablou bidimensional A, cu n linii i n coloane, n100, cu numerele naturale 1,2,...,n, astfel nct pe fiecare linie sau coloan s existe toate numerele din mulimea {1,2,...,n}. (6p.) Scriei un program C/C++ care citete de la tastatur dou iruri de caractere formate din maximum 100 litere mici ale alfabetului englez i afieaz pe ecran cel mai lung sufix comun al celor dou iruri de caractere. Exemplu: pentru irurile marina i elena se va afia na (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 025 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Structura de date la care se aplic principiul primul venit, primul ieit: (first in, first out) este: (4p.) b. stiva d. graf orientat

a. lista nlnuit c. coada 2.

Un graf neorientat cu 8 noduri are gradele nodurilor egale cu 1,2,4,2,3,2,1,x. Pentru ce valoare a lui x graful este arbore? (6p.) b. x<3 c. x>3 d. nicio valoare

a. x=1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Scriei n C/C++ o instruciune de atribuire n urma creia o variabil real y va memora valoarea expresiei de mai jos pentru variabila ntreag nenul x.

(6p.) 4. Scriei secvena de instruciuni C/C++ care permite afiarea pe ecran a mesajului Corect dac un ir de maximum 100 caractere, memorat de variabila s, este palindrom sau mesajul Incorect n caz contrar. Un ir de caractere este palindrom dac citit de la nceput la sfrit este identic cu irul citit de la sfrit la nceput. Exemplu: irul de caractere cojoc este palindrom (4p.) Se consider un tablou bidimensional cu m linii i n coloane (1m100, 1n100), ale crui elemente aparin mulimii {0,1,2}. Scriei un program C/C++ citete de la tastatur valorile m, n i elementele tabloului i care afieaz pe ecran numerele de ordine ale coloanelor pentru care produsul elementelor situate pe ele, este maxim. Liniile i coloanele tabloului se numeroteaz de la 1 la m, respectiv de la 1 la n. Numerele se vor afia separate prin cte un spaiu. Exemplu: pentru m=4 i n=4 i tabloul alturat se va afia: 2 1 1 0 1 2 (10p.) 1 1 1 1 2 2 2 1 1 2 1 1

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 026 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Pentru graful neorientat din figura alturat, care este numrul de muchii ale celui mai lung lan, format din noduri distincte, ce are ca extremiti nodurile 1 i 3? (4p.)

a. 2.

b.

c.

d.

Care este nodul ce poate fi ales ca rdcin a arborelui din figura alturat, astfel nct fiecare nod care nu este de tip frunz s aib un numr impar de descendeni direci (fii) ? (4p.) a. 3 b. 4 c. 6 d. 1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. char s[]=raton; 3. Care va fi irul de caractere afiat dup executarea s[1]=s[3]; secvenei alturate, n care variabila s memoreaz un cout<<s; | printf(%s,s); ir cu cel mult 5 caractere ? (6p.) 4. ntr-o stiv care memoreaz numere, o valoare x poate fi adugat numai dac n vrful stivei se afl un element cu o valoare strict mai mare dect x; n caz contrar sunt eliminate toate elementele care nu ndeplinesc aceast condiie i apoi se adaug valoarea x. Exemplu: pentru stiva din fig.1, adugarea elementului 11 este precedat de eliminarea elementelor ce conin valorile 2 i 10. Dup adugare, stiva va avea coninutul din fig.2. Dac stiva este iniial vid, care este numrul elementelor aflate n aceast stiv dup adugarea, respectnd condiiile de mai sus, n ordine, a numerelor 20,5,16,9,3,7,5,4,8 ?(6p.) 5. Scriei un program C/C++ care citete de la tastatur un numr natural n (1<=n<=6) i elementele unui tablou bidimensional A cu n linii i n coloane, care memoreaz numere naturale mai mici dect 100, i afieaz pe ecran (dac exist), separate prin cte un spaiu, elementele din matrice care au proprietatea c sunt egale cu produsul celorlalte elemente aflate pe aceeai coloan. Exemplu: pentru matricea din figura alturat se afieaz, nu neaprat n aceast ordine, valorile 10 22.(10=1*5*2*1 ; 22=1*11*2*1) (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 027 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este numrul minim de arce ce trebuie adugate n graful orientat din figura alturat astfel nct fiecare vrf s aparin unui circuit ? (4p.)

a. 2. a.

b. 2

c. 3

d. 4

Care este numrul nodurilor de tip frunz din arborele cu rdcin, cu 8 noduri, numerotate de la 1 la 8, reprezentat prin vectorul de tai (2,0,6,2,4,4,5,5)? (6p.) 3 b. 4 c. 5 d. 2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n declararea alturat, cmpurile x i y ale nregistrrii reprezint struct fractie { int x,y; numrtorul, respectiv numitorul unei fracii de forma . } F,G,H; Scriei instruciunile prin executarea crora se memoreaz n variabila H fracia obinut prin adunarea fraciilor reinute n F i G. (6p.) O list liniar simplu nlnuit, alocat dinamic, p=prim; reine n cmpul nr al fiecrui element cte un while(p->urm!=NULL) numr natural, iar n cmpul urm, adresa {p->urm->nr=p->nr*p->urm->nr; p=p->urm; elementului urmtor din list sau NULL dac nu } exist un astfel de element. Lista memoreaz, n ordine, numai elementele 1, 2, 3, 4, 5. tiind c variabila prim memoreaz adresa primului element al listei i c p este o variabil de acelai tip cu prim, care va fi valoarea reinut n ultimul element dup executarea secvenei de mai sus? (4p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<=10) i construiete n memorie o matrice A cu n linii i n coloane n care toate elementele de pe prima linie, prima i ultima coloan au valoarea 1 i oricare alt element Aij din matrice este egal cu suma a 3 elemente situate pe linia i-1: primul aflat pe coloana j-1, al doilea pe coloana j, iar al treilea pe coloana j+1, ca n exemplu. Matricea va fi afiat pe ecran, linie cu linie, numerele de pe aceeai linie fiind separate prin cte un spaiu. Exemplu: pentru n=5 , se afieaz matricea alturat. (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 028 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este numrul minim de muchii ce pot fi eliminate din graful alturat astfel nct n graful parial rezultat s existe exact un vrf de grad 0? (6p.) b. 3 c. 2 d. 5

a. 1 2.

ntr-un arbore cu rdcin nivelul unui nod este egal cu lungimea lanului format din noduri distincte care unete rdcina cu acel nod. Rdcina se afl pe nivelul 0. Dac toate frunzele se afl pe nivelul 3 i oricare nod neterminal aflat pe un nivel k are exact k+1 descendeni direci (fii), care este numrul de noduri din acest arbore ? (4p.) a. 8 b. 9 c. 10 d. 6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-un tablou bidimensional A, cu n linii i n coloane, notm cu Aij elementul aflat pe linia i i coloana j (1in, 1jn). Care este valoarea expresiei j-i dac elementul Aij este situat pe diagonala principal a tabloului A? (4p.) p=prim; x=p->nr; 4. O list liniar simplu nlnuit, alocat dinamic, reine n while(p->urm!=NULL) cmpul nr al fiecrui element cte un numr natural, iar n {p->nr = p->urm->nr; cmpul urm, adresa elementului urmtor din list sau NULL p=p->urm; dac nu exist un element urmtor. Lista memoreaz, n } ordine doar elementele 1, 2, 3, 4, 5. p->nr=x; tiind c variabila prim memoreaz adresa primului element al listei i c p este o variabil de acelai tip cu prim, care sunt, n ordine, elementele listei dup executarea secvenei alturate? (6p.) 5. irul de caractere s2 este clona irului de caractere s1 dac se poate obine din s1 prin eliminarea tuturor apariiilor unei singure vocale. Se consider vocal orice liter din mulimea {a,e,i,o,u}. Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 20 litere mici ale alfabetului englez i afieaz pe ecran (dac exist), toate clonele acestui cuvnt, fiecare pe cte o linie a ecranului. Exemplu: pentru cuvntul informatica se afieaz, nu neaprat n nformatca aceast ordine, clonele scrise alturat. (10p.) infrmatica informtic

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 029 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este numrul maxim de noduri de grad 3 ntr-un graf neorientat cu 5 noduri? b. 5 c. 3 d. 2 (4p.)

a. 4 2.

ntr-un arbore cu rdcin nivelul unui nod este egal cu lungimea lanului format din noduri distincte care unete rdcina cu acel nod. Care dintre noduri trebuie ales ca rdcin n arborele din figura alturat astfel nct pe fiecare nivel s se gseasc un numr impar de noduri? (6p.)

a. 2

b. 3

c. 6

d. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. char s[]=arac; 3. Care va fi irul de caractere afiat pe ecran dup s[1]=t; executarea secvenei alturate n care variabila s cout<<s; | printf(%s,s); memoreaz un ir cu cel mult 4 caractere? (4p.) 4. O list liniar dublu nlnuit, alocat dinamic, reine n n=0; cmpul nr al fiecrui element cte un numr natural, n while(p!=q && q->urm!=p) cmpul urm, adresa elementului urmtor din list, iar n { p=p->urm; q=q->prec; cmpul prec, adresa elementului precedent din list. n=n+1; Variabilele p i q memoreaz adresa primului, respectiv } ultimului element al listei. Care este numrul maxim de elemente pe care le poate avea lista astfel nct, dup executarea secvenei alturate, valoarea variabilei n s fie 3? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (1n6) i elementele unui tablou bidimensional A cu n linii i n coloane, care memoreaz numere naturale nenule mai mici dect 100, i afieaz pe ecran produsul numerelor pivot pentru matricea A. Un numr natural x este pivot pentru matricea A dac nmulind fiecare element de pe prima coloan cu numrul x, se obin, n aceeai ordine, elementele unei coloane din matrice. Exemplu: pentru matricea din figura alturat se afieaz 8.

5.

(10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 030 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este numrul minim de muchii ce trebuie mutate n graful din figura alturat astfel nct acesta s fie conex i fiecare nod s aparin unui ciclu? (6p.)

a. 0 2.

b. 1

c. 2

d. 3

Care este valoarea expresiei strlen(s) pentru variabila s de tip ir de caractere, declarat i iniializat astfel: char s[15]=Proba_E; (4p.) b. 15 c. 6 d. 5

a. 7

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care sunt nodurile de tip frunz din arborele alturat dac se alege ca rdcin nodul 6? (6p.)

4.

O list liniar simplu nlnuit, cu cel puin 5 elemente, alocat dinamic, reine n cmpul nr al fiecrui element cte un numr natural, iar n cmpul urm, adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Variabila prim memoreaz adresa elementului aflat pe prima poziie n list, ultim adresa elementului aflat pe ultima poziie n list, iar p i q sunt dou variabile de acelai tip cu prim. Pe ce poziie se va gsi n lista modificat n urma executrii secvenei alturate, elementul aflat pe poziia a doua, n lista iniial? (4p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<=15) i construiete n memorie o matrice A cu n linii i n coloane n care orice element aflat pe prima linie sau pe prima coloan are valoarea 1 i oricare alt element Aij din matrice este egal cu suma a dou elemente din matrice, primul aflat pe linia i i pe coloana j-1, iar cel de-al doilea pe coloana j i pe linia i-1. Matricea va fi afiat pe ecran, linie cu linie, numerele de pe aceeai linie fiind separate prin cte un spaiu. Exemplu: pentru n=4 , se obine matricea alturat. (10p.)

p=prim; prim=ultim; while(p!=prim) {q=p;p=p->urm; ultim->urm=q; ultim=q; } ultim->urm=NULL;

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 031 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider graful neorientat cu 7 noduri, numerotate de la 1 la 7, i muchiile[1,3], [2,3], [3,4], [3,5], [5,4], [1,2], [2,5], [2,4], [6,7], [3,6]. Care dintre urmtoarele succesiuni de noduri reprezint un lan care trece o singur dat prin toate nodurile grafului? (4p.) (4, 5, 3, 6, 7) b. a. (1, 2, 3, 4, 5, 6, 7) (1, 3, 5, 4, 2, 3, 6) c. (7, 6, 3, 5, 4, 2, 1) d. 2. Un arbore cu 11 noduri, numerotate de la 1 la 11, este memorat cu ajutorul vectorului de tai t=(2,5,5,3,0,2,4,6,6,2,3). Mulimea tuturor ascendenilor nodului 8 este: (4p.) {6, 2, 5} b. d. {5, 2} c. {6} a. {1, 2, 5, 6, 10} Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: 3. Scriei definiia corect a unui tip de date necesar pentru a memora simultan, ntr-o singur variabil de acest tip, urmtoarele caracteristici ale unui autoturism: marca (cuvnt de maximum 20 caractere) i anul fabricaiei (numr natural), astfel nct expresia C/C++ de mai jos s aib ca valoare vechimea mainii ale crei caracteristici sunt memorate n variabila x. (6p.) for(j=1;j<=6;j++) n secvena alturat, variabilele i i j sunt de tip ntreg, iar for(i=1;i<=4;i++) variabila a memoreaz o matrice n care prima linie i prima a[i][j]=2*i+j; coloan sunt numerotate cu 1. Toate elementele matricei primesc valori n urma executrii secvenei. Scriei n ordine, ncepnd cu prima linie, doar elementele situate pe cea de-a treia coloan a matricei. (6p.) 2008-x.anul_fabricatiei 4. Se consider o list liniar simplu nlnuit alocat dinamic n care fiecare nod memoreaz n cmpul info un cuvnt, iar n cmpul urm, adresa urmtorului nod al listei. Scriei un program C/C++ care citete de la tastatur un numr natural n (n100) i apoi n cuvinte distincte, fiecare cuvnt avnd maximum 20 de litere, toate majuscule, i construiete o list simplu nlnuit, cu acele cuvinte citite, care ncep i se termin cu aceeai liter. Cuvintele se vor memora n list n ordine invers citirii lor. Exemplu: pentru n=9 i cuvintele citite: URSUZU IRI E SUPARAT POP DORIS SI ANA CITESC lista va fi (10p.)

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 032 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 4:(1,2) Un graf orientat este memorat cu ajutorul listelor de 1:(5,6) 1. 2:(1,5,4) 5:(2) adiacen scrise alturat. Nodurile care au gradul exterior 6:(2,4,5) egal cu 2 sunt: (4p.) 3:(1,5) b. 1,3 i 4 c. 6 d. 2 i 3 a. 2 i 5 2. Graful neorientat cu 8 noduri, numerotate de la 1 la 8, este reprezentat cu ajutorul matricei de adiacen alturate. Pentru acest graf este adevrat afirmaia: (4p.)

a. Graful este hamiltonian c. Gradul maxim al unui nod este 3

b. Graful nu are noduri de grad 0 d. Graful are trei componente conexe

Scriei pe foaia de examen rspunsul pentru fiecare dintre ntrebrile urmtoare: 3. ntr-o structur de date de tip coad au fost adugate, n aceast ordine, urmtoarele valori: 3, 10, 2, 8 i 6. Care este ultima valoare care s-a extras din coad dac s-au efectuat, n aceast ordine, urmtoarele operaii: extragerea unui element, adugarea valorii 100, extragerea a trei elemente. (6p.) for(j=1;j<=6;j++) n secvena alturat, variabilele i i j sunt de tip ntreg, iar for(i=3;i>=1;i--) variabila A memoreaz o matrice n care prima linie i prima a[i][j]=i+j coloan sunt numerotate cu 1. Toate elementele matricei primesc valori n urma executrii secvenei. Scriei n ordine, ncepnd cu prima coloan, doar elementele situate pe a doua linie a matricei. (6p.) Scriei un program C/C++ care citete de la tastatur dou caractere c1 i c2, i un text avnd cel mult 250 caractere (spaii i litere ale alfabetului englez), pe care l modific nlocuind toate apariiile caracterului memorat n c1 cu cel memorat n c2 i toate apariiile caracterului memorat n c2 cu cel memorat n c1. Programul afieaz pe linii separate ale ecranului att textul iniial ct i textul obinut dup efectuarea nlocuirilor. (10p.) Exemplu: dac pentru c1 se citete a, pentru c2 se citete o iar textul citit este: hocus pocus preparatus se va afia : hocus pocus preparatus hacus pacus preporotus

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 033 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care rspunsului corect. 1: 4,5,6 1. Se consider graful neorientat cu 6 noduri, definit cu ajutorul 2: 5 listelor de adiacen alturate. Care dintre mulimile urmtoare 3: 4 de noduri are toate elementele extremiti ale unor lanuri de lungime 2 cu cealalt extremitate n nodul 5? (4p.) a. {1,4,6} 2. b. {2} c. {3} corespunde 4: 1,3 5: 1,2,6 6: 1,5

d. {2,6}

Un arbore cu rdcin are nodurile numerotate de la 1 la 18 i este reprezentat prin vectorul de tai t:(8,8,0,3,4,3,4,7,1,2,3,3,7,8,3,5,6,8). Numrul tuturor (4p.) descendenilor nodului 3 este egal cu: b. 6 c. 17 d. 18

a. 3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare 3. Scriei definiia corect a unui tip de date necesar pentru a memora simultan ntr-o singur variabil de acest tip, urmtoarele caracteristici ale unui cerc: abscisa i ordonata centrului cercului (numere ntregi) i raza acestuia (numr real), astfel nct expresia de mai jos s calculeze diametrul cercului ale crui caracteristici sunt memorate n variabila x. 2*x.raza (6p.) x=2; n secvena alturat, variabilele i, j i x sunt de tip ntreg, iar for(j=1;j<=5;j++) variabila a memoreaz o matrice n care prima linie i prima for(i=1;i<=3;i++) coloan sunt numerotate cu 1. Toate elementele matricei { a[j][i]=x; primesc valori n urma executrii secvenei. x=x+1; Scriei n ordine, ncepnd cu prima coloan, elementele } situate pe fiecare linie a matricei care se va construi n urma executrii secvenei alturate. (6p.) O list dublu nlnuit, alocat dinamic, memoreaz n cmpul info al fiecrui nod un numr real, iar n cmpurile urm i prec adresa nodului urmtor, respectiv precedent din list. Adresa primului nod este memorat n variabila prim. Considerndu-se creat lista dublu nlnuit, scriei declarrile de date necesare definirii listei precum i secvena de program C/C++ care modific lista, insernd dup fiecare valoare negativ din list, un nou nod, n care se va memora valoarea 0, i afieaz toate informaiile din nodurile listei dup efectuarea acestei operaii. (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 034 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Graful neorientat cu 60 de noduri, numerotate de la 1 la 60, are numai muchiile [1,60], [60,20], [2,30] i [4,30]. Numrul componentelor conexe ale grafului este egal cu: (4p.) b. 56 c. 54 d. 0 ntr-un arbore cu rdcin cu 10 noduri, numerotate de la 1 la 10, nodul 10 este rdcin, iar ntre celelate noduri exist relaia: nodul cu numrul i+1 este tatl celui cu numrul i, pentru i{1,2,3,4,5,6,7,8,9}. Vectorul de tai al arborelui astfel definit, este: (4p.) b. (1,2,3,4,5,6,7,8,9,0) d. (9,8,7,6,5,4,3,2,1,0)

a. 3 2.

a. (0,1,2,3,4,5,6,7,8,9) c. (2,3,4,5,6,7,8,9,10,0)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o list simplu nlnuit alocat dinamic sunt memorate p=p->urm; while(p->urm->urm!=0) n ordine, urmtoarele valori: p=p->urm->urm; 2 ->3 ->4 ->7 ->5 ->9 ->14 Dac p este adresa primului element al listei i fiecare element reine n cmpul urm adresa elementului urmtor, care este informaia din elementul a crui adres o va reine p n urma executrii secvenei alturate: (6p.) Ce se va afia n urma executrii secvenei char c[21]="tamara",*p; alturate, n care variabila c memoreaz un ir cu for(i=0;i<strlen(c);i=i+1) cel mult 20 de caractere, iar i este o variabil de { p=strchr(c,'a'); cout<<p-c; | printf(%d,p-c);} tip ntreg? (6p.) Scriei programul C/C++ care citete de la tastatur un numr natural n (n20), construiete n memorie i afieaz pe ecran, matricea cu n linii i n coloane, n care se vor memora n ordinea cresctoare a valorii, pe linii i coloane, primele n2 numere naturale nenule, pare, care nu sunt divizibile cu 3. Fiecare linie a matricei se va afia pe cte o linie a ecranului, cu 2 4 8 10 14 16 20 22 elementele de pe aceeai linie separate prin cte un spaiu. Exemplu: pentru n=4 se va construi i afia matricea alturat. 26 28 32 34 38 40 44 46 (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 035 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider graful neorientat cu mulimea nodurilor {1,2,3,4,5,6,7,8} i mulimea muchiilor {[1,2], [2,3], [2,4], [4,7], [2,6], [1,5], [5,6], [6,8], [7,8]}. Pentru a trasforma graful ntr-un arbore, putem elimina: (4p.) b. muchia [5,6] d. muchiile [2,6] i [4,7]

a. muchiile [1,5] i [1,2] c. nodul 3 2.

Se consider o list alocat dinamic care are cel puin 10 elemente i fiecare element al listei memoreaz n cmpul info un numr ntreg, iar n cmpul next adresa elementului urmtor n list sau NULL dac nu exist un element urmtor. Variabila p memoreaz adresa de nceput a while (p!=NULL && p->info%5!=0) listei, iar variabila aux este de acelai tip cu p. { aux=p; p=aux->next; Dac n urma executrii secvenei alturate de delete p; | free(p); program, variabila p are valoarea NULL, } atunci: (4p.) b. doar primul element din list este divizibil cu 5 d. doar ultimul element memorat n list este divizibil cu 5

a. toate numerele din list sunt divizibile cu 5 c. n list nu s-a memorat niciun numr divizibil cu 5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. char c[]="tamara"; 3. Ce se va afia n urma executrii secvenei for(i=0;i<3;i++) alturate, n care variabila c memoreaz un ir cu c[i]=c[i+1]; cel mult 20 de caractere, iar variabila i este de tip cout<<c; | printf("%s",c) ntreg? (6p.) 6: 1:3,5 4. Un graf neorientat cu 10 noduri, numerotate de la 1 la 10, 2:4 7:10 este reprezentat cu ajutorul listelor de adiacen alturate. 3:1,5 8:4 Cte componente conexe are graful i care este numrul 4:2,8 9: minim de muchii ce trebuie adugate pentru ca graful s fie 5:1,3 10:7 conex? (6p.) 5. Scriei programul C/C++ care citete de la tastatur un numr natural n (n50) i construiete n memorie o matrice cu n linii i n coloane, ale crei elemente sunt numere ntregi citite de la tastatur. Pentru fiecare coloan a matricei, n ordine, programul afieaz pe ecran cel mai mic numr de pe respectiva coloan. Numerele afiate vor fi separate prin cte un spaiu. (10p.) 5 10 Exemplu: pentru n=4 i matricea alturat, se vor afia 122 103 -7 18 -10 2 pe ecran valorile: -7 18 -10 2. 107 999 59 4 1 200 100 7

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 036 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. tiind c n urma executrii secvenei x=strlen(s); 1. alturate s-a afiat succesiunea de for (i=0;i<x/2;i++) caractere EXAMEN, care este irul de cout<<s[i]<<s[x-i-1]; caractere memorat de variabila s? (6p.) | printf(%c%c,s[i],s[x-i-1]); b. EAENMX c. NEEXMA d. NEMAXE a. ENXAME 2. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul adr adresa urmtorului element din list, iar n cmpul info un numr ntreg. Adresa primului element al listei este memorat n variabila p. tiind c lista conine exact 4 elemente, atunci expresia p->adr->info reprezint: (4p.) b. adresa celui de al treilea element a. adresa celui de al doilea element c. valoarea memorat n al doilea element d. valoarea memorat n al treilea element Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un graf neorientat cu 7 noduri numerotate de la 1 la 7 i muchiile [1,2],[1,3],[2,3],[2,4],[2,5],[2,6],[4,6],[5,7],[6,7]. Care este numrul minim de muchii care trebuie adugate pentru ca acest graf s devin eulerian? (4p.) Cte muchii trebuie eliminate dintr-un graf neorientat complet cu 20 de noduri, pentru ca acesta s devin arbore? Un graf este complet dac oricare dou noduri distincte sunt adiacente. (6p.) Se consider o matrice cu n linii i m coloane (1n30, 1m30), ce memoreaz numere ntregi de cel mult 4 cifre fiecare. Scriei un program C/C++ care citete de la tastatur valorile n, m i elementele matricei i care afieaz pe ecran, separate prin cte un spaiu, valorile minime de pe fiecare coloan, n ordine de la prima la ultima coloan. Exemplu: pentru n=4, m=4 i matricea alturat se vor afia pe ecran valorile 3 2 7 3. (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 037 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Fie declarrile alturate. Dac variabila x struct elev{ char nume[30]; reine informaii despre un elev, precizai float nota;}; care este varianta corect ce afieaz prima elev x; liter din numele acestuia? (6p.)

a. cout<<nume; | printf(%c,nume); b. cout<<x; | printf(%c,x); c. cout<<x.nume; | printf(%c,x.nume); d. cout<<x.nume[0]; | printf(%c,x.nume[0]); 2. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul adr adresa urmtorului nod din list, iar n cmpul info un numr ntreg. Variabilele d i q rein adresele cte unui nod (nodul referit de d este inclus n list, iar cel referit de q nu aparine listei). S se identifice secvena de instruciuni care realizeaz inserarea corect, n list, a nodului memorat la adresa q, ca succesor al nodului reinut la adresa d. (4p.) b. q->adr=d->adr; d->adr=q; d. d=q; q->adr=d->adr;

a. d->adr=q; q->adr=d; c. d->adr=q; q->adr=d->adr;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Urmtorii doi itemi se refer la graful orientat din figura urmtoare: 3. Se consider un graf orientat cu 5 vrfuri reprezentat n figura alturat. Care este matricea de adiacen corespunztoare grafului? (6p.)

4. 5.

Scriei care este gradul intern al vrfului 5 i gradul extern al vrfului 1.

(4p.)

Un ir cu maximum 255 de caractere conine cuvinte separate prin unul sau mai multe spaii. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care citete un astfel de ir i l afieaz modificat, prima i ultima liter a fiecrui cuvnt fiind afiat ca liter mare. Exemplu: pentru irul: maine este proba la informatica se va afia: MainE EstE ProbA LA InformaticA (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 038 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul adr adresa urmtorului nod din list, iar n cmpul info un numr ntreg. Considerm c o astfel de list memoreaz, n ordine, doar valorile 7, 5, 4, 9, 3. Variabila d reine adresa nodului la care este memorat valoarea 4. Care este secvena de instruciuni care trebuie executat pentru ca lista s conin, n ordine, doar valorile 7, 5, 9, 3? (6p.) d->adr=d->adr; d->info=d->adr->info; d->adr=d->adr->adr; d->info=d->adr->info; d->adr=d->adr->adr; d->adr->adr=d->adr; d->adr->info=d->info;

a. b. c. d. 2.

Considerm c variabila s memoreaz irul de caractere examen. Care va fi valoarea lui s dup executarea instruciunilor? s[0]= E;s[strlen(s)-1]= N;s[strlen(s)/2-1]= A;s[strlen(s)/2]= M; (4p.) b exAMen c. EXAMEN d. ExAMeN a. ExameN .

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Urmtorii doi itemi se refer la un graf neorientat cu 7 noduri, numerotate de la 1 la 7 i muchiile [1,5], [2,3], [2,4], [2,5], [3,4], [4,5], [4,7], [5,6], [5,7]. 3. 4. 5. Care este numrul minim de muchii care trebuie eliminate astfel nct graful s aib 3 componente conexe? (6p.) Cte cicluri elementare distincte exist n graf? Dou cicluri sunt distincte dac difer prin cel puin o muchie. (4p.) Se consider o matrice ptratic cu n linii i n coloane (1n30), ce memoreaz numere ntregi de cel mult 2 cifre fiecare. Scriei un program C/C++ care citete de la tastatur valoarea n i elementele matricei i care afieaz pe ecran, produsul acelor elemente de pe diagonala secundar care au proprietatea c sunt valori minime pe coloanele lor. Dac nu exist astfel de elemente n matrice, se va afia mesajul NU EXISTA. Exemplu: pentru n=4 i matricea alturat se va afia pe ecran valoarea 21 (3*7=21). (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 039 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Stabilii care dintre urmtorii vectori este vector de tai pentru 0 1 0 arborele cu 7 noduri, numerotate de la 1 la 7, cu rdcina 1, 1 0 1 reprezentat prin matricea de adiacen alturat: (4p.) 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 b. (0, 1, 2, 2, 1, 5, 5) d. (2, 1, 0, 2, 1, 5, 2) 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0

a. (1, 0, 2, 2, 1, 5, 5) c. (3, 1, 0, 2, 1, 5, 6) 2.

Considerm c variabila s memoreaz irul de caractere mama. Care va fi valoarea lui s dup executarea instruciunilor de mai jos? s[0]=M; s[strlen(s)-3]= A; (4p.) b. MamA c. MAma d. MAMA

a. MaAa

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul info un numr ntreg, iar n cmpul leg adresa urmtorului nod din list sau NULL dac nu exist un nod urmtor. Adresa primului element al listei este memorat n variabila p. Ce valoare se va afia, n urma executrii secvenei alturate, dac lista memoreaz, n ordine, doar valorile 5, 4, 3, 2, 6 ? (6p.) Considerm declaraiile: int i,j,a[10][10]; Ce se va afia dup executarea secvenei de instruciuni alturate? (6p.) x=1; while (p->leg!=NULL) { x=x * p->leg->info; p=p->leg; } cout<<x;|printf(%d,x);

4.

for(i=1;i<=3;i++) for(j=1;j<=3;j++) a[i][j]=i+j; for(i=1;i<=3;i++){ for(j=1;j<=3;j++) cout<<a[i][j]; | printf(%d,a[i][j]); cout<<endl; | printf(\n); }

5.

Un ir cu maximum 255 de caractere conine cuvinte separate prin cte un spaiu. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care citete de la tastatur un astfel de ir i l afieaz pe ecran modificat, inversnd prin oglindire doar cuvintele care ncep cu vocal, ca n exemplu. Exemplu: pentru irul: maine este proba la informatica se va afia: maine etse proba la acitamrofni (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 040 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider vectorul de tai" al unui arbore cu rdcin t=(3,4,0,3,3,5) ale crui noduri sunt numerotate de la 1 la 6. Alegei afirmatia corect: (4p.) b. nodul 3 are un singur descendent direct a. nodurile 4 i 6 sunt noduri de tip frunz (fiu) d. nodurile 1, 2, 6 sunt noduri de tip frunz c. nodul 6 este tatl nodului 5

2.

Se consider o coad, n care au fost introduse iniial, n aceast ordine, dou numere: 2 i 1. Coninutul cozii este reprezentat n figura alturat. Notm cu AD X operaia prin care se adaug informaia X n coad i cu EL operaia prin care se elimin un element din coad. Asupra cozii se efectueaz, exact n aceast ordine, operaiile AD 10; AD 15; EL; AD 4; EL; AD 20; EL. Care este coninutul cozii dup executarea operaiilor de mai sus? (4p.) a. 15 4 b. 15 4 20 c. 4 20 d. 20

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un graf neorientat cu 8 noduri, numerotate de la 1 la 8, i muchiile [1,5], [1,6], [2,6], [3,4], [3,6], [3,7], [4,6], [6,8], [7,8]. Dac se elimin nodul 6 i toate muchiile incidente cu acesta cte componente conexe va avea subgraful rezultat?(6p.) for(i=1;i<=3;i++) Considerm declaraiile: for(j=1;j<=3;j++) int i,j,a[10][10]; if(i<j)a[i][j]=i; Ce se va afia dup executarea else a[i][j]=j; secvenei de instruciuni alturate? for(i=1;i<=3;i++){ (6p.) for(j=1;j<=3;j++) cout<<a[i][j]; | printf(%d,a[i][j]); cout<<endl; | printf(\n); } Un ir cu maximum 255 de caractere conine cuvinte separate prin caracterul *. Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care citete un astfel de ir i afieaz pe ecran irul obinut prin eliminarea tuturor apariiilor primului cuvnt, ca n exemplu. Exemplu: pentru irul: bine*bine*e*foarte*bine* se va afia: **e*foarte** (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 041 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 0 1 0 0 1 1. Cte dintre vrfurile grafului neorientat G, reprezentat prin matricea de 1 0 1 1 0 adiacen alturat, au gradul un numr par? (4p.) 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 a. 3 2. b. 1 c. 2 d. 5

Fiecare nod al unei liste simplu nlnuite, cu cel puin 4 noduri, reine in cmpul urm adresa nodului urmtor din list sau NULL dac nu are un nod urmtor. tiind c variabila p reine adresa primului nod din list, variabila q reine adresa celui de-al doilea nod din list, iar variabila r reine adresa celui de-al treilea nod din list, care este secvena prin care se interschimb al doilea cu al treilea element din lista iniial? (4p.) b. p->urm=r; r->urm=q->urm; q->urm=r->urm; c. r->urm=q->urm; q->urm=r->urm; p->urm=r; d. q->urm=r->urm; p->urm=r; r->urm=q->urm;

a. p->urm=r; q->urm=r->urm; r->urm=q;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Pentru reprezentarea unui arbore cu radacin cu 10 noduri, etichetate cu numere naturale de la 1 la 10, se utilizeaz vectorul de tai: TATA=(4, 8, 8, 0, 10, 4, 8, 6, 2, 6). Care sunt frunzele arborelui? (6p.) Ce afieaz pe ecran secvena de program for (i='a';i<='z';i++) if (strchr("info",i)) scris alturat, n care i este o variabil de cout<<i; | printf("%c",i); tip char? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (1n23) i apoi construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, astfel nct fiecare element situat pe o linie i (1in) i pe o coloan j (1jn) va fi egal cu suma dintre i i j. Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a ecranului, elementele de pe aceeai linie fiind separate prin cte un spaiu. Exemplu: dac n=4, se va afia matricea alturat. (10p.) 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 042 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care rspunsului corect. 0 0 1. Cte dintre vrfurile grafului neorientat G, reprezentat prin matricea de 0 0 adiacen alturat, au gradul 0? (4p.) 0 0 1 0 1 0 a. 2 2. b. 1 c. 3 d. 0 corespunde 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0

ntr-o list simplu nlnuit alocat dinamic, cu cel puin dou noduri, fiecare nod reine n cmpul urm adresa nodului urmtor din list sau NULL dac nu are un nod urmtor. tiind c variabila p reine adresa primului nod din list, iar variabila q este de acelai tip cu p, care este secvena ce realizeaz eliminarea celui de-al doilea nod din list? (4p.) b. p->urm=p->urm->urm; delete p; | free(p); d. p=q->urm; q->urm=p->urm->urm; delete q; | free(q);

a. q=p->urm; q->urm=p->urm->urm; delete q; | free(q); c. q=p->urm; p->urm=p->urm->urm; delete q; | free(q);

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Pentru reprezentarea unui arbore cu radacin cu 9 noduri, etichetate cu numere naturale de la 1 la 9, se utilizeaz vectorul de tai: T=(5,0,2,7,3,3,2,4,7). Din cte muchii este format un lan alctuit din noduri distincte, lan de lungime maxim, n arborele dat? (6p.) Variabila a memoreaz un tablou bidimensional cu 5 linii for(i=1;i<=5;i++) for(j=1;j<=5;j++) si 5 coloane, numerotate de la 1 la 5, ale crui elemente a[i][j]=j%i+i%j; sunt numere ntregi. Care este cea mai mare valoare, memorat n tablou, deasupra diagonalei principale a tabloului construit n urma executrii secvenei de program alturate ? (6p.) Scriei programul C/C++ care citete de la tastatur un ir de cel mult 40 de caractere, format doar din litere mici ale alfabetului englez, i care afieaz pe ecran, pe o singur linie, toate vocalele ce apar n irul citit. Vocalele vor fi afiate n ordinea apariiei lor n ir, separate prin cte un spaiu, ca n exemplu. irul citit conine cel puin o vocal i se consider ca fiind vocale urmtoarele litere: a, e, i, o, u. Exemplu: dac se citete irul calculator atunci pe ecran se va afia: a u a o (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 043 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Un graf neorientat este reprezentat prin matricea de adiacen alturat. Cte grafuri pariale distincte, formate doar din noduri cu gradul egal cu 2, se pot obine din graful dat? Dou grafuri sunt distincte dac matricele lor de adiacen difer. (4p.) 3 b. 1 c. 2 d. 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0

a. 2.

ntr-o list simplu nlnuit, fiecare element reine n cmpul urm adresa elementului urmtor din list sau NULL dac nu are un element urmtor. Lista are cel puin dou elemente, variabila p reine adresa primului element, iar q reine adresa ultimului element din list. Care este numrul de elemente din list dac este relaia de mai jos are valoarea 1? p->urm->urm==q (4p.) 2 b. 3 c. 4 d. 5

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Pentru reprezentarea unui arbore cu rdcin cu 10 noduri, etichetate cu numere naturale de la 1 la 10, se utilizeaz vectorul de tai: TATA=(4, 8, 8, 0, 10, 4, 8, 6, 2, 6). Care este rdcina arborelui i cte frunze are acesta? (6p.) Ce afieaz pe ecran secvena alturat de strcpy(a,"informatica"); program, unde a este o variabil de tip ir de strcpy(a+2,a+5); caractere? (6p.) cout<<a; | printf("%s",a); Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi construiete n memorie o matrice cu n linii i n coloane astfel nct elementele situate pe diagonala principal sa fie egale cu 2, cele situate deasupra diagonalei principale s fie egale cu 1, iar cele situate sub diagonala principal s fie egale 3. 2 1 1 1 Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a 3 2 1 1 ecranului, cu cte un spaiu ntre elementele fiecrei linii. 3 3 2 1 Exemplu: dac n este 4 atunci programul va construi i va afia 3 3 3 2 matricea alturat. (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 044 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care rspunsului corect. 0 1 1. Graful orientat G este reprezentat prin matricea de adiacen alturat. 1 0 Cte vrfuri din graful dat au gradul interior egal cu gradul exterior? 0 0 (4p.) 0 1 1 0 a. 0 2. b. 1 c. 3 d. 2 corespunde 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0

ntr-o list simplu nlnuit cu cel puin 4 elemente, fiecare nod reine in cmpul urm adresa nodului urmtor din list sau NULL dac nu are un nod urmtor. tiind c iniial variabila p reine adresa primului nod din list, dup executarea crei secvene p va reine adresa ultimului nod din list? (4p.) b. while(p!=NULL) p=p->urm; d. p=p->p->urm;

a. while(p->urm!=NULL) p=p->urm; c. p=p->urm;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Pentru reprezentarea unui arbore cu radacin cu 9 noduri, etichetate cu numere naturale de la 1 la 9, se utilizeaz vectorul de tai: T=(7,0,2,7,6,2,3,6,5). Care sunt nodurile arborelui ce au exact 2 descendeni direci (fii)? (6p.) Ce valoare se va afia pe ecran n urma executrii strcpy(a,"info"); secvenei de program alturate, tiind c variabila for(i=0;i<strlen(a);i++) a[i]=a[i]+1; a este de tip ir de caractere, iar i este o variabil de tip ntreg? (6p.) cout<<a; | printf("%s",a); Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi construiete n memorie o matrice cu n linii i n coloane, format din numere naturale nenule, mai mici sau egale cu n, astfel nct s nu existe dou linii cu aceeai sum a elementelor i nici dou coloane cu aceeai sum a elementelor. Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a ecranului, cu un spaiu ntre elementele fiecrei linii. Exemplu: dac n=3 atunci o soluie posibil este urmtoarea matrice: 1 1 1 1 1 2 1 2 3 (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 045 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 0 0 0 0 1 1. Graful neorientat G este dat prin matricea de adiacen alturat. 0 0 1 1 0 Cte vrfuri ale grafului G au gradul 1? (4p.) 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 a. 1 2. b. 2 c. 3 d. 0

ntr-o list simplu nlnuit nevid, fiecare element reine n cmpul urm adresa elementului urmtor din list sau NULL dac nu are un nod urmtor. tiind c variabila p reine adresa primului element din list, variabila q reine adresa ultimului element din list, iar lista este format din exact 3 elemente, care dintre urmtoarele secvene de instruciuni determin, n urma executrii, eliminarea celui de-al doilea element din list? (4p.) p->urm=q; delete q; | free(p->urm); b. p->urm=q; delete p->urm; | free(p->urm); d. delete p->urm; | free(p->urm); p->urm=q;

a.

c. p=q; delete p->urm; | free(p->urm);

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Pentru reprezentarea unui arbore cu rdcin cu 9 noduri, etichetate cu numere naturale de la 1 la 9, se utilizeaz vectorul de tai: T=(2,0,1,7,3,1,2,4,1). Care sunt descendenii direci ai rdcinii i cte frunze are arborele dat? (6p.) Variabila a memoreaz elementele unui tablou bidimensional for(i=1;i<=4;i++) for(j=1;j<=5;j++) cu 4 linii i 5 coloane, numere ntregi. Care este cel mai mic a[i][j]=i-j; element situat pe a doua linie a tabloului construit n urma executrii secvenei de program alturate? (6p.) Scriei programul C/C++ care citete de la tastatur un ir de cel mult 40 de caractere, format doar din litere ale alfabetului englez, i care afieaz pe ecran toate irurile obinute prin eliminarea succesiv a cte unei singure litere din irul citit, ca n exemplu. irurile obinute se vor afia cte unul pe cte o linie a ecranului. Exemplu: dac se citete irul abbc atunci pe ecran se va afia: bbc abc abc abb (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 046 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care dintre urmtoarele propoziii este fals pentru graful orientat G, dat prin matricea de adiacen alturat? (4p.) 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 0

a. exist cel puin un nod n graful G care are gradul intern egal cu cel extern c. exist cel puin un drum ntre oricare dou noduri ale grafului G 2.

b. graful G nu are circuite d. graful G are 9 arce

for ( i=k+1; i<=n; i++) n secvena alturat, variabila v memoreaz for (j=1; j<=n; j++) elementele unei matrice cu liniile i coloanele v[i-1][j] = v[i][j]; numerotate de la 1 la n, iar toate celelalte n=n-1; variabile sunt ntregi. Dac 1k<n, atunci executarea secvenei determin: (4p.) b. adugarea liniei k n matrice a. eliminarea liniei k din matrice d. adugarea coloanei k n matrice c. eliminarea coloanei k din matrice

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Cte frunze are arborele cu rdcin cu 9 noduri, numerotate de la 1 la 9, al crui vector de tai este (6, 6, 8, 8, 7, 7, 0, 7, 7)? (6p.) ntr-o list simplu nlnuit cu cel puin 3 elemente, fiecare element reine n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element din list. Dac se prelucreaz lista de mai jos, care este valoarea memorat de variabila ntreag k, la finalul executrii urmtoarei secvene de instruciuni?

k=0; while(p->urm->urm && p->inf > p->urm->inf) { p = p->urm; k = k + p->urm->inf; } 5.

(6p.)

Se consider un text format doar din spaii i litere mici ale alfabetului englez, care ncepe cu o liter i care conine cel puin o vocal din multimea {a,e,i,o,u}. Scriei programul C/C++ care citete de la tastatur un ir cu cel mult 100 de caractere, ca cel descris mai sus i care determin transformarea acestuia prin nlocuirea fiecrei vocale din text cu litera imediat urmtoare din alfabet (a se nlocuiete cu b, e se nlocuiete cu f .a.m.d.). Programul va afia pe ecran irul obinut. Exemplu: dac irul citit este examen de bacalaureat, dup modificare se afieaz: fxbmfn df bbcblbvrfbt (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 047 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care dintre urmtorii vectori NU poate reprezenta vectorul de tai rdcin, cu 5 noduri, numerotate de la 1 la 5? b. 2 0 1 1 2 c. 3 4 0 2 3 al unui arbore cu (4p.) d. 4 1 1 0 2

a. 3 1 0 1 2 2.

Variabila s reine irul de caractere bacalaureat. Ce se afieaz la executarea instruciunii de mai jos? cout<<strchr(s,a); | printf(%s,strchr(s,a)); c. 4 d. bcluret (4p.)

a. 2

b. acalaureat

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o list simplu nlnuit cu cel puin 2 elemente, fiecare element reine n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element din list. Dac se prelucreaz lista de mai jos, care este valoarea memorat de variabila ntreag k, la finalul executrii urmtoarei secvene de instruciuni? k=0; while((p->urm!=NULL) && (p->inf*p->urm->inf%10!=0)) { p = p->urm; k ++; } (6p.) 4. n declararea alturat, cmpurile a i b ale nregistrrii struct rap reprezint numrtorul, respectiv numitorul unei fracii. Care este { int a, b; } f; expresia cu care se pot nlocui punctele de suspensie n secvena int k; de mai jos astfel nct dac fracia memorat n variabila f se simplific prin numrul natural nenul k se afieaz mesajul DA? if ( ) cout<< DA; | printf(DA); 5. (6p.) Scriei un program C/C++ care citete de la tastatur dou numere naturale m i n (0<m10, 0<n10) i elementele unui tablou bidimensional cu m linii i n coloane care reine numere naturale mai mici dect 100; programul va construi i va afia pe ecran un nou tablou bidimensional cu n linii i m coloane, obinut din primul prin rotirea acestuia n sens trigonometric cu 90o, ca n exemplu. (10p.) 25 30 35 40 Exemplu: pentru m=4, 21 22 23 24 25 se va afia: 26 27 28 29 30 24 29 34 39 n=5 i tabloul: 31 32 33 34 35 23 28 33 38 36 37 38 39 40 22 27 32 37 21 26 31 36

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 048 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. ntr-o list simplu nlnuit cu cel puin 3 elemente, fiecare element reine n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element din list, iar variabilele q i aux sunt de acelai tip cu p. Dac se prelucreaz lista de mai jos, care va fi coninutul listei dup executarea urmtoarei secvene de instruciuni? q=p; while(q->urm->urm !=NULL && q->inf >= p->inf) q = q->urm; aux=q->urm; q->urm=aux->urm; delete aux; (4p.) a. 8 5 8 9 3 2. b. 7 8 8 9 3 c. 7 8 5 8 9 3 d. 7 8 5 9 3 In secvena alturat, variabilele s1, if(!(strcmp(s1,s2) || strcmp(s1,s3))) val=1; s2 i s3 rein iruri de caractere. else val=2; Dup executarea acesteia, variabila ntreag val primete valoarea 1 dac: (4p.) rein iruri identice de b. S1, s2, s3 rein iruri de caractere ordonate lexicografic d. S1 este obinut prin concatenarea irurilor reinute n s2 i s3

a. S1, s2, s3 caractere

c. S1, s2, s3 rein iruri de caractere de lungimi diferite

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care este lungimea celui mai scurt drum de la nodul 1 la nodul 5 pentru graful orientat din figura alturat? (6p.)

4.

5.

n declararea alturat variabila a reine n cmpurile x i y struct punct coordonatele unui punct n planul xOy. Care este expresia a crei { float x,y; valoare reprezint distana punctului respectiv fa de originea }a; axelor de coordonate? (6p.) 2 4 6 8 Scriei un program C/C++ care citete de la tastatur un numr 10 12 14 16 natural n (2<n<10) i care construiete n memorie i afieaz pe 18 20 22 24 ecran un tablou bidimensional cu n linii i n coloane astfel nct, 26 28 30 32 parcurgndu-l linie cu linie de sus n jos i fiecare linie de la stnga la dreapta, se obin primele n2 numere pare nenule, n ordine strict cresctoare, ca n exemplu. Exemplu: pentru n=4, se construiete i se afieaz tabloul alturat. (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 049 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care dintre urmtoarele propoziii NU este adevrat pentru graful orientat cu 6 vrfuri, numerotate de la 1 la 6 i ale crui arce sunt: (2,1), (3,6), (4,1), (4,3), (4,5), (5,2), (6,4)? (4p.) b. vrful numerotat cu 1 are gradul extern 0 d. graful nu are circuite

a. vrful numerotat cu 6 aparine unui circuit c. gradul intern al vrfului numerotat cu 4 este 1 2.

Fiind dat un tablou bidimensional cu 20 linii i 20 coloane, cte elemente se gsesc strict deasupra diagonalei secundare a tabloului? (4p.) b. 200 c. 190 d. 210

a. 180

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. struct elev { 3. Variabila x, declarat alturat, memoreaz n cmpurile med1 i int matricol; med2 mediile semestriale ale unui elev. Scriei expresia a crei float med1,med2; valoare va fi media anual a acestui elev. (6p.) }x; 4. ntr-o list simplu nlnuit cu cel puin 2 elemente, fiecare element reine n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element din list, iar variabila q este de acelai tip cu p. Dac se prelucreaz lista de mai jos, care va fi coninutul listei dup executarea urmtoarei secvene de instruciuni? q=p; while(q->urm!=NULL && q->inf<=q->urm->inf) q=q->urm; q->inf=q->urm->inf+1;

(6p.) 5. Un cuvnt s, de cel mult 20 caractere, format doar din litere mici ale alfabetului englez, conine cel puin o consoan. Scriei programul C/C++ care citete de la tastatur cuvntul s, construiete n memorie i afieaz pe ecran cuvntul obinut prin eliminarea tuturor consoanelor din cuvntul s. Se consider consoan oricare liter care nu se afl n mulimea {a, e, i, o, u}. Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: aaauea (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 050 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este numrul de circuite distincte ale grafului orientat dat prin matricea de adiacen alturat? Dou circuite sunt distincte dac difer prin cel puin un arc. (4p.) 0 1 0 0 0 0 d. 3 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0

a. 0 2.

b. 1

c. 2

ntr-o list simplu nlnuit cu cel puin 2 elemente, fiecare element reine n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Variabila p reine adresa primului element din list. Dac se prelucreaz lista de mai jos, care este valoarea memorat de variabila ntreag k, la finalul executrii urmtoarei secvene de instruciuni?

k=3; while(p->urm!=NULL && p->inf > p->urm->inf) k = k + p->urm->inf; b. 10 c. 12 a. 8

p = p->urm; (4p.) d. 13

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Cte dintre nodurile arborelui din figura alturat pot fi considerate ca fiind rdcin astfel nct fiecare nod s aib cel mult doi descendeni direci (fii)? (6p.)

4.

Elementele tabloului bidimensional din figura alturat, cu 5 linii i 5 coloane, sunt toate numerele naturale cuprinse ntre 1 i 25 aezate n spiral, ncepnd cu primul element al primei linii i continund n sens invers trigonometric ca n figura alturat. Care este ultima cifr a produsului numerelor impare aflate sub diagonala secundar (exclusiv diagonala secundar), n cazul unui tablou bidimensional cu 4 linii i 4 coloane generat dup aceeai regul? (6p.)

1 16 15 14 13

2 17 24 23 12

3 18 25 22 11

4 19 20 21 10

5 6 7 8 9

5.

Scriei programul C/C++ care citete de la tastatur un cuvnt s de cel mult 20 litere mici ale alfabetului englez, construiete n memorie i afieaz pe ecran cuvntul s dup eliminarea primei i a ultimei vocale. Cuvntul s conine cel puin dou vocale. Se consider vocale literele: a, e, i, o, u. Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: bcalauret (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 051 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Considerm declararea alturat folosit pentru a memora numele, prenumele i media unui elev. Care dintre expresiile de mai jos are ca valoare prima liter a numelui unui elev ale crui informaii sunt memorate n variabila p? (4p.)
struct elev{ char nume[10],prenume[20]; float medie; }p;

a. p.nume[1] c. p.nume 2.

b. p.nume[0] d. nume[1]

Se consider un graf neorientat cu 5 noduri i 9 muchii. Care dintre urmtoarele iruri de numere pot fi gradele nodurilor grafului? (4p.) b. 2, 2, 1, 2, 2 d. 4, 3, 3, 4, 4

a. 4, 2, 6, 4, 2 c. 1, 1, 1, 1, 1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n secvena alturat, variabila a memoreaz elementele unui tablou bidimensional cu 4 linii (numerotate de la 0 la 3) i 4 coloane (numerotate de la 0 la 3), iar toate celelalte variabile sunt de tip ntreg. Ce valoare va avea elementul a[1][3] dup executarea secvenei de instruciuni scris alturat? (6p.) x=5; for (i=0;i<=3;i++) for (j=0;j<=3;j++) {a[i][j]=x; x=x+1; }

4. 5.

Care este numrul maxim de muchii pe care l poate avea un graf neorientat cu 6 noduri i 3 componente conexe? (6p.) Se consider un ir s avnd maximum 52 de caractere, ir ce conine numai litere mici ale alfabetului englez i cifre. Primul caracter al irului este o liter mic, ultimul caracter al irului este o cifr i fiecare liter mic din ir este urmat de o cifr nenul. Scriei un program C/C++ care citete de la tastatur irul s, apoi construiete i afieaz pe ecran un nou ir de caractere, format numai din litere mici ale alfabetului englez, ir construit dup urmtoarea regul: fiecare liter mic se va repeta de attea ori de cte ori o indic cifra situat pe poziia imediat urmtoare n irul iniial, ca n exemplu. Exemplu: dac se citete de la tastatur irul a2b1f2 atunci irul cerut este aabff (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 052 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Considerm declararea alturat folosit struct elev{ char nume[10],prenume[20]; pentru a memora numele, prenumele i cele float nota1,nota2; 2 note ale unui elev. } x; Care dintre instruciunile de mai jos calculeaz n variabila real m media aritmetic a notelor elevului ale crui informaii sunt memorate n variabila x? (4p.) b. m=(nota1+nota2)/2; d. m=(x,nota1+x,nota2)/2;

a. m=(x.nota1+x.nota2)/2; c. x.m=(x.nota1+x.nota2)/2; 2.

Se consider graful neorientat din figura alturat. Care este numrul minim de muchii ce se pot elimina astfel nct graful parial obinut s aib exact 3 componente conexe? (4p.) b. 4 c. 1 d. 3

a. 2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n secvena alturat, variabila a memoreaz elementele x=5; unui tablou bidimensional cu 4 linii (numerotate de la 0 la for (i=0;i<=3;i++) for (j=0;j<=3;j++) 3) i 4 coloane (numerotate de la 0 la 3), iar toate if(i==j) celelalte variabile sunt de tip ntreg. {a[i][j]=x; Ce valoare va avea elementul a[3][3] dup executarea x++;} secvenei de instruciuni scris alturat? (6p.) Se consider o list liniar simplu nlnuit cu cel puin 5 noduri, n care fiecare nod al listei conine n cmpul urm adresa nodului urmtor din list. Adresa primului nod este memorat n variabila prim, iar variabila p este de acelai tip cu prim. Ce modificare se produce asupra listei prin executarea p=prim; secvenei de instruciuni alturate? (6p.) prim=p->urm; delete(p); | free(p); Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n100), apoi n iruri de caractere, fiecare ir avnd maximum 30 de litere mici ale alfabetului englez i afieaz pe ecran cte dintre cele n iruri de caractere sunt formate numai din vocale. Se consider vocale literele a, e, i, o, u. Exemplu: dac n=3, iar irurile citite sunt date alturat, atunci arc programul va afia pe ecran 1 deorece irul ae este format ae numai din vocale. (10p.) creion

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 053 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. n secvena alturat, variabila x for(i=0;i<=strlen(x)-1;i=i+3) cout<<x[i]; | printf(%c,x[i]); memoreaz un ir cu cel mult 100 de caractere, iar variabila i este de tip ntreg. Care este numrul maxim de caractere pe care l poate avea irul x astfel nct secvena alturat s afieze exact 3 caractere ale acestuia? (4p.) b. 3 c. 9 d. 8

a. 7 2.

Se consider un graf orientat cu 5 vrfuri i 8 arce. Care dintre urmtoarele iruri de numere pot fi gradele exterioare ale vrfurilor acestui graf? (4p.) b. 2, 2, 6, 5, 1 d. 1, 1, 0, 2, 1

a. 2, 3, 1, 1, 1 c. 1, 0, 1, 1, 1, 1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. In secvena de mai jos, variabila a memoreaz elementele unui tablou bidimensional cu 5 linii (numerotate de la 1 la 5) i 5 coloane (numerotate de la 1 la 5), iar celelalte variabile sunt de tip ntreg. Ce valoare se va afia n urma executrii secvenei dac se prelucreaz urmtoarea matrice? 1 2 3 4 2 x=0; 6 7 8 9 4 for (i=1;i<=5;i++) 1 2 0 4 3 if(a[i][i]%2!=0) 7 2 1 4 5 x=x+a[i][6-i]; 1 2 3 4 5 cout<<x; | printf(%d,x); (6p.) n secvena de mai jos, variabila s memoreaz un ir de caractere, iar variabila i este de tip ntreg. Ce valoare se va afia n urma executrii secvenei urmtoare? strcpy(s,bacalaureat); i=strchr(s,a)-s; cout<<i+1; | printf(%d,i+1); 5.

4.

(6p.)

Se consider o list simplu nlnuit alocat dinamic, n care fiecare nod memoreaz n cmpul info un numr ntreg, iar n cmpul urm adresa elementului urmtor. Scriei un program C/C++ care citete de la tastatur 3 numere naturale nenule n, a i r (n20, a10, r10) i construiete n memorie o list simplu nlnuit astfel nct parcurgnd lista de la primul nod pn la ultimul nod i afind pe ecran, separate prin cte un spaiu, numerele memorate n cmpul info al fiecrui nod, se obin n ordine strict cresctoare toate elementele mulimii M={a, a+r, a+2r,...,a+(n-1)r}. Exemplu: dac n=4, a=10, r=2 atunci se vor afia elementele alturate. 10 12 14 16 (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 054 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider un graf neorientat cu 10 vrfuri astfel nct ntre oricare dou vrfuri distincte exist muchie. Cte lanuri elementare distincte de lungime 3 exist ntre vrful 2 i vrful 4? Lungimea unui lan este egal cu numrul de muchii din care este compus. Dou lanuri sunt distincte dac difer prin cel puin o muchie. Dac vrfurile unui lan sunt distincte dou cte dou, atunci lanul se numete elementar. (4p.) b. 28 c. 45 d. 56 Se consider graful orientat din figura alturat. Cte dintre vrfurile grafului au gradul intern egal cu gradul extern? (4p.)

a. 90 2.

a. 3

b. 2

c. 1

d. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n secvena alturat, variabila x memoreaz un ir de caractere, iar toate celelalte variabile sunt de tip ntreg. Ce valori au variabilele k1 i k2 dup executarea secvenei de instruciuni alturate? (6p.) strcpy(x,bac2008); k1=strlen(x); k2=0; for (i=0;i<strlen(x);i++) if( x[i]>=0 && x[i]<=9) k2=k2+1;

4.

Se consider lista liniar simplu nlnuit cu 6 noduri, reprezentat mai jos, n care fiecare nod conine n cmpul info un numr natural, iar n cmpul urm adresa nodului urmtor din list sau NULL dac nu exist un nod urmtor.

Dac adresa primului nod este memorat n variabila prim, iar variabila p este de acelai tip cu prim, ce se afieaz la executarea secvenei de mai jos? for(p=prim->urm;p->urm!=NULL;p=p->urm->urm) cout<<p->info<< ; | printf(%d ,p->info); (6p.) 5. Scriei un program C/C++ care citete de la tastatur un numr natural par, n (4n10), i un numr natural x, cu exact 3 cifre, i care construiete n memorie un tablou bidimensional cu n linii i n coloane, ce are elementele de pe diagonala principal egale cu prima cifr a numrului x, elementele de pe diagonala secundar egale cu ultima cifr a numrului x, iar restul elementelor egale cu cifra din mijloc a numrului x. Tabloul bidimensional se va afia pe ecran, cte o linie a tabloului pe cte o 1 2 2 3 2 1 3 2 linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. Exemplu: dac se citesc de la tastatur n=4 i x=123 atunci se afieaz 2 3 1 2 tabloul alturat. (10p.) 3 2 2 1

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 055 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Considerm declararea alturat. Care dintre urmtoarele instruciuni este corect din punct de vedere sintactic? (4p.) b. p=9; c. p.x=7;
struct punct{ int x,y; } p;

a. p->y=p->y+1; 2.

d. p=p+1;

Variabila n memoreaz un numr natural nenul. Care este numrul total de grafuri orientate distincte cu n noduri? Dou grafuri orientate sunt distincte dac matricele lor de adiacen sunt diferite. (4p.) b. 3n*(n-1)/2 c. 4n*(n-1) d. 2n*(n-1)/2

a. 4n*(n-1)/2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Considerm urmtoarele declarri: int i,aux,a[10][10]; Ce valori se afieaz n urma executrii secvenei alturate dac liniile i coloanele tabloului bidimensional sunt numerotate de la 0 la 9 i iniial fiecare linie a tabloului conine, de la stnga la dreapta, n ordine descresctoare, toate numerele naturale, de la 10 la 1? (6p.) 4. for (i=0;i<=8;i++) if( a[i][9-i]<a[i+1][8-i]) {aux=a[i][9-i]; a[i][9-i]=a[i+1][8-i]; a[i+1][8-i]=aux;} cout<<a[0][9]<< <<a[9][0]; | printf(%d %d,a[0][9],a[9][0]);

Se consider o list liniar simplu nlnuit cu cel puin 5 noduri, n care fiecare nod al listei conine n cmpul urm adresa nodului urmtor din list. Dac adresa primului nod este memorat n variabila prim, iar p=prim->urm; variabila p este de acelai tip cu prim, ce prelucrare prim->urm=p->urm; realizeaz urmtoarea secven de instruciuni? (6p.) delete(p); | free(p); Scriei un program C/C++ care citete de la tastatur un ir de caractere format din maximum 10 caractere, reprezentnd un numr real n care partea ntreag este separat de partea zecimal prin caracterul punct. Programul afieaz pe ecran valoarea obinut prin adunarea numrului corespunztor prii ntregi i a numrului corespunztor prii zecimale ale datei citite. Exemplu: dac se citete de la tastatur irul de caractere 120.456 atunci se va afia 576, iar dac se citete de la tastatur irul de caractere 121.090 atunci se va afia 130. (10p.)

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 056 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Variabila x este utilizat pentru a memora numele, prenumele i salariul unei persoane. Numele i prenumele pot avea cel mult 20 de litere fiecare, iar salariul este un numr natural nenul mai mic dect 30000 . Care dintre urmtoarele declarri este corect? (4p.) b. int x[3][21]; d. struct x[ char nume[21],prenume[21]; int sal;] x;

a. float x[3][21]; c. struct persoana{ char nume[21],prenume[21]; int sal;} x; 2.

Care este numrul maxim de muchii pe care-l poate avea un graf neorientat cu 6 noduri, care nu este conex? (4p.) b. 15 c. 12 d. 10

a. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. 5. Fie T un arbore cu rdcin. Arborele are 8 noduri numerotate de la 1 la 8 i este descris prin urmtorul vector de tai: (4,1,6,0,1,1,4,7). Care sunt frunzele arborelui? (6p.) Scriei o expresie C/C++ care s fie nenul dac i numai dac variabila c de tip char este o liter mic a alfabetului englez. (6p.) Scriei un program C/C++ care citete de la tastatur dou numere naturale n i k (2<n<25, 0<k<n) i construiete n memorie o matrice cu n linii i n coloane format numai din valori 1,2,3 i 4 astfel nct: elementele aflate la intersecia primelor k linii cu primele k coloane sunt egale cu 1, elementele aflate la intersecia primelor k linii cu ultimele n-k coloane sunt egale cu 2, elementele aflate la intersecia ultimelor n-k linii cu primele k coloane sunt egale cu 3, elementele aflate la intersecia ultimelor n-k linii cu ultimele n-k coloane sunt egale cu 4 ca n exemplul de mai jos. Programul afieaz pe ecran matricea construit, fiecare linie a 1 1 1 2 2 matricei pe o linie a ecranului i elementele de pe aceeai linie 1 1 1 2 2 separate prin cte un singur spaiu. 1 1 1 2 2 Exemplu: pentru n=5, k=3 se construiete n memorie i se afieaz 3 3 3 4 4 matricea alturat. (10p.) 3 3 3 4 4

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 057 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Variabila t este utilizat pentru a memora valoarea i numele autorului unei cri. Valoarea crii este un numr natural de cel mult 3 cifre, iar numele autorului nu poate avea mai mult de 20 de litere. Care dintre urmtoarele declarri este corect? (4p.) struct carte{ int val;char nume;} t; struct carte{int val,nume;} t; struct carte{ int val;char nume[21];} t; struct carte{ int val[21][21];char nume;} t;

a. b. c. d. 2.

Care dintre urmtoarele afirmaii este adevrat pentru orice graf neorientat G cu 5 noduri i 6 muchii? (4p.) b. G este conex a. G are cel puin un ciclu c. G are gradele tuturor nodurilor numere d. G nu poate avea noduri cu gradul 0 pare

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Fie T un arbore cu rdcin. Arborele are 8 noduri numerotate de la 1 la 8 i este descris prin urmtorul vector de tai:(3,5,0,3,3,5,5,5). Care este nodul cu cei mai muli descendeni direci (fii)? (6p.) Se consider mulimea vocalelor {a,e,i,o,u}. Scriei o expresie C/C++ care s fie nenul dac i numai dac variabila c de tip char este o vocal. (6p.) Scriei un program C/C++ care citete de la tastatur trei numere naturale n, a i b (2<n<25, 0<a<n, 0<b<n) i construiete n memorie o matrice cu n linii i n coloane numerotate de la 1 la n, format numai din valori 0,1,2,3 i 4 astfel nct: elementele aflate pe linia a sau coloana b sunt egale cu 0, cele aflate deasupra liniei a i la stnga coloanei b sunt egale cu 1, cele aflate deasupra liniei a i la dreapta coloanei b sunt egale cu 2, cele aflate sub linia a i la stnga coloanei b sunt egale cu 3, iar elementele aflate sub linia a i la dreapta coloanei b sunt egale cu 4 ca n exemplul de mai jos. 1 1 0 2 2 Programul afieaz pe ecran matricea construit, fiecare linie a 1 1 0 2 2 matricei pe o linie a ecranului i elementele de pe aceeai linie 1 1 0 2 2 separate prin cte un singur spaiu. 0 0 0 0 0 Exemplu: pentru n=5, a=4, b=3 se construiete n memorie i se 3 3 0 4 4 afieaz matricea alturat: (10p.)

4. 5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 058 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Variabila t este utilizat pentru a memora numrul de exemplare disponibile ntr-o bibliotec i titlul unei cri. Numrul de exemplare este un numr natural de cel mult 2 cifre, iar titlul nu poate avea mai mult de 20 de litere. Care dintre urmtoarele declarri este corect? (4p.)

a. struct carte{float nr,titlu;} t; b. struct carte{int nr; char titlu[21];} t; c. struct carte{char nr; int titlu ;} t; d. struct carte{long nr,titlu;} t; 2. Dac G este un graf neorientat cu 11 noduri i 13 muchii, fr noduri cu gradul 0, atunci numrul maxim de componente conexe pe care le poate avea graful este: (4p.) b. 4 c. 3 d. 5

a. 2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider o stiv iniial vid n care se introduc, n aceast ordine, numerele 1,2,3,4,5, apoi se fac dou extrageri, se introduc, n aceast ordine, numerele 6,7 i 8 i apoi se mai fac 4 extrageri. Ce numr se va afla n vrful stivei dup finalizarea acestor operaii? (6p.) Variabila a memoreaz o matrice cu 10 linii i 10 coloane, numerotate de la 1 la 10, iar i i j sunt variabile ntregi cu valori cuprinse ntre 1 i 10. Scriei o expresie C/C++ care s fie nenul dac i numai dac elementul a[i][j] nu se afl pe diagonala principal a matricei. (6p.) Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere (cifre, litere ale alfabetului englez i spaii; irul conine cel puin o liter), apoi construiete n memorie i afieaz pe ecran irul de caractere obinut din irul citit prin eliminarea tuturor caracterelor care nu sunt litere. Exemplu: dac se citete irul: Voi lua 10 la informatica atunci se va afia: Voilualainformatica (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 059 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Variabila s memoreaz un ir de caractere. Care dintre urmtoarele expresii C/C++ este nenul dac i numai dac lungimea irului este strict mai mic dect 10? (4p.) b. strlen(s,10)<0 d. s-0<10 (4p.)

a. strlen(s)<10 c. leng(s)<10 2.

Fie n un numr natural, n>4. Orice graf neorientat cu n noduri i n muchii : b. este conex d. este arbore

a. are gradele tuturor nodurilor numere pare c. are cel puin un ciclu

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Fie T un arbore cu rdcin. Arborele are 8 noduri numerotate de la 1 la 8 i este descris prin urmtorul vector de tai: (4,5,0,3,4,5,4,5). Care sunt frunzele arborelui? (6p.) Variabila a memoreaz o matrice cu 10 linii i 10 coloane, numerotate de la 1 la 10, iar i i j sunt variabile ntregi cu valori cuprinse ntre 1 i 10. Scriei o expresie C/C++ care s fie nenul dac i numai dac elementul a[i][j] se afl pe diagonala secundar a matricei. (6p.) Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere (litere mici i mari ale alfabetului englez, cifre, puncte, virgule i spaii) i afieaz pe ecran cifra care apare de cele mai multe ori n irul citit. Dac irul conine mai multe cifre cu numr maxim de apariii, atunci se va afia cea mai mic dintre acestea. Dac irul nu conine cifre, se va afia pe ecran mesajul NU. Exemplu: dac se citete irul: Voi lua 9,5 la matematica 10 la informatica si 10 la romana atunci se va afia cifra 0 (pentru c cifrele 0 i 1 apar de cele mai multe ori n ir i 0 este cea mai mic dintre ele) (10p.)

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 060 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Variabila s memoreaz un ir de caractere. Care dintre urmtoarele expresii C/C++ este nenul dac i numai dac lungimea irului este un numr par? (4p.) b. strlen(s,2)=0 d. strlen(s)%2==0;

a. s-2==0 c. leng(s)%2 2.

Dac G este un graf neorientat cu 8 noduri i 2 componente conexe, atunci graful are cel mult: (4p.) b. 12 muchii c. 21 de muchii d. 16 muchii

a. 28 de muchii

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Dac T este un arbore cu rdcin cu 100 de noduri, care este numrul minim de frunze pe care le poate avea T? (6p.) Fie a o matrice cu 5 linii i 5 coloane numerotate de la 1 la 5. Pentru fiecare element a[i][j] (1i5, 1j5) expresia a[i][j]==(i-1)*5+j este nenul. Care este valoarea sumei elementelor de pe diagonala secundar a matricei? (6p.) Scriei un program C/C++ care citete de la tastatur un ir de cel mult 50 de caractere (litere mici i mari ale alfabetului englez, cifre i spaii) i afieaz pe ecran litera mic cel mai des ntlnit n irul citit. Dac exist mai multe litere mici cu numr maxim de apariii, programul o va afia pe prima dintre ele n ordine alfabetic. Dac irul nu conine litere mici, atunci pe ecran se va afia mesajul nu. Exemplu: dac se citete irul: mergem la munte atunci se va afia: e (pentru c literele e i m apar de cele mai multe ori n ir i e este prima dintre ele n ordine alfabetic). (10p.)

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 061 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este numrul minim de muchii pe care le poate avea graful neorientat G, dac graful din figura 1 reprezint un subgraf al lui G, iar graful reprezentat n figura 2 este graf parial al lui G? (4p.) b. 7

(Figura 1) c. 5 (Figura 2) 6 d.

a. 8 2.

Care vor fi valorile afiate executarea secvenei alturate, variabilele s1, s2 i s3 sunt de tip caractere?

dup char s1[20]=algoritm, dac s2[20]=bioritm,s3[20]=ritm; ir de if (strlen(s1)< strlen(s2)) strcat(s3,s1); (4p.) else strcat(s3,s2); printf(%s %s %s,s1,s2,s3); | cout<<s1<< <<s2<< <<s3; b. algoritm bioritm ritmalgoritm d. algoritm bioritmritm ritm

a. algoritmritm bioritm ritm c. algoritm bioritm ritmbioritm

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un arbore cu rdcin, cu 100 noduri, numerotate de la 1 la 100. Dac nodul 13 are exact 14 frai i nodul 100 este tatl nodului 13, care este numrul total de descendeni direci (fii) ai nodului 100? (6p.) Se consider o stiv, iniial vid, n care s-au introdus n ordine valorile 1, 2, 3 i o coad, iniial vid, n care au fost introduse, n ordine, valorile 6, 5, 4. Care va fi elementul din vrful stivei dac se extrag toate elementele din coad i se adaug, n ordinea extragerii, n stiva dat? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n15) i construiete n memorie o matrice ptrat cu n linii i n coloane n care ultima linie conine, n ordine, numerele 1,2,3,..,n, elementele situate deasupra diagonalei principale sunt nule i oricare alt element este obinut prin nsumarea elementelor vecine cu el, aflate pe linia imediat urmtoare, pe aceeai coloan cu el sau pe una din coloanele alturate. Programul va afia pe ecran matricea obinut pe n linii, elementele fiecrei linii fiind separate prin cte un spaiu. 27 0 0 0 Exemplu: pentru n=4 pe ecran se va afia: 9 18 0 0 (10p.) 3 6 9 0 1 2 3 4

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 062 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care dintre urmtoarele afirmaii referitoare la graful neorientat G, reprezentat n figura alturat, este adevrat? (4p.)

a. b. c. d. 2.

Graful parial al lui G obinut prin eliminarea muchiilor: [5,6], [2,5], [2,3], [2,10], [10,8], [1,3], este un arbore. Graful conine un singur ciclu. Cel mai lung lan, care conine numai noduri distincte, are lungimea 8. Numrul nodurilor de grad par este egal cu numrul nodurilor de grad impar. Considernd declarrile alturate, care dintre struct complex {float re,im;}; urmtoarele referiri este corect din punct de vedere sintactic ? (4p.) complex x,y; complex.re b. x.re c. complex.x d. re.x

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: 1: 2 6 Se consider graful orientat G, cu 6 vrfuri, definit cu ajutorul listelor 3. 2: 3 de adiacen alturate. Construii matricea de adiacen 3: corespunztoare grafului orientat G1, cu 6 vrfuri, n care exist arc 4: 3 ntre vrfurile distincte i i j dac i numai dac n graful G exist 5: 4 6 cel puin un drum de la i la j. (6p.) 6: 3 4. Se consider o stiv S1, iniial vid, n care s-au introdus, n aceast ordine, valorile 10, 12, 3 i o alt stiv, S2, iniial vid, n care au fost introduse, n aceast ordine, valorile 6, 5, 4. Care va fi elementul din vrful stivei S1 dup urmtoarele operaii: se extrag toate elementele din stiva S2 i se adaug, n ordinea extragerii, n stiva S1? (6p.) Scriei un program C/C++ care citete de la tastatur un text de cel mult 255 de caractere, dintre care cel puin unul este o liter mic a alfabetului englez, i afieaz pe ecran, pe o singur linie, desprite prin cte un spaiu, toate literele mici ale alfabetului englez care apar n text. Fiecare liter va fi afiat o singur dat, n ordinea primei ei apariii n text. Exemplu: pentru textul: Pe ecran se va afia: Calculati valoarea expresiei a l c u t i v o r e x p s (10p.)

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 063 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider un arbore G, cu rdcin, memorat cu ajutorul vectorului de tai urmtor: T=(2,0,4,2,4,7,2). Care dintre urmtoarele afirmaii este adevrat? (4p.)

a. Nodurile 1,4 i 6 sunt frai. b. G este conex i prin eliminarea unei muchii oarecare din G, graful obinut nu este conex. c. Prin eliminarea muchiei [6,7] se obine un graf parial, conex. d. Arborele G are 5 frunze. 2. ntr-o list simplu nlnuit circular, alocat dinamic, fiecare element reine n cmpul adr adresa elementului urmtor din list. Dac p i q sunt adresele a dou elemente distincte din list astfel nct s fie ndeplinite condiiile p= q->adr i q = p->adr , atunci lista are: (4p.) b. exact 2 elemente d. exact 1 element

a. un numar impar de elemente c. cel putin 3 elemente

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: Cte vrfuri ale grafului din figura alturat, 3. au gradul interior mai mare dect gradul exterior? (6p.)

4.

Se consider variabilele s1 i s2 de tip ir de caractere. Scriei secvena de instruciuni care afieaz pe ecran cele 2 iruri n ordine lexicografic cresctoare, separate printr-un spaiu. Exemplu: dac s1 reine irul mama i s2 reine irul macara, pe ecran se va afia macara mama (6p.) Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m (1n50, 1m50) i costruiete n memorie un tablou bidimensional cu n linii i m coloane format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va afia pe ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un spaiu. Exemplu: pentru n=5 i m=4 se va afia:
1 2 6 7 11 16 12 17

5.

3 8 13 18 4 9 14 19 5 10 15 20

(10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 064 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Considernd declarrile alturate, care struct datan{int zi,ln,an;}; dintre urmtoarele referiri este corect din struct elev {char nume[30]; datan dn,da;} e; punct de vedere sintactic ? (4p.) e.datan.ln b. nume.e c. e.dn.an[2] d. e.dn.zi ntr-o list simplu nlnuit cu cel puin 1000 de elemente identificate prin adrese, fiecare element reine n cmpul adr adresa elementului urmtor din list. Dac q este adresa unui element din list i p o variabil de acelai tip cu q, ce reine adresa unui alt element, care nu face parte din list, atunci inserarea elementului de la adresa p, n list, imediat dup elementul de la adresa q se realizeaz cu ajutorul secvenei de instruciuni: (4p.) b. p=q; q->adr= p->adr; d. q=p->adr; p->adr= q->adr;

a. 2.

a. p->adr=q->adr; q->adr=p; c. q->adr=p; p->adr=q;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un graf neorientat dat prin listele de adiacen alturate. Care este numrul maxim de muchii care pot fi eliminate din graf astfel nct graful parial rezultat s fie conex ? (6p.) 1: 2: 3: 4: 5: 2 1 1 2 3 3 3 4 2 4 5 3 5 4

4.

ntr-un graf orientat G cu 6 vrfuri numerotate cu numere distincte de la 1 la 6, exist arc de la i la j dac i numai dac i<j i j-i>1. Cte vrfuri din graf au gradul interior mai mare dect gradul exterior? (6p.) Scriei un program C/C++ care citete de la tastatur un text format din cel mult 200 de litere ale alfabetului englez, n care cuvintele sunt separate printr-un singur spaiu i afieaz pe ecran numrul de cuvinte din textul citit, care au prima respectiv ultima liter vocal. n cazul n care n text nu exist un astfel de cuvnt, se va afia pe ecran mesajul NU EXISTA. Se consider vocal orice liter din mulimea {a,A,e,E,i,I,o,O,u,U}. Exemplu: dac textul introdus este: Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani pe ecran se va afia: 4 (10p.)

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 065 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. Considernd declarrile alturate, care struct punct{float x,y;}; 1. dintre urmtoarele referiri este corect din struct cerc {float raza; punct de vedere sintactic ? (4p.) punct centru;} c; a. 2. c.punct.y b. c.raza.punct c. c.centru.x d. c.y.centru new(r); r->info=0; q= p->dr->dr->dr; q->st=r; r->dr=q; r->st= p->dr->dr; p->dr->dr->dr=r;

ntr-o list liniar dublu nlnuit, alocat dinamic, fiecare element reine n cmpul dr adresa urmtorului nod din list, n cmpul st adresa nodului precedent din list, iar n cmpul info un numr ntreg. Adresa primului element al listei este reinut n variabila p. Dac n list sunt memorate, ncepnd cu elementul de la adresa p, toate numerele naturale de la 10000 la 1, n ordine descresctoare, care va fi numrul memorat n cmpul info al celui de-al 4-lea element din list dup executarea secvenei alturate? (4p.) b. 9999 c. 9997

a. 9998

d. 0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care este numrul minim de muchii care trebuie adugate grafului alturat pentru a deveni eulerian? ( 6p.)

4. 5.

Care este numrul de noduri ale unui arbore cu 100 de muchii?

(6p.)

Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m (1n50, 1m50) i construiete n memorie un tablou bidimensional cu n linii i m coloane format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va afia pe ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un spaiu. Exemplu: pentru n=4 i m=5 se va afia:
1 10 2 9 3 8 4 7 5 6

11 12 13 14 15 20 19 18 17 16

(10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 066 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Cum se poate accesa prima liter a denumirii unui struct produs{ char denumire[15]; produs ale crui caracteristici sunt memorate n int pret;}p; variabila p, declarat alturat? (4p.) b. denumire.p[0] d. p->denumire[0]

a. produs.denumire[0] c. p.denumire[0] 2.

Se consider graful neorientat definit prin mulimea nodurilor {1,2,3,4,5,6} i muchiile [1,2],[1,3],[2,3],[6,5],[3,4],[4,5],[4,6]. Care este numrul maxim de muchii care pot fi eliminate din graf pentru a se obine un graf parial al su care s fie conex? (4p.) b. 2 c. 0 d. 3

a. 1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Un arbore cu rdcin avnd 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul vectorului de tai t=(2,5,5,3,0,2,4,1,1). Scriei toi ascendenii nodului 4. (6p.) ntr-o list simplu nlnuit cu cel p=primul; puin 2 elemente, fiecare element while (p->urm!=NULL) p=p->urm; memoreaz n cmpul info un printf(%d,p->info); | cout<<p->info; numr ntreg, iar n cmpul urm adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. tiind c primul reprezint adresa primului element din list, iar variabila p este de acelai tip cu primul, ce realizeaz secvena alturat de program? (6p.) Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50 de caractere, litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie, toate prefixele acestuia, n ordine cresctoare a lungimilor. Un prefix de lungime k al unui cuvnt este un subir format din primele k caractere ale acestuia. (10p.) Exemplu: dac se citete cuvntul BACALAUREAT se vor afia prefixele: B BA BAC BACA BACAL BACALA BACALAU BACALAUR BACALAURE BACALAUREA BACALAUREAT

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 067 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Cum se poate accesa prima liter a numelui unei struct persoana{ persoane ale crei date de identificare sunt char nume[20],prenume[20]; memorate n variabila p, declarat alturat? (4p.) int varsta;} p; b. persoana.nume[0] d. nume.p[0]

a. p.nume[0] c. p->nume[0] 2.

Se consider graful orientat definit prin mulimea vrfurilor {1,2,3,4,5,6} i arcele (1,2),(1,6),(1,5),(2,3),(3,6),(4,1),(6,4). Care este vrful accesibil din toate celelalte vrfuri ale grafului prin intermediul unor drumuri elementare? Un drum este elementar dac este format doar din vrfuri distincte. (4p.) b. 1 c. 5 d. 6

a. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Un arbore cu rdcin avnd 8 noduri, numerotate de la 1 la 8, este memorat cu ajutorul vectorului de tai t=(8,8,0,3,4,3,4,6). Scriei care este numrul total de descendeni ai nodului 4? (6p.) Se consider o list liniar simplu nlnuit ale crei noduri rein n cmpul data o valoare numeric ntreag. tiind c x, y i z rein adresele unor elemente din list, ce se va afia dup executarea secvenei alturate de program? (6p.) x->data=2; z=x; y->data=5; y=z; cout<<x->data<<y->data<<z->data; | printf("%d%d%d",x->data,y->data,z->data);

5.

Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50 caractere, litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie, toate sufixele acestuia, n ordine cresctoare a lungimilor. Un sufix de lungime k al unui cuvnt este un subir format din ultimele k caractere ale acestuia. (10p.) Exemplu: dac se citete cuvntul EXAMEN se vor afia sufixele : N EN MEN AMEN XAMEN EXAMEN

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 068 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Cum se poate accesa prima liter a denumirii unui material ale struct material{ crui caracteristici sunt memorate n variabila m, declarat char denumire[20]; alturat? (4p.) int pret;} m; a. denumire.m[0] b. m->denumire[0] material.denumire[0] c. d. m.denumire[0] Se consider graful orientat cu vrfurile numerotate cu numere distincte 1,2,3, . Graful este reprezentat printr-o matrice de adiacen A. Precizai care este semnificaia sumei valorilor de pe o linie oarecare x a matricei A. (4p.) b. reprezint numrul drumurilor care conin vrful x d. reprezint numrul pornesc din vrful x drumurilor care

2.

a. reprezint numrul arcelor care au ca extremitate iniial vrful x c. reprezint numrul arcelor care au ca extremitate final x

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care este vectorul de tai asociat arborelui cu rdcin din figura alturat? (6p.)

4.

Fie o list liniar simplu nlnuit ale crei noduri rein in cmpul next adresa nodului urmtor sau NULL dac nu exist un element urmtor n list. Lista are cel puin dou elemente. tiind c variabila x reine adresa primului nod din list, iar variabila y reine adresa celui de al doilea nod din list, scriei o secven de instruciuni n limbajul C/C++, care insereaz ntre cele dou noduri x i y un nod a crui adres este memorat de variabila z ce are acelai tip cu x i y. (6p.) Scriei programul C/C++ care citete de la tastatur dou numere naturale m i n (1m50, 1n50) i m* n numere naturale de cel mult 5 cifre ce reprezint elementele unui tablou bidimensional, i afieaz pe ecran produsul elementelor pozitive aflate pe linii cu numere de ordine pare i coloane cu numere de ordine impare. Numerotarea liniilor, respectiv a coloanelor se va face ncepnd cu valoarea 1. (10p.) Exemplu: pentru m=4, n=4 i matricea alturat se va afia 355 11 -21 31 41 (355=5*71). 5 -61 71 -81 91 11 21 31 -11 31 -41 0

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 069 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Cum se poate accesa prima liter a numelui unui struct elev{ elev ale crui date de identificare sunt memorate char nume[20],prenume[20]; int varsta;}e; n variabila e, declarat alturat? (4p.) a. e->nume[0] b. e.nume[0] elev.nume[0] c. d. nume.e[0] Se consider graful orientat dat prin matricea de adiacen alturat. Care este numrul de vrfuri ale grafului care au gradul interior (intern) egal cu gradul exterior (extern)? (4p.) b. 3 c. 2 d. 1
0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0

2.

a. 0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care este vectorul de tai asociat arborelui cu rdcin din figura alturat? (6p.)

4.

Se consider o list liniar simplu nlnuit ale crei noduri rein n cmpul next adresa nodului urmtor sau NULL dac nu exist un element urmtor n list. Lista are cel puin un element. tiind c variabila u reine adresa ultimului nod din list, care este secvena de instruciuni n limbajul C/C++ prin care se insereaz n list dup nodul u un nou nod a crui adres este reinut de variabila v, de acelai tip cu u? (6p.) Scriei programul C/C++ care citete de la tastatur un numr natural n (1n50) i n* n numere naturale de cel mult 5 cifre ce reprezint elementele unui tablou bidimensional a, cu n linii i n coloane, i verific dac matricea este triunghiular superior. Programul va afia pe ecran mesajul corespunztor: Este triunghiular superior respectiv Nu este triunghiular superior. O matrice se numete triunghiular superior dac toate elementele aflate sub diagonala principal a ei sunt nule. (10p.) 1 2 3 Exemplu: pentru n=3 i matricea alturat se va afia mesajul: 0 5 6 Este triunghiular superior 0 0 9

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 070 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. tiind c fiecare dintre variabilele var1, var2 memoreaz numele struct elev i nota cte unui elev n forma dat de declararea alturat, { char nume[30]; float nota; indicai care dintre urmtoarele expresii atribuie variabilei reale m media aritmetic a notelor celor doi elevi. (4p.) }var1,var2; a. m=(var1.nota+var2.nota)/2; b. m=var1.nota+var2.nota/2; c. m=(var1+var2).nota/2; d. m=nota(var1+var2)/2; Se consider un graf orientat dat prin matricea de adiacen alturat. Cte vrfuri ale grafului au proprietatea c diferena absolut a gradelor (intern i extern) este egal cu 2? (4p.) b. 3 c. 4 d. 2
0 0 1 0 0 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 1 0

2.

a. 5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care este vectorul de tai asociat arborelui cu rdcin din figura alturat? (6p.)

4.

Se consider o list liniar simplu nlnuit ale crei noduri rein n cmpul next adresa nodului urmtor sau NULL dac nu exist un element urmtor. Lista are cel puin dou elemente. tiind c p1 reine adresa primului nod din list iar u1 adresa ultimului nod, care este atribuirea corect, n limbajul C/C++, prin care lista liniar se transform ntr-o list circular? (6p.) Scriei programul C/C++ care citete de la tastatur dou numere naturale m i n (1m100, 1n100), un numr x (1xm) i apoi m*n numere naturale de cel mult 5 cifre ce reprezint elementele unui tablou bidimensional a, cu m linii, numerotate de la 1 la m, i n coloane, numerotate de la 1 la n. Programul afieaz pe ecran elementele tabloului dup tergerea din memorie a liniei x, fr a folosi un tablou bidimensional suplimentar. Afiarea matricei obinut dup eliminare, se va face pe m-1 linii, elementele fiecrei linii fiind desprite prin cte un spaiu. (10p.) se va afia matricea Exemplu: pentru m=3, n=4, x=2 i 11 21 31 41 51 61 71 81 11 21 31 41 matricea alturat 91 11 21 31 91 11 21 31

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 071 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Cte noduri ale grafului orientat cu ase noduri numerotate de la 1 la 6 i urmtoarele arce: (1,5), (1,6), (2,1), (2,3), (3,1), (3,4), (4,3), (4,5), (5,4), (6,5) au gradul interior egal cu gradul exterior? (4p.) a. 4 b. 6 c. 5 d. 3 ntr-o list liniar simplu nlnuit cu cel puin 3 noduri, fiecare element reine n cmpul urm, adresa urmtorului element din list. Dac n variabila p se reine adresa primului element din list i q este o variabil de acelai tip cu p, atunci care dintre secvenele de mai jos elimin din list al doilea nod ? (4p.) a. q=p->urm; b. q=p->urm; p->urm=q->urm; delete q; | free(q); delete q; | free(q); p->urm=q->urm; c. delete p->urm; | free(p->urm); p->urm=p->urm->urm; d. q=p->urm->urm; p->urm=q->urm; delete q; | free(q);

2.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: 3. Variabila i este de tip ntreg, iar variabila a memoreaz o s1 = 0; s2 = 0; matrice cu n linii i n coloane, numerotate de la 0 la n-1, ale for(i=0; i<n; i++) { ... } crei elemente sunt numere ntregi. nlocuii cu exact dou instruciuni de atribuire punctele de suspensie din secvena de program alturat, astfel nct n urma executrii ei, variabila ntreag s1 s memoreze suma elementelor de pe diagonala principal din matricea a, iar variabila ntreag s2 suma elementelor de pe diagonala secundar din matricea a. (6p.) Fiecare dintre variabilele declarate alturat memoreaz numele i nota cte unui elev. Scriei secvena de instruciuni prin care se citesc de la tastatur numele i nota pentru fiecare dintre variabilele e1 i e2 i apoi se afieaz numele elevului cu nota cea mai mare. Dac cele dou note sunt egale, se va afia numele elevului reprezentat n variabila e1. (6p.) struct elev{ char nume[20]; float nota; }; elev e1,e2;

4.

5.

Scriei programul C/C++ care citete de la tastatur, separate prin Enter, dou iruri de caractere: un ir s de maximum 255 de caractere, care pot fi litere ale alfabetului englez i spaii, apoi un ir c de maximum 20 de caractere. Programul va nlocui n irul s toate apariiile irului c cu un ir de exact aceeai lungime cu c, format doar din caractere *, ca n exemplu. irul s obinut n urma acestei prelucrri va fi afiat pe ecran. n cazul n care c nu apare n s, programul va afia mesajul NU APARE. Exemplu: dac irul S citit este Din departare se vede tare iar c este tare atunci pe ecran se va afia: Din depar**** se vede **** (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 072 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Fie un arborele cu rdcin cu 9 noduri, numerotate de la 1 la 9. Care este vectorul de tai al acestui arbore tiind c nodurile 1, 2, 3, 4 ,5, 6, 7, 8 au exact cte un descendent direct (fiu)? (4p.) a. (1,2,3,4,5,6,7,8) b. (1,2,3,4,5,6,7,8,9) c. (0,1,2,3,4,5,6,7,8) d. (0,1,2,3,4,5,6,7,8,9) n secvena alturat, fiecare dintre variabilele x i s for(i=0; i<strlen(s); i++) if(strcmp(x, s+i)<0) sunt de tipul ir de caracter, iar i este de tip ntreg. strcpy(x,s+i); Dac variabilele x i s memoreaz iniial irul absolvent, ce se va memora n variabila x n urma executrii secvenei alturate? (4p.) a. nt b. absolvent c. solvent d. vent

2.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: 3. Se consider un graf neorientat cu 8 noduri, numerotate de la 1 la 8, i muchiile: [1,4], [1,8], [2,1], [2,3], [3,1], [4,5], [4,7], [5,7], [6,5]. Scriei cte componente conexe are graful dat i care este indicele nodului care trebuie eliminat astfel nct subgraful obinut s aib un numr maxim de componente conexe. (6p.) Se consider lista simplu nlnuit n care fiecare nod memoreaz n cmpul info un numr ntreg, iar n cmpul urm adresa nodului urmtor. n list sunt while(u != NULL) memorate, n aceast ordine, numai valorile 1, 2, 3. { Dac variabila p reine adresa primului nod din list, iar cout << u->info<< ; variabila u adresa ultimului nod din list, scriei u = u->urm; instruciunile care pot nlocui zona punctat din secvena } alturat, astfel nct, n urma executrii acesteia, s se afieze 3 2 1. (6p.) Scriei programul C/C++ care citete de la tastatur o valoare natural n (2n100), construiete n memorie i apoi afieaz pe ecran o matrice a, cu n linii i n coloane, simetric fa de diagonala secundar. Elemente matricei situate deasupra diagonalei secundare, inclusiv diagonala secundar, sunt toate numerele naturale de la 1 la Elementele fiecrei linii, de la stnga la dreapta i ale fiecrei coloane, de sus n jos, situate deasupra diagonalei secundare, inclusiv cele de pe diagonala secundar, sunt n ordine strict cresctoare, ca n exemplu. Matricea se va afia pe ecran, cte o linie a matricei pe o linie a ecranului, elementele fiecrei linii fiind separate ntre ele prin cte un spaiu. Exemplu: pentru n = 4 se va afia matricea alturat. (10p.) 1 2 4 7
n(n + 1) . 2

4.

5.

3 5 8 4

6 9 5 2

10 6 3 1

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 073 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider arborele cu 12 noduri, numerotate de la 1 la 12, definit prin urmtorul vector de tai: (4, 8, 0, 3, 10, 1, 8, 3, 2, 4, 7, 10). Care dintre nodurile arborelui au exact un descendent direct (fiu)? (4p.) b. 1, 2, 7 a. 6, 9, 11 d. 10, 1, 2, 7 c. 5, 12, 6, 9, 11 Se consider declarrile struct A alturate. Care este tipul { int x; char y; expresiei de mai jos? x.x.y (4p.) }; b. int a. long struct B { float x; long y; }; c. char struct C { struct A x; struct B y; } x, y;. d. float

2.

Scriei pe foaia de examen rspunsul pentru fiecare dintre ntrebrile urmtoare. 3. Se consider graful orientat cu 6 noduri, numerotate de la 1 la 6, i arcele (1,2), (1,5), (1,6), (2,3), (4,3), (4,5), (6,5). Care este numrul minim de arce care trebuie adugate grafului astfel nct acesta s conin cel puin un circuit elementar de lungime 4? Pentru graful rezultat, dai un exemplu de astfel de circuit. (6p.) Variabilele n, i, p i q sunt de tip ntreg, iar variabila a memoreaz un tablou bidimensional cu n linii i n coloane numerotate de la 0 la n-1 (0<n<50), cu elemente numere reale. for(i = 0; i < n; i++) Cu ce instruciuni se poate nlocui zona punctat din {........} secvena alturat, astfel nct, n urma executrii acesteia, s se interschimbe elementele liniei q cu elementele liniei p ale tabloului a (0qn-1, 0pn-1). Dac sunt necesare i alte variabile, scriei declarrile acestora. (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n<101) i apoi n propoziii. Fiecare propoziie este format din maximum 255 de caractere care sunt numai litere mici ale alfabetului englez i spaii. tiind c fiecare propoziie se termin cu caracterul Enter, s se afieze pe ecran propoziia care are cele mai puine vocale (sunt considerate vocale caracterele a, e, i, o, u). Dac dou sau mai multe propoziii au acelai numr de vocale, se va afia ultima propoziie, n ordinea citirii, care ndeplinete condiia. Exemplu: pentru n = 4 i urmtoarele propoziii: azi a plouat tare a fost innorat peste tot maine va fi soare acum nu mai vreau sa ploua se va afia: maine va fi soare (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 074 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. ntr-o list liniar simplu nlnuit, cu cel puin 3 noduri, fiecare element reine n cmpul urm adresa urmtorului element din list, iar n cmpul info informaia util de tip ntreg. Dac variabila p reine adresa primului element din list atunci care dintre secvenele de mai jos atribuie cmpului info al celui de al treilea nod informaia util din primul nod al listei? (4p.) a. p->urm->urm->info=p->info; b. p->urm->urm->info=p->urm->info; c. p->info->info->info = p->info; d. p->urm->urm = p->info; 2. Ce se va afia n urma executrii secvenei de program de mai jos dac variabila x memoreaz cuvntul bacalaureat, iar variabila y memoreaz cuvntul banal? if(strcmp(x, y) > 0) cout << x; | printf(%s, x); else if(strcmp(x,y) < 0) cout << y; | printf(%s, y); else cout << imposibil; | printf(imposibil); a. imposibil c. banal b. bacalaureat d. bacalaureatimposibil

(4p.)

Scriei pe foaia de examen rspunsul pentru fiecare dintre ntrebrile urmtoare: 3. Se consider un arbore cu 9 noduri, numerotate de la 1 la 9, i cu vectorul de tai urmtor: (8, 8, 8, 2, 6, 2, 9, 0, 2). a) Enumerai descendenii nodului 2. b) Cte noduri de tip frunz are acest arbore? 4. (3p.) (3p.)

Se consider graful neorientat cu 6 noduri, numerotate de la 1 la 6 i urmtoarele muchii: [1,3] [1,5] [2,3] [2,4] [2,6] [5,3] [6,4]. a) Care este numrul minim de muchii ce trebuie eliminate din acest graf, astfel nct graful parial obinut s nu conin niciun ciclu? (3p.) b) Care este numrul minim de muchii ce trebuie eliminate din graful iniial dat, astfel nct graful parial obinut s aib exact dou componente conexe? (3p.)

5.

Se consider irul lui Fibonacci, definit astfel: f0 = 0, f1 = 1, fn = fn-1 + fn-2, dac n>1. Scriei un program C/C++ care citete de la tastatur o valoare natural n (2n50), construiete n memorie i afieaz pe ecran o matrice a cu n linii i n coloane ale crei elemente sunt numere naturale, fiecare reprezentnd ultima cifr a cte unui termen al irului lui Fibonacci, ncepnd de la termenul de indice 1 i pn la termenul de indice n2, n ordine, linie cu linie de sus n jos, i n cadrul fiecrei linii de la stnga la dreapta, ca n exemplu. Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a 1 1 2 3 ecranului, elementele de pe aceeai linie fiind separate ntre ele prin 5 8 3 1 4 5 9 4 cte un spaiu. Exemplu: pentru n = 4 se va obine matricea alturat. (10p.) 3 7 0 7

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 075 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Ce se va afia n urma executrii secvenei strcpy(x, ExAMeNe NaTiOnALe); de program alturate tiind c i este o for(i = 0; i < strlen(x); i++) if(x[i] >= A && x[i] <=N) variabil de tip ntreg, iar variabila x este de x[i] = x[i] + a-A; tip ir de caractere? (4p.) cout << x; | printf(%c, x); b. examene naTiOnale 5 4 6 2 5 6 3 4.

a. examene nationale

c. EXAMENE NATIONALE d. exAmeNe nAtIoNalE 2. Se numete graf complet un graf n care oricare dou noduri sunt 1: 3 adiacente. Se consider graful neorientat cu 6 noduri, numerotate 2: 3 de la 1 la 6, definit prin listele de adiacent alturate. Cte muchii 3: 1 trebuie adugate n acest graf astfel nct el s devin graf complet? 4: 2 (4p.) 5: 1 6: 2 a. 16 b. 14 c. 6 d. 8

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o list liniar simplu nlnuit cu cel puin 3 noduri, fiecare element reine n cmpul urm adresa urmtorului element din list. Dac n variabila prim se reine adresa primului element din list, iar p, q i r sunt variabile de acelai tip cu prim, scriei instruciunile cu care trebuie nlocuite punctele de suspensie din secvena de program alturat, astfel nct, n urma executrii ei, s se inverseze sensul legturilor n list. (6p.) p = prim; q = prim->urm; p->urm = NULL; while(q != NULL) { r = q -> urm; q = r; }

4.

Se consider graful orientat cu 7 vrfuri, numerotate de la 1 la 7, i arcele (1,2), (2,5), (3,2), (3,4), (3,6), (5,6), (5,7), (6,1). Care este numrul minim de arce care trebuie adugate acestui graf astfel nct, pentru orice dou noduri x i y, din mulimea {1,2,3,4} s existe cel puin un drum de la x la y? Enumerai arcele care trebuie adugate. (6p.) ntr-o matrice a, cu n linii i n coloane, numerotate de la 1 la n, numim semidiagonal de indice k mulimea format din elementele ai,j pentru care i+j = k+1. Scriei programul C/C++ care citete de la tastatur o valoare natural n (2n100), construiete n memorie i apoi afieaz pe ecran o matrice a cu n linii i n coloane, numerotate de la 1 la n, n care elementele fiecrei semidiagonale de indice k sunt egale cu (k+1)2, ca n exemplu. 4 9 16 25 Matricea se va afia pe ecran, cte o linie a matricei pe o linie a 9 16 25 36 ecranului, elementele unei linii fiind separate ntre ele prin cte un 16 25 36 49 spaiu. 25 36 49 64 Exemplu: pentru n = 4 se va obine matricea alturat. (10p.)

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 076 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Variabila t memoreaz o matrice cu 5 linii i 5 coloane, x=0; numerotate de la 0 la 4, cu elemente numere ntregi, iar for(i=0;i<5;i++) for(j=i+1;j<5;j++) celelalte variabile sunt ntregi. Secvena de program x=x+t[i][j]; alturat determin memorarea n variabila x a sumei elementelor situate: (4p.) a. deasupra diagonalei principale, b. strict deasupra diagonalei principale inclusiv diagonala principal c. strict sub diagonala principal d. strict deasupra diagonalei secundare 2. ntr-o list simplu nlnuit fiecare element reine n p=prim; cmpul urm adresa elementului urmtor din list, iar while(p->urm!=NULL) n cmpul inf un numr ntreg. Adresa primului {x=p->inf; element al listei este memorat n variabila prim, p->inf=p->urm->inf; variabila p este de acelai tip cu prim, iar variabila x p->urm->inf=x; este de tip ntreg. Iniial, n list sunt memorate, n p=p->urm; aceast ordine, numerele de mai jos,. Care este } coninutul listei n urma executrii secvenei de instruciuni scrise alturat? (4p.)

a. 2 3 4 5 6 1

b. 6 5 4 3 2 1

c. 2 1 4 3 6 5

d. 1 2 3 4 5 6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Fie graful orientat cu 8 vrfuri, numerotate de la 1 la 8, i arcele (1,2), (2,3), (3,1), (4,5), (5,6), (5,7), (6,7), (7,4), (8,7). Care este numrul minim de arce care trebuie adugate astfel nct, pentru oricare dou vrfuri x i y din graf s existe cel puin un drum de la nodul x la nodul y? (6p.) Care este vectorul de tai pentru arborele cu 8 noduri, numerotate de la 1 la 8, i muchiile [1,5], [2,3], [3,6], [3,8], [4,6], [5,7], [6,7], dac se alege ca rdcin nodul numerotat cu 6? (6p.) Scriei programul C/C++ care citete de la tastatur un cuvnt de maximum 20 de litere i minimum o liter i afieaz pe ecran toate cuvintele obinute din cuvntul citit prin eliminarea primei i a ultimei litere. Prima prelucrare se refer la cuvntul citit, iar urmtoarele la cuvntul rezultat din prelucrarea anterioar. Procedeul de eliminare i afiare se va repeta pn cnd se obine cuvntul vid, ca n exemplu. Fiecare cuvnt obinut se va afia pe cte o linie a ecranului. Exemplu: dac se citete cuvntul bacalaureat, se va afia: bacalaureat acalaurea calaure alaur lau a (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 077 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. Pentru o matrice t cu 8 linii i 8 coloane, numerotate de z=0; la 0 la 7, cu elemente numere ntregi, secvena de for(i=0;i<8;i++) for(j=0;j<i;j++) program alturat, n care variabilele z, i, i j sunt de tip z=z+t[i][j]; ntreg, determin memorarea n z a sumei tuturor elementelor situate: (4p.) a. strict sub diagonala principal b. deasupra diagonalei principale, inclusiv diagonala principal c. strict deasupra diagonalei principale d. strict deasupra diagonalei secundare 2. ntr-o list simplu nlnuit fiecare element reine n cmpul urm adresa elementului urmtor din list, iar n cmpul inf un numr p=prim->urm; ntreg. Adresa primului element al listei este memorat n variabila q=p->urm; prim, iar variabilele p i q sunt de acelai tip cu prim. Iniial, n list p->urm=q->urm; sunt memorate, n aceast ordine, numerele de mai jos. Care va fi prim->urm=q; q->urm=p; coninutul listei dup executarea secvenei alturate? (4p.) 1.

a. 1 3 2 4 5 6

b. 6 5 4 3 2 1

c. 1 2 4 3 5 6

d. 2 1 3 4 5 6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Fie graful orientat cu 6 vrfuri, numerotate de la 1 la 6, i arcele (1,2), (2,3), (3,1), 3. (4,5), (5,6), (3,5). Care este numrul minim de arce care trebuie adugate pentru ca toate vrfurile s aib gradul interior egal cu gradul exterior? (6p.) Care este numrul minim de noduri cu gradul 1 pentru un graf neorientat conex cu 21 noduri 4. i 20 muchii? (6p.) 5. Scriei programul C/C++ care citete de la tastatur un text de cel mult 50 de caractere, (litere mici ale alfabetului englez i spaii), text format din mai multe cuvinte, separate prin cte un spaiu, i afieaz pe ecran textul obinut din cel iniial prin transformarea primei litere i a ultimei litere ale fiecrui cuvnt n majuscul, restul caracterelor rmnnd nemodificate. Exemplu: dac se citete textul azi este examen de bacalaureat, se va afia AzI EstE ExameN DE BacalaureaT. (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 078 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Pentru o matrice t cu 8 linii i 8 coloane, z=0; numerotate de la 0 la 7, cu elemente numere for(i=0;i<8;i++) for(j=0;j<8-i;j++) ntregi, secvena de program alturat, n care z=z+t[i][j]; variabilele z, i, i j sunt de tip ntreg, determin memorarea n z a sumei tuturor elementelor situate: (4p.) a. strict sub diagonala secundar b. deasupra diagonalei principale, inclusiv diagonala principal c. deasupra diagonalei secundare, inclusiv d. strict deasupra diagonalei secundare diagonala secundar 2. ntr-o list simplu nlnuit fiecare element reine n cmpul urm adresa elementului urmtor din list,. Adresa primului element al listei este memorat n variabila prim, iar variabilele p i q sunt de acelai tip cu prim. Care va fi coninutul listei de mai jos dup executarea secvenei alturate? p=prim; while(p->urm->urm->urm!=NULL) p=p->urm; q=p->urm; (4p.) p->urm=p->urm->urm; delete q; | free(q); c. 1 3 4 5 6 d. 2 3 4 5 6

a. 1 2 3 4 5

b. 1 2 3 4 6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Fie graful orientat cu 7 vrfuri, numerotate de la 1 la 7, i arcele (1,2), (2,3), (3,1), (4,5), (5,6), (5,7), (6,7), (7,4). Care este numrul minim de arce care ar trebui eliminate pentru ca graful parial obinut s nu mai conin circuite? (6p.) Care este numrul minim de muchii ale unui graf neorientat conex, cu 100 de noduri? (6p.) Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere (doar litere mici ale alfabetului englez i spaii) i un cuvnt cu cel mult 15 caractere, doar litere mici ale alfabetului englez i care afieaz pe ecran irul obinut prin inserarea n textul iniial a caracterului ? dup fiecare apariie a cuvntului citit. Exemplu: dac se citete de la tastatur textul examenul de bacalaureat si examenul de atestat i cuvntul examenul se va afia: examenul? de bacalaureat si examenul? de atestat (10p.)

4. 5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 079 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. Pentru o matrice t cu 8 linii i 8 coloane, z=0; numerotate de la 0 la 7, cu elemente numere for(i=0;i<8;i++) for(j=7-i;j<8;j++) ntregi, secvena de program alturat, n care z=z+t[i][j]; variabilele z, i, i j sunt de tip ntreg, determin memorarea n z a sumei tuturor elementelor situate: (4p.) a. sub diagonala secundar, inclusiv b. deasupra diagonalei principale, inclusiv diagonala secundar diagonala principal c. strict sub diagonala principal d. strict deasupra diagonalei secundare 2. Se consider lista simplu nlnuit n care p=prim; fiecare nod memoreaz n cmpul nr o k=0; valoare ntreag i n cmpul urm adresa while(p->urm!=NULL && k>=0) nodului urmtor sau NULL dac este ultimul {if(p->nr%2==0) k=k+1; nod din list. else k=k-1; n list sunt memorate, n aceast ordine, p=p->urm; valorile 4, 3, 2, 5, 7, 9, 6, 1, 8. Variabila } prim reine adresa primului element din printf(%d,p->nr); | cout<<p->nr; list, variabila p este de acelai tip cu prim., iar variabila k este de tip ntreg. Care este valoarea ce se va afia n urma executrii secvenei alturate ? (4p.) b. 4 c. 3 d. 8 a. 9 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider arborele cu 13 noduri, numerotate de la 1 la 13,i mulimea muchiilor {[1,4], [2,5], [3,8], [4,7], [4,9], [4,11], [6,3], [6,10], [6,12], [5,6], [13,2], [2,9]}. Dac se alege nodul notat cu 2 drept rdcin, care este vectorul de tai pentru acest arbore? (6p.) Fie graful neorientat cu 6 noduri, numerotate de la 1 la 6, i muchiile [1,2], [1,3], [1,4], [2,3], [2,4], [3,4], [3,5], [4,5], [4,6], [5,6]. Care este numrul maxim de muchii care pot fi eliminate astfel nct graful parial obinut s-i pstreze proprietatea de graf hamiltonian? (6p.) Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere (doar litere ale alfabetului englez i spaii), construiete n memorie i apoi afieaz pe ecran irul de caractere obinut din irul iniial, n care se insereaz dup fiecare vocal caracterul *. Se consider vocale literele a, e, i, o, u, A, E, I, O, U. Exemplu: dac se citete de la tastatur textul Examenul de bacalaureat se va obine i afia: E*xa*me*nu*l de* ba*ca*la*u*re*a*t. (10p.) 1.

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 080 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Pentru o matrice t cu 8 linii i 8 coloane, numerotate z=0; de la 0 la 7, cu elemente numere ntregi, secvena de for(i=0;i<8;i++) for(j=8-i;j<8;j++) program alturat, n care variabilele z, i, i j sunt de z=z+t[i][j]; tip ntreg determin memorarea n z a sumei tuturor elementelor situate: (4p.) b. deasupra diagonalei principale, inclusiv diagonala principal d. strict sub diagonala secundar

a. deasupra diagonalei secundare c. deasupra diagonalei secundare, inclusiv diagonala secundar 2. Se consider o list simplu nlnuit n care fiecare nod memoreaz n cmpul nr o valoare ntreag i n cmpul urm adresa nodului urmtor sau NULL dac este ultimul nod din list. n list sunt memorate, n aceast ordine, valorile -1, -2, -4, -3, -5, -7, -6. Variabila prim reine adresa primului element din list, variabila p este de acelai tip cu variabila prim, iar variabila s este de tip ntreg. Care este valoarea ce se va afia n urma executrii secvenei alturate? (4p.) b. -7

p=prim; s=0; while(p!=NULL && s>p->nr) {if(p->nr%2!=0) s=s+p->nr; p=p->urm; } printf(%d,s); | cout<<s;

a. 0

c. -16

d. -9

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Fie graful orientat cu 9 vrfuri, numerotate de la 1 la 9, i arcele (1,2), (2,3), (3,1), (4,5), (5,6), (5,7), (6,7), (7,4), (8,7), (8,9), (9,8). Care este numrul de vrfuri cu proprietatea c gradul interior este egal cu gradul exterior ? (6p.) Se consider un graf neorientat cu 9 noduri, numerotate de la 1 la 9, i muchiile [1,2], [2,3], [3,7], [4,8], [4,5], [4,6], [5,9], [6,9], [7,8], [6,7], [1,7]. Care este numrul minim de muchii care trebuie adugate pentru ca graful s devin eulerian? (6p.) Scriei programul C/C++ care citete de la tastatur un cuvnt cu maximum 20 de litere i minimum o liter, construiete i afieaz pe ecran cuvntul obinut din inversarea literelor din prima jumtate a cuvntului cu cele din jumtatea a doua. Literele din fiecare jumtate i pstreaz ordinea din cuvntul iniial, ca n exemplu. n cazul n care cuvntul are un numr impar de litere, atunci litera din mijloc va rmne pe loc. Exemplu: dac se citete cuvntul caiet se va obine cuvntul etica, iar dac se citete cuvntul cada se va obine daca. (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 081 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Un ir de caractere se numete palindrom dac irul citit de la stnga la dreapta este identic cu irul citit de la dreapta spre stnga. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac irul de caractere memorat n variabila s, avnd exact 3 caractere, este palindrom? (4p.) b. s[1]==s[2] c. s[0]==s[2] d. s[1]==s[3] Care dintre urmtoarele afirmaii este adevrat pentru graful neorientat avnd mulimea nodurilor X={1,2,3,4,5} i mulimea muchiilor U={[1,2], [1,5], [2,3], [2,4], [3,4], [4,5]}? (4p.) hamiltonian, dar nu este b. Este graf eulerian, hamiltonian. dar nu este

a. s[0]==s[1] 2.

a. Este graf eulerian.

c. Este i graf hamiltonian i graf eulerian.

d. Nu este graf hamiltonian, i nici nu este graf eulerian.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Scriei n C/C++ secvena de instruciuni care determin interschimbarea valorilor a dou variabile ntregi, a i b, fr a folosi alte variabile. Exemplu: dac iniial a=5 i b=7 atunci n urma executrii secvenei valorile variabilelor devin a=7 i b=5. (6p.) O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element cte un numr natural nenul cu cel mult 4 cifre, iar n cmpul adr adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Considernd c adresa primului element al listei este reinut de variabila prim, i c variabila p este de acelai tip cu variabila prim, s se completeze secvena C/C++ urmtoare, astfel nct ea s determine afiarea tuturor numerelor memorate n list, care sunt divizibile cu 7. p=prim; while(p!=NULL) {. . .} 5.

4.

(6p.)

Scriei un program C/C++ care citete de la tastatur trei valori naturale nenule k, n, m (n10, m10, k32000) i apoi n*m numere ntregi, fiecare avnd cel mult 4 cifre, reprezentnd elementele unui tablou bidimensional cu liniile numerotate de la 1 la n i coloanele numerotate de la 1 la m. Programul determin i afieaz pe ecran suma numerelor de ordine 2 4 5 -8 ale coloanelor care conin cel puin o dat valoarea k. Problema are 1 3 7 9 4 -2 3 10 ntotdeauna soluie. Exemplu:pentru k=3,n=5,m=4 i matricea alturat se va afia 5, 5 4 2 37 6 7 3 13 deoarece coloanele 2 i 3 conin numrul k=3. (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 082 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider graful orientat cu nodurile numerotate de la 1 la 5 i arcele (1,2), (1,5), (2,1), (2,3), (2,5), (3,4), (5,2), (5,4). Care este lungimea maxim a unui drum de la nodul 1 la nodul 4, format doar din arce distincte? (4p.) b. 6 c. 4 d. 7

a. 5 2.

Un graf neorientat cu nodurile numerotate de la 1 la 4 este reprezentat prin matricea de adiacen alturat. Care dintre afirmaiile de mai jos este adevrat pentru acest graf? (4p.) b. Graful nu este conex d. Graful are toate gradele nodurilor numere pare

a. Graful este arbore c. Graful este ciclic

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. tiind c variabila i este de tip ntreg i c for(i=0;i<strlen(s);i++) if(s[i]==b) variabila s reine irul de caractere barba, ce s[i]=t; se va afia la executarea secvenei alturate? (6p.) cout<<s; | printf(%s,s); O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element cte un numr natural nenul cu cel mult 4 cifre, iar n cmpul adr adresa elementului urmtor din list sau NULL dac nu exist un element urmtor. Considernd c adresa primului element al listei este reinut de variabila prim, i c variabila p este de acelai tip cu variabila prim, s se completeze secvena C/C++ urmtoare, astfel nct ea s determine afiarea numerelor memorate n list, care au cifra unitilor egal cu 0. p=prim; while(p!=NULL) {. . .} 5.

4.

(6p.)

Scriei un program C/C++ care citete de la tastatur trei valori naturale nenule k, n, m (n10, m10, k32000) i apoi n*m numere ntregi, fiecare avnd cel mult 4 cifre, reprezentnd elementele unui tablou bidimensional cu liniile numerotate de la 1 la n i coloanele numerotate de la 1 la m. 4 5 -8 Programul determin i afieaz pe ecran produsul numerelor de 2 5 3 7 9 ordine ale coloanelor care conin cel puin o dat valoarea k. 6 -2 3 10 Problema are ntotdeauna soluie. 4 2 37 Exemplu: pentru k=3, n=5, m=4 i matricea alturat se va afia 7 8 7 3 13 6, deoarece coloanele 2 i 3 conin numrul k=3. (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 083 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. tiind c variabila i este de tip ntreg i variabila s strcpy(s,bac2008); reine un ir de caractere, ce se va afia la executarea for(i=0;i<strlen(s);i++) if(s[i]<0||(s[i]>9) secvenei alturate? (4p.) cout<<s[i]; b. 2008 c. bac d. 2008bac Se consider graful orientat cu nodurile numerotate de la 1 la 5 i arcele (2,1), (5,1), (1,2), (3,2), (5,2), (4,3), (2,5), (4,5). Care este lungimea maxim a unui drum de la nodul 4 la nodul 1, format doar din arce distincte? (4p.) b. 5 c. 4 d. 7

a. bac2008 2.

a. 6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Scriei matricea de adiacen a unui graf neorientat cu 6 noduri n care toate nodurile au gradul 2 i care are dou componente conexe. (6p.) Se consider variabilele ntregi m, n i k (1n10, 1m10 i 1kn) i variabila a care memoreaz un tablou bidimensional cu n linii, numerotate de la 1 la n, i m coloane, numerotate de la 1 la m, avnd n*m numere ntregi. Scriei secvena de program C/C++ care s determine i s afieze pe ecran elementele impare de pe linia k ale tabloului a. (6p.) O list liniar dublu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element cte o liter din alfabetul englez. Considernd c lista este creat i conine un numr par de elemente i c adresa primului element este reinut n variabila prim, iar adresa ultimului element este reinut n variabila ultim s se scrie declarrile de tipuri i date necesare i secvena de program C/C++ care inverseaz ordinea valorilor reinute n list. Exemplu: dac lista conine iniial valorile
prim i n f ultim o

5.

se va afia urmtoarea list:


prim o f n ultim i

(10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 084 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider graful neorientat cu nodurile numerotate de la 1 la 6 i avnd muchiile [1,2], [2,3], [2,5], [2,6], [3,4], [4,5], [4,6], [5,6]. Cte lanuri , distincte i de lungime 3 exist de la nodul 1 la nodul 4 n graful dat? Dou lanuri sunt distincte dac difer prin cel puin o muchie. (4p.) b. 0 c. 4 d. 3 Un arbore cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul vectorului de tai t=(9,3,4,7,3,9,0,7,2). Mulimea tuturor nodurilor de tip frunz este: (4p.) b. {1, 6} c. {8} d. {1, 6, 8}

a. 2 2.

a. {8, 6, 1, 5}

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider variabila c, de tip char, care memoreaz o liter a alfabetului englez, diferit de z sau Z. Scriei secvena de program C/C++ care afieaz pe ecran litera care i urmeaz n alfabet. Exemplu: dac litera memorat este g se va afia h. (6p.) Variabila a memoreaz un tablou bidimensional, cu 4 linii i 4 coloane, numerotate de la 1 la 4, ce memoreaz numere naturale de cel mult 2 cifre fiecare. Scriei secvena de program C/C++ care afieaz pe ecran produsul numerelor de pe diagonala secundar a tabloului. (6p.) O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element cte un numr natural din intervalul [1, 10000], iar n cmpul adr, adresa elementului urmtor din list. Considernd c lista este creat (are cel puin dou elemente) i c adresa primului element este reinut de variabila prim s se scrie declarrile de tipuri i date necesare i secvena C/C++ care afieaz pe ecran produsul numerelor memorate n primul i ultimul element al listei. Exemplu: pentru lista
prim 34 5 19 22 123

4.

5.

se va afia numrul 4182.

(10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 085 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider graful orientat cu vrfurile numerotate de la 1 la 7 i arcele (1,2), (1,7), (2,3), (3,2), (3,4), (4,3), (5,4), (5,6), (6,4), (7,6). Cte vrfuri din graful dat au gradul extern impar? (4p.) b. 3 c. 1 d. 2 Un arbore cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul vectorului de tai t=(9,3,4,7,3,9,0,7,2). Care este numrul minim de noduri care trebuie eliminate pentru ca lungimea celul mai lung lan, format din noduri distincte, cu o extremitate n rdcin s fie 3 i subgraful obinut s fie tot arbore? (4p.) b. 3 c. 2 d. 5

a. 4 2.

a. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Variabila s reine un ir de caractere format din cel puin 2 i cel mult 30 de litere mici ale alfabetului englez. Scriei secvena de program C/C++ care afieaz pe ecran primul i ultimul caracter al irului s. (6p.) Variabila a memoreaz un tablou bidimensional, cu 4 linii i 4 coloane, numerotate de la 1 la 4, cu elemente numere naturale de cel mult 2 cifre fiecare. Scriei secvena de program C/C++ care afieaz pe ecran produsul numerelor de pe diagonala principal a tabloului. (6p.) O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element cte un numr natural din intervalul [1,10000], iar n cmpul adr, adresa elementului urmtor din list. Considerand lista creat i c adresa primului element este reinut n variabila prim, s se scrie declarrile de tipuri i date necesare i secvena de program C/C++ care afieaz pe ecran numerele memorate n list, care sunt ptrate perfecte. Exemplu: pentru lista
prim 34 25 20 16

4.

5.

se vor afia numerele 25 i 16.

(10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 086 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. n declararea alturat, variabila p memoreaz n cmpul x struct {float x; abscisa, iar n cmpul y ordonata unui punct din planul xOy. float y;} p; Dac punctul se afl chiar n originea axelor, care dintre expresiile de mai jos are valoarea true? (4p.) (p.x==0)&&(p.y==0) b. (x.p==0)&&(y.p==0) p==0 d. (p(x)==0)&&(p(y)==0) Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai jos? strncpy(s,strstr(examen,am),4); s[4]='\0'; (4p.) amen exam menn men b. c. d.

a. c. 2.

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Scriei matricea de adiacen a arborelui cu 6 noduri, numerotate de la 1 la 6, definit prin urmtorul vector "de tai": (0, 1, 1, 1, 3, 3). (6p.) Fiecare element al unei liste nlnuite reine n cmpul nr un numr ntreg, iar n cmpul urm adresa urmtorului element din list sau NULL dac nu exist un element urmtor. Ce valori au variabilele ntregi a i b dup executarea secvenei alturate, dac variabila p reine adresa primului element al listei de mai jos, iar variabila q este de acelai tip cu p? (6p.) q=p; a=p->urm->nr; while (q->urm->urm!=NULL) { q=q->urm; q->urm->nr=q->nr+q->urm->nr; } b=q->nr;

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (1n10) apoi construiete n memorie o matrice cu 2*n linii i 2*n coloane, numerotate de la 1 la 2*n, astfel nct parcurgnd doar liniile impare ale matricei de sus n jos i fiecare linie impar de la stnga la dreapta se obin n ordine strict cresctoare toate numerele impare cuprinse n intervalul [1,4*n2], iar parcurgnd doar liniile pare ale matricei de sus n jos i fiecare linie par de la dreapta la stnga se obin n ordine strict cresctoare toate numerele pare cuprinse n intervalul [1,4*n2], ca n exemplu. Programul afieaz pe ecran matricea obinut, cte o linie a matricei 1 3 5 7 pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin 8 6 4 2 cte un spaiu. 9 11 13 15 Exemplu: pentru n=2 se obine matricea alturat. (10p.) 16 14 12 10

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 087 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. struct n declararea alturat, variabila p memoreaz n cmpul x {float x; abscisa, iar n cmpul y ordonata unui punct din planul xOy. Dac float y;}p; punctul se afl pe cel puin una dintre axele de coordonate, care dintre expresiile de mai jos are valoarea 1? (4p.) p.x*p.y==0 b. (p.x==0)&&(p.y==0) x.p+y.p==0 d. (p(x)==0)||(p(y)==0) Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai jos? strncpy(s,strstr("Informatica","form"),strlen("BAC08")); s[5]='\0'; (4p.) form b. forma InfoBAC d. Infor

a. c. 2.

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6, 0 1 0 3. reprezentat prin matricea de adiacen dat alturat. Scriei toate 1 0 1 nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta 0 1 0 s aib un numr maxim de frunze. (6p.) 0 1 0 0 1 0 1 0 0 4.

0 1 0 0 0 0

0 1 0 0 0 0

1 0 0 0 0 0

5.

Fiecare element al unei liste nlnuite reine n cmpul nr un numr ntreg, iar n cmpul urm adresa urmtorului element din list sau NULL dac nu exist un element urmtor. Ce valori au variabilele ntregi a i b dup executarea q=p; secvenei alturate, dac variabila p reine adresa a=p->urm->nr; primului element al listei de mai jos, iar variabila q este while (q->nr>=0) { de acelai tip cu p? q->urm->nr=q->nr-p->nr; q=q->urm; } (6p.) b=q->nr; Scriei un program C/C++ care citete de la tastatur un numr natural n (1n20), elementele unei matrice cu n linii i n coloane, numere ntregi din intervalul [-100,100] i afieaz pe ecran media aritmetic a elementelor strict pozitive ale matricei, care sunt situate sub diagonala principal, ca n exemplu. Exemplu: pentru n=4 i matricea alturat se afieaz valoarea 2.5 -1 2 4 5 (sunt luate n considerare doar elementele marcate). (10p.) 0 6 3 1 2 4 2 0 3 -5 1 -3

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 088 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. n declararea alturat, variabila p memoreaz n cmpul x abscisa, iar n cmpul y ordonata unui punct din planul xOy. Dac punctul se afl pe cel puin una dintre axe, care dintre expresiile de mai jos are valoarea true? (4p.) p.x*p.y==0 x.p==y.p b. d. struct {float x; float y;}p;

a. c. 2. a.

(p.x==0)&&(p.y==0) p(x)==0

Ce valoare are variabila s de tip ir de caractere dup executarea instruciunii de mai jos? s=strcat(strstr("bacalaureat", "bac")+ strlen("2008"),"08"); (4p.) BAC2008 b. laureat08 c. Bac200808 d. aur2008

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6, reprezentat prin matricea de adiacen dat alturat. Scriei toate nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta s aib un numr minim de frunze. (6p.) 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0

4.

Fiecare element al unei liste nlnuite reine n cmpul nr un numr ntreg, iar n cmpul urm adresa urmtorului element din list sau NULL dac nu exist un element urmtor. Ce valori au variabilele ntregi a i b dup executarea q=p; secvenei alturate, dac variabila p reine adresa a=p->urm->nr; primului element al listei de mai jos, iar variabila q este while (q->urm!=NULL) { de acelai tip cu p? q->urm->nr=q->nr*p->nr; q=q->urm; } (6p.) b=q->nr; Scriei un program C/C++ care citete de la tastatur un numr natural n (1n20), elementele unei matrice cu n linii i n coloane, numere ntregi din intervalul [-100,100] i afieaz pe ecran media aritmetic a elementelor strict pozitive ale matricei, care sunt situate deasupra diagonalei principale, ca n exemplu. Exemplu: pentru n=4 i matricea alturat se afieaz valoarea -1 2 -4 5 2.75 (sunt luate n considerare doar elementele marcate). 0 6 3 1 (10p.) 2 4 2 0 3 -5 1 -3

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 089 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. n declararea alturat, variabila p memoreaz n cmpul x struct 1. abscisa, iar n cmpul y ordonata unui punct din planul xOy. {float x; Dac punctul se afl n interiorul domeniului dreptunghic float y;}p; definit de punctele A(1,1), B(4,1), C(4,3), D(1,3), care dintre expresiile de mai jos are valoarea 1? (4p.) a. (p.x>1)&&(p.x<4)&&(p.y>1)&&(p.y<3) b. (x.p>1)&&(x.p<4)&&(y.p>1)&&(y.p<3) c. (p.x>1)&&(p.x<4)||(p.y>1)&&(p.y<3) d. (p(x)>1)&&(p(x)<4)||(p(y)>1)&&(p(y)<3) 2. Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai jos? s=strncpy(s,strstr("informatica","form"),strlen("BAC008")); s[6]='\0'; (4p.) format informat inform informBAC b. c. d.

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Determinai ultima valoare (notat cu ?) din vectorului de tai (0, 1, 1, 2, 3, 3, ?) astfel nct arborele cu 7 noduri, numerotate de la 1 la 7, descris de acest vector, s aib pe fiecare nivel n exact 2n noduri, nodul rdcin fiind pe nivelul n=0, i fiecare nod s aib cel mult doi descendeni. Scriei matricea de adiacen a unui arbore astfel definit. (6p.) Fiecare element al unei liste nlnuite reine n cmpul nr un numr ntreg, iar n cmpul urm adresa urmtorului element din list sau NULL dac nu exist un element urmtor. Ce valori au variabilele ntregi a i b dup executarea secvenei alturate, dac variabila p reine adresa primului element al listei de mai jos, iar variabila q este de acelai tip cu p? (6p.) q=p; a=p->urm->nr; while (q->urm!=NULL) { q->urm->nr=2*q->nr+1; q=q->urm; } b=q->nr;

4.

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (1n6) apoi construiete n memorie o matrice cu n linii i n coloane, astfel nct parcurgnd liniile matricei de sus n jos i de la stnga la dreapta se obin, n prima linie primele n numere ale irului Fibonacci n ordine cresctoare, n linia a doua urmtoarele n numere ale irului Fibonacci n ordine descresctoare, n linia a treia urmtoarele n numere ale acestui ir n ordine cresctoare, i aa mai departe, ca n exemplu. Elementele irului Fibonacci se obin astfel: primul element este 0, al doilea este 1, iar elementele urmtoare se obin nsumnd cele dou elemente care preced elementul curent. Astfel, primele 16 elemente ale acestui ir sunt: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610. 0 1 1 2 Programul afieaz pe ecran matricea obinut, cte o linie a 13 8 5 3 matricei pe cte o linie a ecranului, elementele fiecrei linii fiind 21 34 55 89 separate prin cte un spaiu. Exemplu: pentru n=4 se obine matricea alturat. (10p.) 610 377 233 144

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 090 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. n declararea alturat, variabila p memoreaz n cmpul x abscisa, iar n cmpul y ordonata unui punct din planul xOy. Dac punctul se afl n semiplanul din dreapta axei Oy (dar nu pe aceast ax), care dintre expresiile de mai jos are valoarea 1? (4p.) p.x>0 b. p.y>0 c. x.p+y.p>0 d. struct { float x; float y; }p; p(x)+p(y)>0

a. 2.

a.

Ce memoreaz variabila s, de tip ir de caractere, dup executarea instruciunilor de mai jos? strncpy(s,"informatica",strlen("2008")); s[strlen("2008")]='\0'; strcat(s,"BAC"); (4p.) info b. infoBAC c. BACinfo d. InformaticaBAC

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6, 0 1 0 3. reprezentat prin matricea de adiacen dat alturat. Scriei toate 1 0 1 nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta 0 1 0 s aib un numr par de frunze. (6p.) 0 1 0 0 1 0 1 0 0 4.

0 1 0 0 0 0

0 1 0 0 0 0

1 0 0 0 0 0

Fiecare element al unei liste nlnuite reine n cmpul nr un numr ntreg, iar n cmpul urm adresa urmtorului element din list sau NULL dac nu exist un element urmtor. Ce valori au variabilele ntregi a i b dup executarea q=p; secvenei alturate, dac variabila p reine adresa a=p->urm->nr; while (q->urm!=NULL) primului element al listei de mai jos, iar variabila q este { de acelai tip cu p? q->urm->nr=q->nr*a; q=q->urm; } (6p.) b=q->nr; Scriei un program C/C++ care citete de la tastatur un numr natural n (1n20), elementele unei matrice cu n linii i n coloane, numere ntregi din intervalul [-100, 100] i afieaz pe ecran diferena m1-m2, unde m1 este media aritmetic a elementelor strict pozitive ale matricei, situate deasupra diagonalei principale, iar m2 este media aritmetic a elementelor strict pozitive ale matricei, situate sub diagonala principal, ca n exemplu. Cele dou medii se consider egale cu 0 dac nu exist valori strict pozitive n zonele corespunztoare. Exemplu: pentru n=4 i matricea alturat se afieaz valoarea 0.25 -1 2 -4 5 (m1=2.75, calculat din elementele aflate deasupra diagonalei 0 6 3 1 principale, marcate cu chenar, i m2=2.5, calculat din elementele 2 4 2 0 subliniate). (10p.) 3 -5 1 -3

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 091 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider un graf neorientat G cu 101 noduri i 101 muchii. Numrul maxim de vrfuri izolate ale grafului poate fi: (4p.) b. 10 c. 50 d. 86 Un arbore cu 11 noduri, numerotate de la 1 la 11, este memorat cu ajutorul vectorului de tai t=(2,5,5,3,0,2,4,6,6,2,3). Descendenii direci (fiii) ai nodului 2 sunt: (4p.) b. 5 c. 6, 8 i 9 d. 3

a. 0 2.

a. 1, 6 i 10

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider definit matricea A care are 10 linii, numerotate de la 1 la 10, i 8 coloane, numerotate de la 1 la 8, ale crei for(j=1;j<=10;j++) elemente sunt numere ntregi. A[j][8]=0; Rescriei secvena alturat astfel nct toate elementele de pe cea de-a treia coloan a matricei s fie iniializate cu valoarea 100. (6p.) Ce se va afia n urma executrii char c[]="abracadabra"; secvenei alturate de program, n care i=6; variabila c memoreaz un ir cu cel cout<<c[i]<<c[i+1] <<endl; mult 20 de caractere, iar variabila i | printf(%c%c\n, c[i],c[i+1]); while (i>=0) este de tip ntreg? {cout<<c[i]; | printf(%c,c[i]); (6p.) i=i-1;} O list dublu nlnuit memoreaz n fiecare nod al su, n cmpul info un caracter, iar n cmpurile prec i urm adresa nodului precedent, respectiv urmtor din list. Scriei programul C/C++ care citete de la tastatur un cuvnt (avnd maximum 20 de litere), creeaz lista dublu nlnuit care va conine n ordine, de la stnga la dreapta, caracterele cuvntului citit (cte o liter n fiecare nod al listei) i afieaz pe ecran caracterele din list, n ordinea invers a memorrii lor. Exemplu: dac s-a citit de la tastatur cuvntul IRINA se creaz lista de mai jos, apoi se va afia ANIRI. (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 092 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care din urmtoarele arce aparine grafului orientat cu 4 vrfuri, avnd gradele din tabelul alturat (x,yN)? (4p.) b. (1,2) c. (1,4) d. (4,1) Variabila s este de tip ir de caractere, iar variabilele c1 i c2 sunt de tip char. Care expresie are valoarea 1 dac i numai dac irul de caractere s conine caracterele memorate de variabilele c1 i c2? (6p.) b. strchr(s,c1)!=0 || strchr(s,c2)!=0 d. strchr(s,c1)*strchr(s,c2)!=0

a. (2,3) 2.

a. strstr(s,c1+c2)!=0 c. strchr(strchr(s,c1),c2)!=0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Scriei vectorul de tai corespunztor arborelui cu 8 noduri, 1: 4,6,7 numerotate de la 1 la 8, dat prin lista alturat a 2: descendenilor direci (fiilor)? (6p.) 3: 1,8 4: 5: 6: 2 7: 8: 5 Scriei o expresie logic C/C++ care s struct punct {float x; float y;}; codifice condiia ca variabila v din declaraiile struct segment { alturate s reprezinte segmentul nul struct punct origine; (segmentul care are originea identic cu struct punct extremitate;} v; extremitatea). (4p.) Scriei un program C/C++ care citete de la tastatur numerele ntregi m i n (1m50, 1n50) i elementele unui tablou bidimensional cu m linii i n coloane, numere ntregi distincte de cel mult 4 cifre fiecare, i elimin din tablou, la nivelul memoriei, linia i coloana corespunztoare elementului de valoare minim. Programul va afia tabloul obinut pe ecran pe m-1 linii, elementele fiecrei linii fiind separate prin cte un spaiu. (10p.) Pe ecran se va afia: Exemplu: pentru m=3 i n=4 i tabloul de mai jos 2 7 1 4 14 6 12 3 9 22 8 5 14 6 3 9 22 5

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 093 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este numrul minim de noduri ce trebuie eliminate din graful alturat astfel nct subgraful obinut s nu fie conex? (4p.)

a. 3 2.

b. 0

c. 2

d. 1

n declararea alturat, cmpurile x i y ale nregistrrii pot struct punct memora coordonatele carteziene ale unui punct din planul xOy. { float x,y; Care dintre urmtoarele expresii are valoarea 1 dac i numai }P; dac punctul P este situat pe axa Ox ? (6p.) b. P.y==0 c. P.x+P.y==0 d. P.x==P.y

a. P.x==0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider arborele din figura alturat. Care este nodul care trebuie ales ca rdcin astfel nct vectorul de tai corespunztor arborelui rezultat s conin patru elemente egale? (6p.) 4. O list liniar simplu nlnuit cu 99 de elemente, alocate p=prim; dinamic, reine n cmpul nr al fiecrui element cte un while(p->urm!=NULL) numr natural, iar n cmpul urm, adresa elementului {q=p->urm; urmtor din list sau NULL dac nu exist un element p->urm=q->urm; delete q; | free(q); urmtor. tiind c prim pstreaz adresa primului element p=p->urm;} al listei i c p i q sunt dou variabile de acelai tip cu prim, cte elemente are lista dup executarea secvenei alturate? (4p.) 5. Un ir de caractere s se numete ablon pentru un alt ir de caractere x, dac este format din caractere din mulimea {*, ?,#}, are aceeai lungime cu x i pe fiecare poziie din s n care apare * n x se gsete o vocal, pe fiecare poziie din s n care apare # n x se gsete o consoan i pe fiecare poziie din s n care apare ? putem avea orice caracter n x. Se consider vocal orice liter din mulimea {a,e,i,o,u}. Scriei programul C/C++ care citete de la tastatur dou iruri de caractere, de aceeai lungime, formate din cel mult 200 de litere mici ale alfabetului englez, i afieaz pe ecran, un ablon comun celor dou iruri citite, care conine un numr minim de caractere ?. Exemplu: pentru irurile diamant i pierdut se afieaz #**#??# (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 094 Pentru itemul 1 scriei pe foaia de examen litera care corespunde rspunsului corect. 0 1 1 0 0 1. Care dintre nodurile grafului neorientat cu 5 noduri, numerotate 1 0 1 0 1 de la 1 la 5, dat prin matricea de adiacen alturat, are gradul 1 1 0 1 1 cel mai mare? (4p.) 0 0 1 0 1 0 1 1 1 0 a. 4 b. 3 c. 5 d. 2 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Un graf neorientat cu 5 noduri, numerotate de la 1 la 5, conine urmtoarele muchii: [1,2], [1,3], [2,3], [2,5], [3,4], [3,5], [4,5]. Eliminai din acest graf numrul necesar de muchii astfel nct graful parial rezultat s fie arbore. Considernd c acest arbore are ca rdcin vrful 5, care este vectorul cu legturi de tip tat corespunztor ? (4p.) 1: 2, 3 Un graf neorientat cu 5 noduri, numerotate de la 1 la 5, este 2: 1, 3, 5 reprezentat prin listele de adiacen alturate. Transformai acest 3: 1, 2, 4, 5 graf ntr-un graf orientat prin nlocuirea fiecrei muchii cu exact un 4: 3, 5 arc, astfel nct n graful orientat care rezult s existe cel puin un 5: 2, 3, 4 drum de la orice nod x pn la orice nod y, (xy). Scriei reprezentarea grafului orientat pe care l-ai construit, prin liste de adiacen. (6p.) Scriei un program n limbajul C/C++ care citete de la tastatur un singur ir format din cel mult 20 de caractere care reprezint numele i prenumele unei persoane. ntre nume i prenume se afl un numr oarecare de caractere spaiu (cel puin unul). Att numele ct i prenumele sunt formate numai din litere ale alfabetului englez. Programul construiete n memorie i afieaz pe ecran un al doilea ir de caractere, care s conin prenumele, urmat de exact un spaiu i apoi numele din irul citit iniial. Exemplu: dac se citete irul: Popescu Vasile se va construi i apoi se va afia pe ecran irul Vasile Popescu (10p.) n memorie este construit o list simplu nlnuit, alocat dinamic, ale crei elemente memoreaz n cmpul lit un caracter i n cmpul next adresa elementului urmtor din list sau valoarea NULL dac nu exist un element urmtor. Se tie c acast list conine cel puin trei elemente. Variabila prim reine adresa primului element al acestei liste, iar variabila ultim reine adresa ultimului element din aceast list. Scriei secvena de program care interschimb valorile reinute n cmpurile lit de la al doilea, respectiv de la ultimul element al acestei liste. n cazul n care vei folosi i alte variabile dect cele date prin enun, scriei i declarrile necesare pentru aceste variabile. Exemplu: dac presupunem c iniial lista avea coninutul i forma urmtoare: prim ultim V a s i l e atunci, n urma executrii secvenei, ea va avea urmtorul coninut: prim ultim V e s i l a (6p.)

3.

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 095 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Cte valori nule pot s apar ntr-un vector cu legturi de tip tat asociat unui arbore cu rdcin care conine 10 noduri? (4p.) b. exact una a. niciuna c. depinde de configuraia arborelui d. exact dou

2.

n secvena alturat, i, j i n sunt variabile ntregi, iar a for(i=0; i<n; i++) for(j=0; j<n; j++) este o matrice ptratic format din n linii i n coloane a[i][j] = (i+j)%n; numerotate de la 0 la n-1. Care este suma elementelor de pe diagonala secundar din matricea a, n urma executrii acestei secvene, dac n=8? (4p.) 8 64 24 a. b. c. d. 56

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Scriei listele de adiacen pentru un graf neorientat, cu 5 noduri, numerotate de la 1 la 5, care are un numr maxim de muchii i nu este eulerian. (6p.) Se d graful orientat cu 5 noduri, numerotate de la 1 la 5, definit 0 1 0 0 0 prin matricea de adiacen alturat. Determinai un drum de 0 0 1 1 1 lungime maxim de la nodul 1 la nodul 5 , care s fie alctuit din 0 1 0 1 0 arce distincte dou cte dou. Scriei lungimea drumului 0 0 1 0 0 determinat precum i arcele care l compun (lungimea unui drum 0 0 0 0 0 este egal cu numrul de arce care l compun). (6p.) Scriei un program n limbajul C/C++ care citete de la tastatur un singur ir, format din cel mult 20 de caractere, care reprezint numele i prenumele unei persoane. ntre nume i prenume se afl un numr oarecare de caractere spaiu (cel puin unul). Att numele, ct i prenumele, sunt formate numai din litere mici ale alfabetului englez. Programul construiete n memorie i afieaz pe ecran un alt ir de caractere, care s conin iniiala prenumelui (prima liter a prenumelui), urmat de un caracter punct, de exact un spaiu i de numele din irul citit iniial. Toate literele din irul afiat vor fi, de asemenea, litere mici. Exemplu: dac se citete irul: popescu vasile se va construi i apoi se va afia pe ecran irul v. popescu (10p.)

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 096 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care este numrul maxim de valori egale care pot s apar ntr-un vector cu legturi de tip tat asociat unui arbore cu rdcin care conine 10 noduri? (4p.) b. 10 d. 9 for(i=0; i<n; i++) for(j=0; j<n; j++) a[i][j] = (i+j)%n;

a. cel mult 2 c. nu pot s apar valori egale ntr-un vector cu legturi de tip tat 2.

n secvena alturat, i, j i n sunt variabile ntregi, iar a este o matrice ptratic format din n linii i n coloane, numerotate de la 0 la n-1. Care este suma elementelor de pe diagonala principal din matricea a, n urma executrii acestei secvene, dac n=8? (4p.) b. 64 c. 56

a. 24

d. 8

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Scriei listele de adiacen pentru un graf neorientat cu 5 noduri, numerotate de care este hamiltonian dar NU este eulerian. Se d graful orientat cu 5 noduri, numerotate de la 1 la 5, definit prin 0 1 0 0 matricea de adiacen alturat. Scriei arcele din care este alctuit 0 0 1 1 un drum de la nodul 1 la nodul 5, care trece prin cel puin patru 0 1 0 1 noduri. (6p.) 0 0 1 0 0 0 0 0 la 1 la 5, (6p.) 0 1 0 0 0

5.

Scriei un program n limbajul C/C++ care citete de la tastatur dou iruri, formate fiecare din cel mult 20 de caractere. Primul ir reprezint numele unei persoane, iar al doilea ir reprezint prenumele aceleiai persoane. Att numele ct i prenumele sunt formate numai din litere ale alfabetului englez i fiecare conine cel puin o consoan. Programul construiete n memorie i afieaz pe ecran un al treilea ir de caractere, care conine consoanele din prenumele citit dispuse n ordinea n care apar n prenume urmate de exact un spaiu i de numele citit. Exemplu: dac primul ir citit este Popescu, iar al doilea este Vasile se va construi i apoi se va afia pe ecran irul Vsl Popescu (10p.)

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 097 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Se consider un graf neorientat 5 noduri i 3 muchii. Care este numrul maxim de noduri cu grad 1 care pot exista n graf? (6p.) b. 3 c. 4 d. 5

a. 2 2.

Se consider un arbore cu rdcin memorat cu ajutorul vectorului de tai T=(2,0,1,1,1,2). Stabilii care dintre nodurile arborelui sunt situate pe nivelul 3, dac rdcina este situat pe nivelul 1? (4p.) b. 1 c. 2 6 d. 1 2 6

a. 3 4 5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider variabila s care memoreaz irul de caractere CARACATITA. Ce valoare va avea s dup executarea instruciunii de mai jos? strcpy(s,strstr(s,"TI")); 4. (6p.)

O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element cte un numr ntreg de cel mult 4 cifre, iar n cmpul adr, adresa elementului urmtor din list. Lista are cel puin trei noduri, iar variabila p reine adresa primului nod al listei. Scriei, n limbajul C/C++, declarrile ce definesc lista i o singur instruciune prin a crei executare se afieaz pe ecran valoarea memorat n cel de-al treilea nod al listei. (4p.) Se consider un tablou bidimensional cu n linii i m coloane (1n50, 1m50) ce memoreaz numere ntregi cu cel mult dou cifre fiecare. Scriei un program n limbajul C/C++ care citete de la tastatur valorile n, m i elementele tabloului, i care inverseaz ordinea elementelor n cadrul fiecrei coloane, ca n exemplu. Programul va afia pe ecran, pe n linii, matricea obinut dup inversare, elementele fiecrei linii fiind separate prin cte un spaiu. (10p.) Pe ecran se va afia: Exemplu: pentru n=4, m=3 i matricea: 3 4 5 1 7 3 7 8 9 4 5 6 4 5 6 7 8 9 1 7 3 3 4 5

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 098 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Fie graful orientat G cu 5 vrfuri, numerotate cu 1,2,3,4,5, i arcele (1,2), (1,3), (1,4), (2,3), (4,2), (4,5), (5,2), (2,4). Care dintre urmtoarele vrfuri au gradul extern egal cu gradul intern? (4p.) b. 4 i 5 c. 1 i 2 d. 3 i 4

a. 2 i 4 2.

Ce se va afia n urma executrii secvenei de char a[10]="Examen"; program alturate, considernd c s este o for (i=0;i<=2;i++) strcpy(a+i,a+i+1); variabil ir de caractere, iar i o variabil de cout<<a; | printf("%s",a); tip ntreg? (4p.) b. Eae c. men d. Examen

a. xmn

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Scriei vectorul de tai al unui arbore cu rdcin, tiind c: nodurile arborelui sunt numerotate cu numerele naturale distincte 1,2,3,...; numrul nodurilor este 4 sau 6; nodul 1 este desemnat ca rdcin; numrul nodurilor de tip frunz este egal cu jumtate din numrul total de noduri din arbore; numrul de nivele pe care sunt dispuse nodurile arborelui este egal cu numrul nodurilor de tip frunz. (6p.) Structura de date COLET permite reinerea a dou numere reale, reprezentnd valoarea exprimat n euro a unui colet potal, respectiv greutatea exprimat n kilograme, i un ir de caractere reprezentnd numele oraului expeditorului, format din cel mult 30 de caractere. Scriei n limbajul C/C++ declararea structurii COLET i o secven de instruciuni care permite citirea valorilor componentelor variabilei x de tipul COLET. Denumii sugestiv componentele structurii. (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n50) i construiete n memorie o matrice cu n linii i n coloane care s conin primele n2 numere naturale pare. Prima linie a matricei va conine, n ordine cresctoare, valorile 0, 2,.., 2n-2; a doua linie va conine, n ordine, valorile 2n, 2n+2,.., 4n-2; a treia linie va conine, n ordine, valorile 4n, 4n+2,.., 6n-2, iar ultima linie va conine, n ordine, valorile 2n2-2n, 2n2-2n+2,.., 2n2-2. Programul afieaz pe ecran matricea construit, cte o linie a matricei 0 2 4 pe cte o linie a ecranului, elementele de pe aceeai linie fiind desprite 6 8 10 12 14 16 prin cte un spaiu. Exemplu: pentru n=3 se va afia matricea alturat. (10p.)

4.

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 099 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Considerm un graf orientat cu 7 noduri, numerotate de la 1 la 7, i arcele: (1,6), (2,1), (3,1), (3,4), (3,5), (6,2), (7,3). Care este lungimea maxim a unui circuit elementar care se poate obine n graf prin adugarea unui singur arc? Lungimea unui circuit reprezint numrul arcelor ce unesc nodurile circuitului. Un circuit este elementar dac este format doar din noduri distincte, cu excepia primului nod, care coincide cu ultimul. (4p.) b. 4 c. 3 d. 5 Considerm variabila x care memoreaz irul de caractere ABAC. Care dintre urmtoarele instruciuni conduc la afiarea caracterului B? (4p.) b. cout<<x[strlen(x)-1]; | printf("%c",x[strlen(x)-1]); d. cout<<x[strlen(x)]; | printf("%c",x[strlen(x)]);

a. 6 2.

a. cout<<x[strlen(x)-3]; | printf("%c",x[strlen(x)-3]); c. cout<<x[2]; | printf("%c",x[2]);

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Considerm un graf neorientat cu 5 noduri i 3 muchii format din dou componente conexe. tiind c doar patru dintre noduri au gradul 1, scriei matricea de adiacen a grafului. (6p.) Se consider o coad, n care au fost introduse iniial, n aceast ordine, primele trei numere impare 1, 3 i 5. Coninutul cozii este reprezentat n figura alturat. Notm cu AD X operaia prin care se adaug informaia X n coad i cu EL operaia prin care se elimin un element din coad. Asupra cozii se efectueaz, exact n aceast ordine, operaiile EL; AD 4; AD 6. Reprezentai, dup modelul din figura alturat, coninutul cozii dup fiecare operaie. (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n50) i construiete n memorie un tablou bidimensional cu n linii i n coloane care s conin primele n numere naturale nenule. Prima linie a tabloului va conine, n aceast ordine, valorile 1,2,...,n; a doua linie va conine, n ordine, valorile 2,2,3,...,n; a treia linie va conine, n ordine, valorile 3,3,3,4,...,n, iar ultima linie va conine valorile n, n,..., n. Programul afieaz pe ecran matricea construit, cte o linie a matricei 1 2 3 4 5 pe cte o linie a ecranului, elementele fiecrei linii fiind desprite prin 2 2 3 4 5 3 3 3 4 5 cte un spaiu. Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 4 4 4 5 5 5 5 5 5

5.

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

Subiectul II

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

Subiectul II (30 de puncte) - Varianta 100 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Un graf neorientat este complet dac oricare dou noduri distincte ale sale sunt adiacente. Care este numrul minim de muchii care trebuie eliminate dintr-un graf neorientat complet cu 100 de noduri astfel nct graful parial obinut s fie eulerian? (4p.) b. 0 c. 100 d. 50

a. 4851 2.

Fiecare element al unei liste simplu nlnuite memoreaz n cmpul urm adresa urmtorului element din list, iar variabilele k1, k2 i k3, rein adresele a 3 elemente succesive n list, ca n figur. Cu ce instruciune se pot nlocui punctele de suspensie din secvena de mai jos astfel nct aceasta s determine interschimbarea corect a poziiilor n list a elementelor de la adresele k2 i k3? (4p.) k1->urm=k3; ... k3->urm=k2;

a. k2->urm=k3->urm; c. k2->urm=k1->urm;

b. k2->urm=k3; d. k2=k3->urm;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider arborele cu 6 noduri, numerotate de la 1 la 6, cu muchiile [2,1], [2,4], [4,5], [6,2], [6,3]. Scriei toate nodurile desemnate ca rdcin astfel nct fiecare arbore cu rdacin obinut s aib exact 3 frunze. (6p.) Se consider declararea char e[20]=51+73; Care este irul memorat de variabila e dup executarea instruciunii de mai jos? strcpy(e,strchr(e,+)+2); 5. (6p.)

4.

Scriei un program C/C++ care citete de la tastatur un numr natural n (1n100)i apoi elementele unui tablou bidimensional cu n linii i n coloane, care memoreaz numere naturale cu cel mult 9 cifre fiecare; programul afieaz pe ecran acele valori din tablou care sunt strict mai mici dect toate elementele cu care se nvecineaz direct (aflate pe aceeai linie dar pe o coloan alturat sau pe aceeai coloan dar pe o linie alturat), ca n exemplu. Numerele afiate vor fi separate prin cte un spaiu. Exemplu: pentru n=4 i tabloul alturat se afieaz numerele: 2 0 (2 se 5 4 7 9 nvecineaz direct cu 4, 3, 6 i 9, i este mai mic dect acestea, iar 0 se 6 2 3 4 nvecineaz direct cu 6, 9 i 1 i este mai mic dect acestea). (10p.) 0 9 8 5 1 3 8 6

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

Subiectul II