Sunteți pe pagina 1din 301

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 001 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila x este de tip real. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul real memorat n variabila x aparine intervalului (5,8]? (4p.) b. (x<=8) || (x>5) d. (x<=8) && (x>5)

a. (x<8) && (x>=5) c. (x>8) || (x<=5)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. citete n (numr natural) S-a notat cu x%y restul mpririi numrului ntreg x la numrul z0 p1 ntreg nenul y i cu [a] partea ntreag a numrului real a. ct timp n>0 execut a) Scriei valoarea care se va afia dac se citete cn%10 n=103456. (6p.) n[n/10] b) Scriei toate numere naturale impare, distincte, fiecare dac c%3=0 atunci avnd exact dou cifre, care pot fi citite pentru variabila zz+p*(9-c) n astfel nct s se afieze valoarea 3. (4p.) pp*10 c) Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut scrie z cu o structur repetitiv de alt tip. (6p.) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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 . 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. 2. a. 3 b. 1 c. 2 d. 5 Care este numrul maxim de componente conexe pe care le poate avea un graf neorientat cu 20 noduri i 12 muchii? (4p.) 6 b. 12 c. 10 d. 15
1 2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n declararea alturat, cmpurile x i y ale nregistrrii pot struct punct { memora coordonatele carteziene ale unui punct din planul xOy. float x,y; Scriei o secven de instruciuni prin executarea creia se } A,B; calculeaz i se afieaz pe ecran distana dintre dou puncte ale float d; cror coordonate sunt memorate de variabilele A i B. (6p.) Pentru arborele reprezentat prin vectorul de tai T=(6,6,5,0,6,4,4,7), scriei care este nodul cu cei mai muli fii i care sunt frunzele arborelui. (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. 1 2 2 2 2 1 2 3 3 3 1 2 3 4 4 (10p.)

4. 5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 001 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru 1. litere din mulimea A={a,b,c,d}, cuvinte care nu conin dou vocale alturate. Primele trei cuvinte generate sunt, n ordine: abab, abac, abad. Care este cel de-al aselea cuvnt generat? (4p.) a. abbb b. abbc c. abba d. abbd Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului f(121,1);? (6p.)
//C //C++

void f(long n, int i) { if(n==0) printf("%d",i); if(n%3>0) f(n/3,i+1); } 3.

void f(long n, int i) { if(n==0) cout<<i; if(n%3>0) f(n/3,i+1); }

Fiierul text bac.txt conine, pe o singur linie, cel mult 1000 de numere naturale nenule cu cel mult 4 cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n999) i numerele din fiierul bac.txt i care afieaz pe ecran, separate prin cte un spaiu, toate numerele din fiier care sunt divizibile cu n. Dac fiierul nu conine niciun astfel de numr, atunci se va afia pe ecran mesajul NU EXISTA. Exemplu: dac fiierul bac.txt conine numerele: 3 100 40 70 25 5 80 6 3798, pentru n=10 atunci pe ecran se va afia: 100 40 70 80 (10p.) Subprogramul sub, cu trei parametri, primete prin intermediul parametrului: v un tablou unidimensional cu cel mult 100 de componente ce memoreaz numere ntregi cu cel mult 4 cifre; n un numr natural nenul mai mic sau egal cu 100 ce reprezint numrul efectiv de componente ale tabloului primit prin intermediul parametrului v; a un numr ntreg cu cel mult 4 cifre. Subprogramul sub returneaz numrul componentelor tabloului primit prin intermediul parametrului v ale cror valori sunt egale cu valoarea parametrului a. Exemplu: pentru valorile n=5, v=(1,21,9,21,403), a=21 ale parametrilor, n urma apelului, subprogramului sub va returna valoarea 2. a) Scriei definiia complet a subprogramului sub. (4p.) b) Scriei un program C/C++ care s citeasc de la tastatur un numr natural nenul n (n100) i n numere ntregi, fiecare avnd cel mult 4 cifre, i care, folosind apeluri utile ale subprogramului sub, s afieze pe ecran mesajul DA dac oricare dou dintre cele n numere citite sunt distincte dou cte dou, sau mesajul NU n caz contrar. Exemplu: pentru n=6 i cele n numere citite de la tastatur: 47 183 69 8 134 -56 se va afia pe ecran mesajul DA (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 002 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele x i y sunt tip int. Care dintre expresiile C/C++ de mai jos are valoarea 1 dac i numai dac valorile ntregi nenule memorate n variabilele x i y sunt egale? (4p.) b. (x<=y) && (y<x) d. x*x==y*y

a. (x%y==0) && (y%x==0) && (x*y>0) c. (x<=y) || (y<=x)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete x (numr natural nenul) ct timp x>0 execut pseudocod. citete y (numr natural) S-a notat cu x%y restul mpririi numrului ntreg x la dac x>y atunci numrul ntreg nenul y. scrie x%10 a) Scriei ce se va afia dac se citesc, n aceast altfel ordine, numerele: 17 22 13 101 2 7 5 0. scrie y%10 (6p.) ( b) Scriei un ir de date de intrare, format doar din xy numere naturale cu cel mult dou cifre fiecare, care s determine afiarea valorii 9877. c) d) (4p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de alt tip. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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. a. 2. Cte grafuri neorientate, distincte, cu 3 vrfuri se pot construi? Dou grafuri se consider distincte dac matricele lor de adiacen sunt diferite. (4p.) 23 b. 6 c. 32 d. 16 Variabila d, declarat alturat, memoreaz n cmpurile struct dreptunghi a i b limea i, respectiv, lungimea unui dreptunghi. { Care dintre urmtoarele instruciuni atribuie cmpului p float a,b,p; al variabilei d valoarea perimetrului dreptunghiului }d; respectiv? (4p.) p.d=2*(d.a+d.b); d.p=2*d.a+2*d.b; b. d. p.d=2*a.d+2*b.d; d.p==2*d.a+2*d.b;

a. c.

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 cu n linii i n coloane (numerotate de la 0 la n-1) cu s = 0; elemente numere ntregi, iar toate celelalte variabile sunt for(j = 0; j < n; j++) ntregi. tiind c n este un numr natural nenul, scriei ............. instruciunile ce pot nlocui punctele de suspensie din printf("%d",s);|cout<<s; secvena de program alturat astfel nct, n urma executrii acesteia, s se afieze suma elementelor numere ntregi impare de pe linia k a matricei a. (6p.) Scriei un program C/C++ care citete de la tastatur un cuvnt format din cel mult 20 de caractere, doar litere ale alfabetului englez. Programul determin transformarea cuvntului citit prin nlocuirea fiecrei litere mici a cuvntului cu litera mare corespunztoare, restul literelor nemodificndu-se, ca n exemplu. Programul afieaz pe ecran cuvntul obinut. Exemplu: pentru cuvntul: bACAlaUrEaT se va afia pe ecran: BACALAUREAT (10p.)

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 002 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru litere din mulimea A={a,b,c,d}, cuvinte care nu conin dou vocale alturate. Primele cinci cuvinte generate sunt, n ordine: abab, abac, abad, abba, abbb. Care este ultimul cuvnt generat? (4p.) a. ddcd b. dcba c. abcd d. dddd

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a void f(int n) subprogramului f, ce se afieaz ca { cout<<n%10; | printf(%d,n%10); if(n!=0) urmare a apelului f(125);? (6p.) { cout<<n%10; | printf(%d,n%10); f(n/100); } } 3. Fiierul text NR.TXT conine pe o singur linie, separate prin cte un singur spaiu, cel mult 100 de numere ntregi, fiecare numr avnd cel mult 4 cifre. Scriei un program C/C++ care citete numerele din fiierul NR.TXT i afieaz pe ecran, separate prin cte un spaiu, n ordine cresctoare, toate numerele naturale nenule din fiier. Dac nu exist astfel de numere se va afia pe ecran mesajul NU EXISTA. Exemplu: dac fiierul NR.TXT conine numerele: -3 -10 0 7 -5 7 51 -800 6 3798, atunci pe ecran se va afia: 6 7 7 51 3798 (10p.) Un numr n se numete extraprim dac att el, ct i orice numr obinut prin permutarea cifrelor lui n, sunt numere prime. De exemplu, numrul 113 este un numr extraprim deoarece 113, 311, 131 sunt numere prime. a) Scriei definiia complet a unui subprogram f, cu un parametru, subprogram care: - primete prin intermediul parametrului a un numr natural cu cel mult 2 cifre (a>1) - returneaz suma exponenilor divizorilor primi din descompunerea n factori primi a valorii parametrului a. Exemplu: pentru a=90 subprogramul va returna valoarea 4, deoarece a=2*32*5 i 1+2+1=4. (4p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural n, 2n99, i care determin i afieaz pe ecran, folosind apeluri utile ale subprogramului f, mesajul DA dac n este un numr extraprim, iar altfel afieaz mesajul NU. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 003 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul real memorat n variabila x se afl n intervalul (-2,2)? (4p.) b. 4-x*x>0 c. (2<x)&&(x<-2) d. (x-2)*(x+2)>0

a. x*x-4<=0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete z,x (numere naturale nenule) pseudocod. ct timp x>0 execut S-a notat cu x%y restul mpririi num rului ntreg x la cite te y (numr natural) numrul ntreg nenul y. dac z<y-x atunci a) Scriei ce se va afia dac se citesc, n aceast scrie x%10 ordine, numerele: 2 5 16 9 12 13 5 0? (6p.) altfel scrie y%10 b) Scriei un ir de date de intrare, format doar din numere naturale cu o singur cifr fiecare, care s xy determine afiarea valorii 7310. (4p.) c) d) Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de alt tip. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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, cte dintre nodurile grafului au gradul exterior strict mai mare dect gradul interior? (4p.) 1 b. 2 c. 4 d. 3 Cte frunze are arborele cu rdcin descris prin urmtorul vector de tai: (6,5,5,2,0,3,3,3,8,7,7)? (4p.) 1 b. 2 c. 5 d. 4

a. 2. a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n declararea alturat, cmpurile x i y ale nregistrrii pot struct fractie { memora numrtorul, respectiv numitorul unei fracii. Scriei int x,y; secvena de instruciuni prin executarea creia se construiete }f,f1,f2; n variabila f o fracie obinut prin nsumarea fraciilor memorate n variabilele f1 i f2. (6p.) 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 eeleeeneee scriei care este irul de caractere memorat de variabila s. (6p.) n=strlen(s); for(i=0;i<n;i++) printf("%c%c",s[i],e); | cout<<s[i]<<'e'; 5. 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 4 3 0 1 exemplu). Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 4 3 2 0

4.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 003 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru litere din mulimea A={a,b,c,d}, cuvinte care nu conin dou vocale alturate. Primele patru cuvinte generate sunt, n ordine: abab, abac, abad, abba. Care este antepenultimul cuvnt generat? (4p.) a. dddb b. ddcd c. ddba d. dcdd

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a void f (int x) subprogramului f, ce se afieaz ca { if(x>0) { cout<<'x'; | printf("%c",'x'); urmare a apelului f(26);? (6p.) f(x/3); cout<<'y'; | printf("%c",'y'); } } 3. Fiierului text NR.TXT conine pe o singur linie, separate prin cte un singur spaiu, cel mult 100 de numere naturale, fiecare numr avnd cel mult 4 cifre. S se scrie un program C/C++ care citete toate numerele din fiier i scrie pe ecran, pe o singur linie, separate prin cte un spaiu, n ordine cresctoare, toate numerele din fiier care au cel puin 3 cifre. Dac fiierul nu conine astfel de numere se va afia pe ecran mesajul NU EXISTA. (10p.) Subprogramul cif, cu doi parametri, primete prin intermediul parametrului a un numr natural cu cel mult 8 cifre i prin intermediul parametrului b o cifr; subprogramul returneaz numrul de apariii ale cifrei b n scrierea numrului a. Exemplu: pentru a=125854 i b=5, subprogramul va returna valoarea 2. a) Scriei definiia complet a subprogramului cif. (4p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural n cu cel mult 8 cifre, dintre care cel puin una impar, i care determin i afieaz pe ecran, folosind apeluri utile ale subprogramului cif, cel mai mare numr natural care poate fi obinut utiliznd toate cifrele impare ale numrului n. Exemplu: dac n=2152331 atunci se va afia pe ecran numrul 53311. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 004 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este rezultatul evalurii expresiei C/C++ alturate? b. 10 c. 1.11 (4p.) 10*2/3*3/2 d. 9

a. 0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete a,b (numere ntregi) pseudocod. dac a<b atunci S-a notat cu x%y restul mpririi numrului ntreg x la sa; ab; bs numrul ntreg nenul y. a) Scriei ce se afieaz pentru a=5 i b=17. (6p.) pentru xa,b,-1 execut Scriei toate perechile de valori care pot fi citite dac x%2=0 atunci b) scrie x, pentru variabilele a i b, astfel nct s se afieze, n acest ordine, numerele: 0 -2 -4 -6 -8 -10. (4p.) c) d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura pentru...execut cu o structur repetitiv de alt tip. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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, cte dintre nodurile grafului au gradul exterior egal cu gradul interior? (4p.) 2 b. 3 c. 1 d. 4 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.) 4 b. 6 c. 5 d. 3

a. 2. a.

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.) 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 executarea ei s determine nlocuirea tuturor literelor mici din irul s cu litera W i apoi afiarea irului obinut. (6p.)

3 2 1

vrf

baza

4.

i=0; while (i<strlen(s)) { ............... } printf("%s",s);| cout<<s;

5.

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

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 004 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru litere din mulimea A={a,b,c,d}, cuvinte care nu conin dou vocale alturate. Primele trei cuvinte generate sunt, n ordine: abab, abac, abad. Care este penultimul cuvnt generat? (4p.) a. dcdb b. dcba c. dddc d. ddcd

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru subprogramul f definit void f (int n, int x) alturat, ce se afieaz ca urmare { if(x>n) cout<<*; | printf(%c,*); a apelului f(15,2);? (6p.) else { f(n,x+4); cout<<x%10; | printf(%d,x%10); } } 3. Fiierul text NR.TXT conine pe o singur linie, separate prin cte un singur spaiu, cel mult 100 de numere naturale, fiecare numr avnd cel mult 4 cifre. Scriei un program C/C++ care citete numerele din fiierul NR.TXT i afieaz pe ecran, separate prin cte un spaiu, n ordine descresctoare, toate numerele din fiier care au cel mult 2 cifre. Dac fiierul nu conine astfel de numere se va afia pe ecran mesajul NU EXISTA. (10p.) Subprogramul cif, cu doi parametri, primete prin intermediul parametrului a un numr natural cu cel mult 8 cifre i prin intermediul parametrului b o cifr; subprogramul returneaz numrul de apariii ale cifrei b n scrierea numrului a. Exemplu: pentru a=125854 i b=5, subprogramul va returna valoarea 2. a) Scriei definiia complet a subprogramului cif. (4p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural n cu cel mult 8 cifre, dintre care cel puin una impar, i care determin i afieaz pe ecran, folosind apeluri utile ale subprogramului cif, cel mai mic numr natural care poate fi obinut utiliznd toate cifrele impare ale numrului n. Exemplu: dac n=2152331 atunci se va afia pe ecran numrul 11335. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 005 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila x este de tip real. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul real memorat n variabila x nu aparine intervalului (2,9]? (4p.) b. (x<=2) && (x>9) d. (x<2) || (x>9)

a. (x>2) && (x<=9) c. (x<=2) || (x>9)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider programul pseudocod citete x,z (numere naturale) alturat. y 0 S-a notat cu x%y restul mpririi numrului repet ntreg x la numrul ntreg nenul y i cu [a] yy*10+x%10 x[x/100] partea ntreag a numrului real a. pn cnd x=0 a) Scriei ce se va afia dac se citesc, ct timp y*z>0 i y%10=z%10 execut n aceast ordine, valorile 729385 i y[y/10] 532. (6p.) z[z/10] b) Dac pentru z se citete valoarea 99, dac y+z=0 atunci scriei cte numere naturale, cu exact scrie 1 3 cifre fiecare, pot fi citite pentru x altfel astfel nct s se afieze valoarea 0 n scrie 0 fiecare dintre aceste cazuri. (4p.) c) d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se foloseasc o singur structur repetitiv. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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 10 muchii, fiecare nod are gradul un numr nenul. Doar trei 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.) 14 b. 17 c. 10 d. 16 Variabila d, declarat alturat, memoreaz n cmpurile a i b limea i, respectiv, lungimea unui dreptunghi. Care dintre urmtoarele instruciuni atribuie cmpului aria al variabilei d valoarea ariei dreptunghiului respectiv? (4p.) d.aria==d.a*d.b; aria.d=d.a*d.b; b. d.

a. 2.

struct dreptunghi { float a,b,aria; }d;

a. c.

aria.d=a.d*b.d; d.aria=d.a*d.b;

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 i d dou variabile ce memoreaz cte un caracter, iar n i i variabile ntregi. Scriei instruciunile ce pot nlocui punctele de suspensie din secvena de program de mai jos astfel nct executarea ei s determine nlocuirea tuturor apariiilor caracterului memorat n=strlen(s); de variabila c n irul s cu caracterul memorat de for(i=0;i<n;i++) variabila d i apoi afiarea irului obinut. (6p.) ............... printf("%s",s);| cout<<s; 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 . (10p.) 2 2 3 4 5 3 3 3 4 5 4 4 4 4 5

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 005 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Folosind modelul combinrilor se genereaz numerele naturale cu cte trei cifre distincte din mulimea {1,2,3,4}, numere cu cifrele n ordine strict cresctoare, obinndu-se, n ordine: 123, 124, 134, 234. Dac se utilizeaz exact aceeai tehnic pentru a genera numerele naturale cu cte patru cifre distincte din mulimea {1,2,3,4,5}, cte dintre numerele generate au prima cifr 1 i ultima cifr 5? (4p.) b. 2 c. 6 d. 3 a. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia de mai jos a subprogramului f(10);? //C void f (int b) { if(3<=b) {f(b-2); printf(%c,*);} else printf(%d,b); } f, ce se afieaz ca urmare a apelului (6p.) //C++ void f (int b) { if(3<=b) { f(b-2); cout<<*;} else cout<<b; }

3.

Scriei un program C/C++ care citete de la tastatur un numr natural n cu cel mult 8 cifre (n10) i care creeaz fiierul text NR.TXT ce conine numrul n i toate prefixele nenule ale acestuia, pe o singur linie, separate prin cte un spaiu, n ordine descresctoare a valorii lor. Exemplu: pentru n=10305 fiierul NR.TXT va conine numerele: 10305 1030 103 10 1 (10p.) Subprogramul f, cu un parametru: - primete prin intermediul parametrului a un numr natural cu cel mult 8 cifre (a>1) - returneaz cel mai mic divizor prim al valorii parametrului a. Exemplu: pentru valoarea 45 a parametrului a, subprogramul va returna valoarea 3 deoarece a=32*5, iar cel mai mic divizor prim al su este 3. a) Scriei definiia complet a subprogramului f. (4p.) b) Scriei un program C/C++ care s citeasc de la tastatur un numr natural nenul n (n100) i un ir de n numere naturale de cel mult 8 cifre fiecare, toate numerele din ir fiind strict mai mari dect 1. Folosind apeluri utile ale subprogramului f, programul va determina i va afia pe ecran toate numerele prime din irul citit. Numerele determinate se vor afia pe o singur linie a ecranului, separate prin cte un spaiu. Dac nu exist astfel de numere se va afia pe ecran mesajul NU EXISTA. Exemplu: pentru n=8, irul: 1125, 2, 314, 101, 37, 225, 15, 12 se va afia: 2 101 37 (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 006 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii C/C++, are ca valoare cel mai mic dintre numerele naturale nenule, cu cel mult 4 cifre fiecare, memorate n variabilele ntregi x i y? (4p.) a. (x+y-abs(x-y))/2 c. (x+y+abs(x-y))/2 b. x+y-abs(x-y)/2 d. (x+y+abs(x+y))/2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod: citete n (numr natural) S-a notat cu [c] partea ntreag a numrului real c, iar cu a%b s-1 ct timp n>0 execut restul mpririi numrului ntreg a la numrul ntreg nenul b. dac n%10>s atunci a) Scriei valoarea care se afieaz, n urma executrii sn%10 algoritmului, dac se citete numrul 9321. (6p.) altfel b) Scriei o valoare care poate fi citit pentru n astfel nct s11 s se afieze valoarea 11. (4p.) n[n/10] c) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp ... execut scrie s cu o structur repetitiv cu test final. (6p.) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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. n declararea alturat, cmpul a al structurii memoreaz struct p{ int a,b;} x,y; numratorul, iar cmpul b memoreaz numitorul unei fracii. int t; Care dintre urmtoarele secvene de instruciuni determin, n urma executrii, interschimbarea numitorului fraciei x cu numitorul fraciei y? (4p.) t=x.b; x.b=y.b; y.b=t; x.b=y.b; b. d. t=b.x; b.x=b.y; b.y=t; b.x=b.y;

a. c. 2. a.

Se consider un graf neorientat cu 10 noduri i 7 muchii. Care este numrul maxim de componente conexe din care poate fi format graful? (4p.) 8 b. 7 c. 6 d. 10

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Care este numrul de muchii ale unui arbore cu 15 noduri? n secvena alturat se consider c variabila a memoreaz un tablou bidimensional cu n linii i n coloane, numerotate de la 0 la n-1, iar toate celelalte variabile sunt ntregi. Ce valoare se va afia n urma executrii secvenei, dac n=4, iar tabloul are coninutul de mai jos? 1 2 3 4 5 6 7 8 9 1 2 3 (6p.) 4 5 6 7 (6p.)

p=0; u=n-1; s=0; while (p<=u) { s=s+a[p][p]+a[u][u]; p=p+1; u=u-1; } cout<<s; | printf(%d,s);

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 006 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul cu definiia alturat. Ce valoare se va afia n urma executrii instruciuni de mai jos? cout<<f(12); | printf(%d,f(12)); (4p.) int f (int n){ int c; if (n!=0) {if (n%2==1) c=1+f(n/2); else c=f(n/2); cout<<n%2; | printf(%d,n%2); return c; } else return 0; } c. 10102 d. 00112

a. 11002

b. 20011

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Utiliznd metoda backtracking sunt generate numerele de 3 cifre, avnd toate cifrele distincte i cu proprietatea c cifrele aflate pe poziii consecutive sunt de paritate diferit. tiind c primele ase soluii generate, sunt n aceast ordine, 103, 105, 107, 109, 123, 125 care este a noua soluie generat? (6p.) Se consider definite urmtoarele subprograme: - s1, cu doi parametri: a, b dou numere ntregi cu cel mult 4 cifre fiecare; subprogramul interschimb valorile a dou variabile transmise prin intermediul parametrilor a i b. - s2, cu trei parametri: a, un tablou unidimensional cu exact 100 de elemente, numere ntregi cu cel mult 4 cifre fiecare, p, un numr natural (p100), q, un numr natural (q100). Subprogramul caut primul element divizibil cu 5 n secvena ap,ap+1, ..., aq, i returneaz poziia acestuia, dac exist un astfel de element, sau valoarea -1 n caz contrar. a) Scriei numai antetul subprogramului s1. (4p.) b) Scriei definiia complet a subprogramului s2. (6p.) c) Scriei programul C/C++ care citete de la tastatur o valoare natural n (0<n<100) i apoi un tablou unidimensional a, cu n elemente, numere ntregi cu cel mult 4 cifre fiecare. Programul determin, folosind apeluri utile ale subprogramului s2, primul element divizibil cu 5 (dac exist) i ultimul element divizibil cu 5 (dac exist) al tabloului a, interschimb valorile elementelor gsite, folosind apelul subprogramului s1, i apoi scrie pe prima linie a fiierului text BAC.TXT elementele tabloului a, astfel transformat, separate prin cte un spaiu, sau valoarea 0 dac tabloul nu conine 2 elemente divizibile cu 5. Exemplu: pentru n=7 i tabloul a=(6,10,4,15,2,5,8), programul va scrie n fiier: 6 5 4 15 2 10 8 (10p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 007 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Fiecare dintre variabilele ntregi x i y memoreaz cte un numr natural. Care dintre expresiile C/C++ de mai jos are valoarea 1 dac i numai dac numrul memorat n x este strict mai mare dect 0 i numrul memorat n y este strict mai mare dect 5? (4p.) a. x*y-5!=0 c. x*(y-5)>=0 b. x*(y-5)!=0 d. !(x*(y-5)<=0)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n citete n (numr natural nenul) pseudocod: nr0 pentru a9,0,-1 execut S-a notat cu [c] partea ntreag a numrului mn real c, iar cu a%b restul mpririi numrului ct timp m0 i m%10a execut ntreg a la numrul ntreg nenul b. m[m/10] a) Scriei valoarea afiat, n urma executrii algoritmului, dac se citete dac m0 atunci pentru n valoarea 232493. (4p.) nrnr*10+m%10 b) Scriei dou valori naturale distincte care pot fi citite pentru n astfel nct, n urma scrie nr executrii algoritmului s se afieze numrul 9654. (6p.) c) d) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura pentru...execut cu o structur repetitiv cu test final. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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. 1. Se consider tabloul bidimensional a cu n linii p=0; numerotate de la 0 la n-1 i m coloane for (i=1;i<m;i++) if (a[n-1][p]<a[n-1][i]) numerotate de la 0 la m-1. Ce reprezint p=i; elementul a[n-1][p] dup executarea secvenei de program alturate? (4p.) cel mai mare element de pe linia n-1 cel mai mare element de pe coloana n-1 b. d. cel mai mic element de pe linia n-1 cel mai mic element de pe coloana n-1

a. c. 2. a.

Care dintre urmtoarele valori pot reprezenta gradele nodurilor unui graf neorientat cu 6 noduri? (4p.) 3 2 2 2 3 3 b. 4 2 2 2 3 2 c. 5 2 2 2 0 3 d. 5 2 2 2 1 2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Considerndu-se declararea alturat, scriei o secven de struct elev instruciuni prin executarea creia s se afieze, pe o singur { char nume[50]; int clasa; linie a ecranului, coninutul variabilei x. (6p.) float medie; }x; Se consider graful neorientat cu 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 trebuie eliminate astfel nct graful parial obinut s nu mai fie conex? (6p.) 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 afieaz pe ecran numai ultima consoan care apare n text. Exemplu: dac de la tastatur se introduce textul mare frig saci pe ecran se va afia: c (10p.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 007 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. void f(long int n){ Se consider subprogramul if (n!=0){ cu definiia alturat. Ce se if (n%2==0) va afia n urma apelului cout<<n%10; | printf(%d,n%10); f(12345);? (4p.) f(n/10); if (n%2!=0) cout<<n%10;| printf(%d,n%10); } else cout<<endl; | printf(\n); } a. 315 b. 24 c. 513 d. 42 24 135 42 135 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Folosind tehnica bactracking un elev a scris un program care genereaz toate numerele de cte n cifre (0<n9), cifrele fiind n ordine strict cresctoare. Dac n este egal cu 5, cte numere vor fi generate de program? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n100)i cele 3*n elemente ale tabloului unidimensional v, numere naturale cu cel mult patru cifre fiecare. Tabloul este mprit n trei zone, cu cte n elemente fiecare: prima zon conine primele n elemente din tablou, a doua zon conine urmtoarele n elemente din tablou, restul elementelor fiind n zona a treia. Programul va interschimba elementele zonei unu cu elementele zonei trei i va afia pe ecran toate elementele tabloului, astfel transformat, separate prin cte un spaiu. De exemplu, pentru n=3 i v=(1 2 3 4 5 6 7 8 9), se va afia pe ecran : 7 8 9 4 5 6 1 2 3 (10p.) Se consider irul definit de urmtoarea relaie de recuren: a) Scriei numai antetul unui subprogram p, care primete prin intermediul parametrului n un numr natural de maximum 8 cifre, i care returneaz cel mai mare termen al irului de mai sus mai mic sau cel mult egal cu n. Exemplu: dac n=83 atunci subprogramul va returna valoarea 80. (4p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural s (s10000000) i realizeaz scrierea lui s ca sum de termeni distinci ai irului dat, folosind apeluri utile ale subprogramului p. Numerele se vor scrie n fiierul Numere.txt, pe prima linie a acestuia, separate prin cte un spaiu. Exemplu: dac valoarea citit de la tastatur este 63, atunci fiierul Numere.txt va avea urmtorul coninut: 40 20 3. (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 008 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii C/C++, are ca valoare cel mai mare dintre numerele naturale nenule memorate n variabilele ntregi a i b? (4p.) b. a+b+abs(a-b)/2 d. (a+b-abs(a+b))/2

a. (a+b+abs(a-b))/2 c. (a+b-abs(a-b))/2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n citete n,k (numere naturale nenule) pseudocod: nr0 p1 S-a notat cu [c] partea ntreag a numrului real ct timp n0 i k0 execut c, iar cu a%b restul mpririi numrului ntreg a la dac n%2=0 atunci numrul ntreg b. nrnr+ n%10*p a) Scriei valoarea care se afieaz, n urma pp*10 executrii algoritmului, dac se citete altfel pentru n valoarea 932125 i pentru k kk-1 valoarea 3. (4p.) b) Scriei un set de date de intrare astfel nct, n[n/10] n urma executrii algoritmului, s se afieze valoarea 0. (6p.) scrie nr c) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp ... execut cu o (6p.) structur repetitiv cu test final. Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

d)

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

Subiectul I

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. Cte frunze are arborele cu 8 noduri i rdcina 1, 0 1 reprezentat prin matricea de adiacen alturat? (4p.) 1 0 0 1 0 0 1 0 0 0 0 0 0 0 5 b. 4 c. 3 0 1 0 1 0 0 0 0 d. 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 2 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0

a. 2. a.

Care este numrul maxim de vrfuri de grad 0 pe care le poate avea un graf neorientat cu 10 noduri i 7 muchii? (4p.) 5 b. 6 c. 4 d. 7

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce se afieaz n urma executrii secvenei de program urmtoare, dac variabila s memoreaz irul de caractere abcdefgh? strcpy(s+2,s+4); cout<<s<< <<strlen(s); | printf(%s %d ,s,strlen(s)); 4. (6p.)

Se consider un graf orientat cu 6 noduri care are urmtoarele proprietti: - suma gradelor externe ale tuturor vrfurilor grafului este egal cu 6 - sunt doar 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.) 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. Exemplu: pentru n=2, p=3 programul va afia 1 9 25 tabloul alturat: (10p.) 49 81 121

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 008 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul f cu void f(long int n){ if (n!=0){ definiia alturat. Ce se va afia n if (n%2!=0) urma apelului f(12345);? (4p.) cout<<n%10; | printf(%d,n%10); f(n/10); if (n%2==0) cout<<n%10;| printf(%d,n%10); } else cout<<endl; | printf(\n); } b. 135 42 c. 531 24 d. 531 42

a. 135 24

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Utiliznd metoda backtracking sunt generate numerele de 3 cifre, avnd toate cifrele distincte i cu proprietatea c cifrele aflate pe poziii consecutive sunt de paritate diferit. tiind c primele trei soluii generate sunt, n aceast ordine, 103, 105, 107, cte dintre numerele generate au suma cifrelor egal cu 6? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (n50) i care afieaz pe prima linie a fiierului BAC.TXT primele n numere pare, pe a doua linie primele n-1 numere pare, ..., pe linia n primul numr par. Numerele vor fi afiate pe fiecare linie n ordine cresctoare i vor fi separate prin cte un spaiu. (10p.) Exemplu: dac n=3 fiierul BAC.TXT va 0 2 4 0 2 avea coninutul alturat: 0 Se consider definite urmtoarele subprograme: - p1 care primete prin intermediul parametrului n un numr natural cu cel mult 8 cifre i returneaz suma cifrelor numrului primit prin parametrul n Exemplu: dac n este egal cu 1234 valoarea returnat de subprogram va fi 10. -p2 care primete prin intermediul parametrului n un numr natural cu cel mult 8 cifre, elimin ultima cifr a acestui numr i returneaz noul numr obinut. Exemplu: dac n este egal cu 1234 valoarea returnat de subprogram va fi 123. a) Scriei numai antetul subprogramelor p1 i p2. (4p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n cu cel mult 8 cifre i determin, prin apeluri utile ale subprogramelor p1 i p2, fr a accesa cifrele numrului n, numrul de cifre egale cu 0 din scrierea lui n. Programul va afia pe ecran numrul obinut. Exemplu: dac n este 102030, programul va afia valoarea 3. (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 009 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. ((a>3) && (a<15)) || (a!=b) 1. Care dintre expresiile C/C++ de mai jos este echivalent cu expresia alturat? (4p.) a. ((a>3) || (a<15)) && (a==b) c. ((a>3) || (a<15)) && (a!=b) b. !((a<=3) || (a>=15)) || (a!=b) d. !(a<3 || a>15) && (a!=b)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod: S-a notat cu [c] partea ntreag a numrului real c, iar cu a%b restul mpririi numrului ntreg a la numrul ntreg nenul b. a) citete n (numr natural) s10 ct timp n>0 execut dac n%10<s atunci sn%10 Scriei valoarea care se afieaz, n urma executrii altfel algoritmului, dac se citete pentru n valoarea 1239. s-1 (6p.) Scriei o valoare care poate fi citit pentru n astfel nct n[n/10] s se afieze valoarea -1. (4p.) scrie s Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp ... execut cu o structur repetitiv cu test final. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

b) c)

d)

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

Subiectul I

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 de struct { instruciuni realizeaz n mod corect citirea de la tastatur a valorilor int a, b; celor dou cmpuri ale variabilei x? (4p.) } x; cin>>x; cin>>a.x>>b.x; cin>>x.a>>x.b; cin>>a->x>>b->x; | | | | scanf(%d, &x); scanf(%d %d, &a.x,&b.x); scanf(%d %d, &x.a,&x.b); scanf(%d %d, &a->x,&b->x);

a. b. c. d. 2.

Se consider graful neorientat G cu 8 noduri, care are urmtoarele proprieti: - suma gradelor tuturor nodurilor este 12 - graful are exact 3 noduri cu gradul 1 Care este numrul maxim de noduri de grad 0 ale grafului G? 1 b. 4 c. 2 d. 0

(4p.)

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce se afieaz n urma executrii secvenei de n=strlen(s); program alturate, dac variabila s memoreaz irul s[n-1]=s[0]; de caractere abcdef iar variabila n este de tip cout<<s; | printf(%s ,s); ntreg? (6p.) Se consider graful orientat G reprezentat prin listele de adiacen alturate. Care este numrul maxim de arce ale unui drum n graf format din noduri distincte? (6p.)

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. Exemplu: pentru n=5 i tabloul alturat, se va 1 2 3 4 5 afia: 6 7 8 9 1 1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6 2 3 4 5 6 (10p.) 7 8 9 1 2 3 4 5 6 7

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 009 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul cu definiia int f (int n){ int c; alturat. Ce valoare se va afia n urma if (n!=0) executrii instruciunii de mai jos? {if (n%2==0) cout<<f(8); | c=1+f(n/2); printf(%d,f(8)); (4p.) else c=f(n/2); cout<<n%2; | printf(%d,n%2); return c; } else return 0; } b. 30001 c. 10013 d. 00112 a. 10003 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Utiliznd metoda backtracking sunt generate toate numerele de 3 cifre, avnd cifrele n ordine cresctoare, iar cifrele aflate pe poziii consecutive sunt de paritate diferit. tiind c primele cinci soluii generate sunt, n aceast ordine, 123, 125, 127, 129, 145, care este cel de al 8-lea numr generat? (6p.) Se consider definite dou subprograme: - Subprogramul s1, cu 3 parametri, care primete prin intermediul parametrului a un tablou unidimensional cu exact 100 de elemente, numerotate de la 0 la 99, numere ntregi de cel mult 4 cifre fiecare, iar prin intermediul parametrilor p i q (0p<q<100) poziiile a dou elemente ale tabloului. Subprogramul furnizeaz prin intermediul parametrului p poziia primului element par (dac exist), i prin intermediul parametrului q poziia ultimului element impar (dac exist), din secvena ap,ap+1, ..., aq. Dac aceast secven nu conine niciun element par subprogramul va furniza prin intermediul lui p valoarea -1, iar dac nu conine niciun element impar, va furniza prin intermediul lui q valoarea -1. - Subprogramul s2, cu doi parametri, a i b, dou numere ntregi cu cel mult 4 cifre fiecare; subprogramul interschimb valorile a dou variabile transmise prin intermediul parametrilor a i b. a) Scriei numai antetul subprogramului s2. b) Scriei definiia complet a subprogramului s1. (4p.) (6p.)

3.

c) Scriei un program C/C++ care: - citete de la tastatur un numr natural nenul n (0n<100), apoi cele n elemente ale unui tablou a. Fiecare dintre aceste elemente este un numr ntreg cu cel mult 4 cifre i cel puin un element al tabloului este par; - determin plasarea la sfritul tabloului a a tuturor elementelor pare, folosind apeluri utile ale subprogramelor s1 i s2; - scrie elementele tabloului rezultat n urma acestei transformri pe o singur linie a fiierului text BAC.TXT, separate prin cte un spaiu. Exemplu: pentru n=5 i a=(2,4,3,5,7) fiierul va avea coninutul: 7 5 3 4 2. (10p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 010 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este valoarea expresiei C/C++ alturate? (4p.) b. 4 d. -3.75 9/2*2-5

a. 3 c. -3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete n,k (numere naturale nenule) pseudocod nr0 S-a notat cu [c] partea ntreag a numrului real c, p 1 iar cu a%b restul mpririi numrului ntreg a la ct timp n0 i k0 execut numrul ntreg nenul b. dac n%20 atunci a) Scriei valoarea care se afieaz, n urma nrnr + [n/10]%10*p executrii algoritmului, dac se citete pentru pp*10 n valoarea 23456 i pentru k valoarea 3. (4p.) altfel b) Scriei dou seturi distincte de date de intrare, kk-1 astfel nct, pentru fiecare dintre ele, n urma executrii algoritmului, s se afieze valoarea n[n/10] 234. (6p.) scrie nr c) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp ... execut cu o structur repetitiv cu test final. (6p.) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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 de struct { int a, b; instruciuni afieaz valorile memorate n cele dou cmpuri ale } x; variabilei x, separate printr-un spaiu? (4p.) cout <<x.a<< <<x.b; cout<<a.x<< <<b.x; cout<<x; cout<<a->x<< <<b->x; Se consider declarrile de mai jos: | | | | printf(%d %d, x.a,x.b); printf(%d %d, a.x,b.x); printf(%d, x); printf(%d %d, a->x,b->x);

a. b. c. d. 2.

i=0; while (i<strlen(s)-1) char s[]=abbacdde; if (s[i]==s[i+1]) int i; { strcpy(s+i,s+i+2); if (i>0) i=i-1; Ce ir reine variabila s dup executarea secvenei de } instruciuni alturate? (4p.) else i=i+1; aace b. ace c. ce d. acde

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. 5. Care este gradul maxim pe care l poate avea un nod al unui graf neorientat cu 6 muchii i 6 noduri dintre care exact dou au gradul 0? (6p.) Se consider graful neorientat cu 80 de noduri i 3160 muchii. Care este numrul de muchii ce pot fi eliminate astfel nct graful parial obinut s devin arbore? (6p.) Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p (1<n20, 1p20) i construiete n memorie un tablou bidimensional cu n linii i p coloane. Tabloul va fi construit astfel nct parcurgnd matricea de la prima linie ctre ultima i fiecare linie de la stnga la dreapta s se obin irul primelor n*p ptrate perfecte pare ordonat strict cresctor. 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. Exemplu: pentru n=2, p=3 programul va afia 0 4 16 tabloul alturat: (10p.) 36 64 100

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 010 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. int f(int n,int y) Se consider subprogramul cu definiia { if(n!=0) alturat. Ce valoare are f(3,1)? (4p.) { y=y+1; return y+f(n-1,y); } else return 0; } 8 9 b. c. 7 d. 6 a. Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Folosind tehnica bactracking un elev a scris un program care genereaz toate numerele de cte n cifre(0<n9), cifrele fiind n ordine strict cresctoare. Dac n este egal cu 5, cte numere care au prima cifr 4 vor fi generate de program? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (n100) i apoi cele n elemente, numere naturale cu cel mult 4 cifre fiecare, ale unui tablou unidimensional a. Programul determin i afieaz pe prima linie a ecranului suma celor n elemente ale tabloului, pe a doua linie a ecranului suma primelor n-1 elemente i aa mai departe astfel nct pe linia n-1 se va afia suma primelor 2 elemente, iar pe linia n primul element al tabloului. 10 Exemplu: dac n=4, iar tabloul are elementele 6 a=(1,2,3,4) programul va afia valorile 3 alturate: (10p.) 1 a) Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n1000000) i apoi n numere naturale nenule (cu cel mult 7 cifre fiecare) ordonate cresctor i, utiliznd un algoritm eficient din punct de vedere al memoriei utilizate i al timpului de executare, determin pentru fiecare numr citit cea mai mic valoare mai mare sau egal cu acesta ce reprezint o putere a lui 2. Un numr natural x este putere a lui 2 dac exist un numr natural k astfel nct x=2k. Numerele astfel determinate vor fi scrise n fiierul BAC.TXT, separate prin cte un spaiu. Exemplu: dac n=5 i cele 5 numere citite au valorile 3 5 8 9 12 fiierul BAC.TXT va avea coninutul: 4 8 8 16 16 (6p.) b) Descriei succint, n limbaj natural, algoritmul pe baza cruia a fost scris programul de la punctul a), explicnd n ce const eficiena metodei folosite. (4p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 011 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele x i y sunt de tip ntreg, x memornd valoarea 8, iar y valoarea 6. Care dintre expresiile C/C++ de mai jos are valoarea 0? (4p.) a. 3*x-4*y==0 b. (x+y)/2 > x%y+1 c. !(x/2+2==y) d. x-y+3!=0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete n,k (numere naturale) pseudocod. p1 ct timp n>0 i k>0 execut S-a notat cu x%y restul mpririi numrului natural x cn%10 la numrul natural nenul y i cu [z] partea ntreag a dac c%2=1 atunci numrului real z. pp*c a) Scriei valoarea care se va afia dac se citete pentru n valoarea 296385, iar pentru k n[n/10] valoarea 3. (6p.) kk-1 b) Dac se citete pentru k valoarea 4, scriei o scrie p valoare nenul care poate fi citit pentru n astfel nct numrul afiat n urma executrii algoritmului s fie 1. (4p.) c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu algoritmul dat, n care s se nlocuiasc cu o structur repetitiv structura repetitiv ct timp...execut, pentru...execut. (6p.)

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

Subiectul I

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 num rul de arce care compun acel drum)? (6p.) 4 b. 3 c. 1 0 0 0 0 1 1 d. 1 0 0 0 1 0 1 0 0 1 0 1 5 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0

a. 2. a. c.

Pentru a memora simultan numele i media la informatic a unui elev n variabila e, se poate utiliza declararea: (4p.) struct e{ string nume; float media;} float e; b. d. char e.nume[40]; float e.media; struct {char a[40]; float b;} e;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce se afieaz pe ecran n i=0; urma executrii secvenei de cout<<strlen(s); | printf("%d",strlen(s)); program alturate, n care while (i<strlen(s)) variabila s memoreaz un ir cu if (s[i]=='a') cel mult 12 caractere, iar i este strcpy(s+i,s+i+1); de tip ntreg? else i++; (6p.) cout<<" "<<s; | printf(" %s",s); Cte grafuri neorientate distincte, fr bucle, cu 4 vrfuri, se pot construi? Dou grafuri sunt distincte dac matricele lor de adiacen difer. (4p.) 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 le afieaz pe o linie a ecranului separate prin cte un spaiu.
3 6 5 4 7 Exemplu: pentru m=3, n=5 i matricea 9 6 12 9 10 , se afieaz pe ecran valorile 5 13 7 2 3

strcpy(s,abracadabra);

4. 5.

3 6 2 (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). (10p.)

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 011 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un algoritm de tip backtracking genereaz, n ordine lexicografic, toate irurile de 5 cifre 0 i 1 cu proprietatea c nu exist mai mult de dou cifre 0 pe poziii consecutive. Primele 7 soluii generate sunt: 00100, 00101, 00110, 00111, 01001, 01010, 01011. Care este a 8-a soluie generat de acest algoritm? (4p.) b. 01100 c. 01011 d. 01101 a. 01110

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Ce valoare are f(23169), pentru funcia f int f(int n){ definit alturat? (6p.) if (n==0) return 0;

else if (n%2==0) return n%10+f(n/10); else return f(n/10);

3.

a) Scriei definiia complet a unui subprogram P cu 3 parametri, care primete prin intermediul primului parametru, a, un tablou unidimensional de cel mult 100 de numere ntregi, prin intermediul celui de al doilea parametru, k, un numr natural (k<101) i furnizeaz prin intermediul celui de al treilea parametru al su, max, cea mai mare dintre valorile a1, a2,..., ak din tablou. Exemplu: pentru k=5 i tabloul a=(7,3,8,4,6,9), n urma apelului P(a,k,max) valoarea variabilei max este 8. (4p.) b) S se scrie un program C/C++ care citete de la tastatur un numr natural n (n<101), apoi n numere ntregi, avnd maximum 4 cifre fiecare i construiete n memorie i afieaz apoi pe ecran un tablou unidimensional de n numere ntregi, cu proprietatea c valoarea termenului de pe poziia i (i=1,2,,n) din acest tablou este egal cu cea mai mare dintre primele i valori din irul dat. Se vor folosi apeluri utile ale subprogramului P. Exemplu: dac se citesc de la tastatur n=12 i valorile 4 6 3 7 8 1 6 2 7 9 10 8 se va afia pe ecran tabloul 4 6 6 7 8 8 8 8 8 9 10 10. (6p.)

4.

Scriei un program C/C++ care citete de la tastatur un numr natural nenul n i apoi n numere naturale, cu maximum 9 cifre fiecare. Programul calculeaz i afieaz pe ecran, cte numere prime conine irul citit. Exemplu: pentru n=5 i valorile 12 3 9 7 1 se va afia pe ecran valoarea 2 (n irul dat exist dou numere prime i anume 3 i 7). (10p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 012 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac variabilele x i y memoreaz dou numere naturale pare consecutive? (4p.) b. (x==2) && (y==4) a. (x-y==2) && (y-x==2) d. ((x-y==2) || (y-x==2)) && (x%2==0) c. x-y==2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x (numr natural) y 0 S-a notat cu [c] partea ntreag a numrului real c. ct timp x0 execut a) Scriei valoarea care va fi afiat dac se citesc, n ct timp x>9 execut x[x/10] aceast ordine, numerele 12, 7, 354, 9, 630, 0. (6p.) yy*10+x b) Scriei un ir de numere ce pot fi citite astfel nct citete x valoarea afiat s fie 321. (4p.) scrie y 2. Se consider pseudocod. algoritmul alturat, descris n c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc fiecare dintre cele dou structuri ct timp...execut, cu cte o structur repetitiv cu test final. (6p.)

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

Subiectul I

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 neorientat este reprezentat prin matricea de 0 1 1 adiacen alturat. Care sunt vrfurile care au gradul 1 0 1 1 1 0 maxim? (4p.) 0 1 1 0 0 0 0 1 0 2 b. 2, 4 c. 4 0 1 1 0 1 1 d. 0 0 0 1 0 1 0 1 0 1 1 0 1, 3, 6

a. 2. a. c.

Pentru care dintre urmtorii arbori cu rdcin, memorai cu ajutorul vectorilor de tai, nodurile 4, 6 i 9 sunt singurii descendeni direci (fii) ai nodului 3? (6p.) tata=(2,0,2,3,2,3,4,4,3) tata=(6,4,9,0,3,3,3,3,3) b. d. tata=(3,3,4,0,2,3,4,4,4) tata=(0,3,1,3,2,3,4,4,3)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. O variabil e este folosit pentru a memora simultan numele unui elev precum i cele 3 note obinute de acesta la un concurs de atletism. tiind c notele sunt numere ntregi cu maximum dou cifre, numele este un ir cu maximum 30 de caractere, iar punctajul total al elevului se calculeaz folosind atribuirea: total=e.nota1+e.nota2+e.nota3; scriei declararea variabilei e. 4. (6p.) Scriei ce se afieaz pe ecran n urma char s[13]="abcdefghoid"; executrii secvenei de program alturate, cout<<strlen(s); | printf("%d",strlen(s)); n care variabila s memoreaz un ir cu cel for (int i=0;i<strlen(s);i++) mult 12 caractere, iar i este de tip ntreg. if (s[i]=='a' || s[i]=='e' || (4p.) s[i]=='i' || s[i]=='o' || s[i]=='u') s[i]= s[i]-'a'+'A'; cout<<" "<<s; | printf(" %s",s); 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 cte 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

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 012 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul P, definit alturat. void P(int &x) tiind c valoarea variabilei ntregi a este nainte { x=x+5; } de apel 4, care este valoarea ei dup revenirea din apelul P(a)? (4p.) 10 4 c. 9 a. b. d. 5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru a scrie valoarea 10 ca sum de numere prime se folosete metoda backtracking i se genereaz, n aceast ordine, sumele distincte: 2+2+2+2+2, 2+2+3+3, 2+3+5, 3+7, 5+5. Folosind exact aceeai metod, se scrie valoarea 9 ca sum de numere prime. Care sunt primele trei soluii, n ordinea generrii lor? (6p.) Se citesc de la tastatur dou valori naturale m i n (m<=100, n<=100), iar apoi m+n numere ntregi de cel mult 9 cifre fiecare. Dintre cele m+n numere citite, primele m sunt ordonate strict cresctor, iar urmtoarele n sunt, de asemenea, ordonate strict cresctor. Se cere s se afieze pe ecran cte din cele m+n numere au fost citite o singur dat. Exemplu: pentru m=6 i n=9 i valorile 1, 2, 3, 4, 7, 20, 3, 5, 7, 8, 9, 10, 12, 20, 24, se va afia valoarea 9 (numerele care au fost citite o singur dat sunt 1 2 4 5 8 9 10 12 24). a) Descriei un algoritm de rezolvare a acestei probleme, eficient din punct de vedere al timpului de executare i al spaiului de memorie utilizat, explicnd n ce const eficiena acestuia. (4p.) b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.) 4. Se consider subprogramul nr cu doi parametri, care primete prin parametrul n un numr natural cu maximum 8 cifre, i prin parametrul c o cifr zecimal. Subprogramul va returna numrul de apariii ale cifrei c n scrierea numrului n. Exemplu: dac n=15356, iar c=5, subprogramul va returna valoarea 2. a) Scriei doar antetul subprogramului nr. (3p.) b) Scriei programul C/C++ care citete de la tastatur un numr natural n, cu cel mult 8 cifre, i afieaz pe ecran numrul de cifre distincte ale numrului n. Se vor folosi apeluri utile ale funciei nr. (7p.) Exemplu: pentru n=15356 se va afia valoarea 4 deoarece numrul conine 4 cifre distincte i anume 1, 3, 5 i 6.

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 013 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre expresiile C/C++ de mai jos este echivalent cu !((a<5)&&(b>7)) expresia alturat? (4p.) b. !(a<5) || !(b>7) a. (a>=5)&&(b<=7) !(a<5) && !(b>7) d. !(a>=5) && !(b<=7) c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. algoritmul alturat, descris n citete a,b (numere naturale, ab) k0 pentru ia,b execut ni; c0 ct timp n>0 execut dac n%2=1 atunci cc+1 n[n/10] dac c>0 atunci kk+1 scrie k

S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) Scriei numrul ce se va afia dac pentru a se citete valoarea 404, iar pentru b se citete valoarea 413. (6p.) Dac pentru variabila a se citete valoarea 58 scriei toate valorile care, citite pentru variabila b, determin afiarea numrului 3. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu algoritmul dat n care s se nlocuiasc structura repetitiv pentru...execut cu o structur repetitiv de un alt tip. (6p.)

b)

c) d)

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

Subiectul I

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? (6p.)

a. c. 2.

0 0 5 7 6 5 1 7 4 5 0 4 5 4

b. d.

1 0 0 7 6 5 0 7 4 5 0 4 5 7

Cte grafuri neorientate distincte, cu 5 noduri, numerotate de la 1 la 5, se pot construi, astfel nct nodul 1 s aib gradul 1? Dou grafuri sunt distincte dac matricele lor de (4p.) adiacen sunt diferite. 32 b. 256 c. 15 d. 24

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Pentru a memora denumirea unui medicament i preul acestuia se folosete variabila m. Scriei declararea variabilei m tiind c denumirea medicamentului este un ir cu maximum 30 de caractere, preul acestuia este un numr real, iar majorarea cu 10% a preului se face folosind urmtoarea atribuire: m.pret=m.pret*1.1; 4. (4p.) Scriei ce se afieaz pe ecran n urma char s[13]="abcdefghoid"; executrii secvenei de program alturate, i=0; n care variabila s memoreaz un ir de cel cout<<strlen(s); | printf("%d",strlen(s)); mult 12 caractere, iar variabila i este de tip while (i<strlen(s)) ntreg. if (s[i]=='a' || s[i]=='e' || (6p.) s[i]=='i' || s[i]=='o' || s[i]=='u') strcpy(s+i,s+i+1); else i++; cout<<" "<<s; | printf(" %s",s); 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, numerotare de la 1 la n, ale crei elemente primesc valori dup cum urmeaz: - elementele aflate pe diagonala secundar sunt toate nule; - elementele aflate deasupra diagonalei secundare sunt toate 1; - elementele aflate sub diagonala secundar sunt toate 2. Programul afieaz pe ecran matricea construit, cte o linie a matricei pe 1 1 1 0 cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un 1 1 0 2 spaiu. 1 0 2 2 Exemplu: pentru n=4 se va afia matricea alturat. (10p.) 0 2 2 2

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 013 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Fie subprogramul fct definit alturat. Se tie c a, b i c sunt void fct(....) variabile ntregi. Iniial a=8, b=31 i c=9, iar dup apelul { x=x+1; y=y-1; fct(a,b,c), valorile celor trei variabile sunt a=9, b=31 i c=39. z=x+y; Care poate fi antetul complet al subprogramului fct? (4p.) } b. void fct(int x,int &y,int &z) a. void fct(int &x,int &y,int &z) d. void fct(int &x,int y,int &z) c. void fct(int x,int y,int z)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Trei biei, Alin, Bogdan i Ciprian, i trei fete, Delia, Elena i Felicia, trebuie s formeze o echip de trei copii, care s participe la un concurs. Echipa trebuie s fie mixt (adic s conin cel puin o fat i cel puin un biat). Ordinea copiilor n echip este important deoarece aceasta va fi ordinea de intrare a copiilor n concurs (de exemplu echipa Alin, Bogdan, Delia este diferit de echipa Bogdan, Alin, Delia). Cte echipe se pot forma, astfel nct din ele s fac parte simultan Alin i Bogdan? (6p.) Scriei un program C/C++, care citete de la tastatur un numr natural n (n1000) i afieaz pe ecran, separai prin cte un spaiu, primii n termeni ai irului: 1, 2,1, 3,2,1, 4,3,2,1, ... construit astfel: prima grup este format din numrul 1, a doua grup este format din numerele 2 i 1, etc. Grupa a k-a, este format din numerele k, k-1,..., 1. Exemplu: pentru n=8 se vor afia valorile 1 2 1 3 2 1 4 3. 4. (10p.) Se consider subprogramul P care primete ca parametri un numr natural n cu maximum 9 cifre i o cifr c i care va elimina din numrul n toate apariiile cifrei c, furniznd tot prin parametrul n numrul obinut. a) Scriei definiia complet a subprogramului P. (4p.) b) Pe prima linie a fiierului text BAC.IN se gsesc, separate prin cte un spaiu, mai multe numere naturale de cel mult 9 cifre fiecare. Scriei un program C/C++ care citete numerele din acest fiier, elimin toate cifrele impare din fiecare dintre aceste numere i apoi scrie n fiierul text BAC.OUT numerele astfel obinute, separate prin cte un spaiu. Se vor folosi apeluri utile ale subprogramului P. Dac un numr din fiierul BAC.IN nu conine nicio cifr par nenul, acesta nu va mai aprea deloc n fiierul de ieire. (6p.) Exemplu: dac fiierul BAC.IN conine numerele 25 7 38 130 45127 0 35 60 15, atunci BAC.OUT va avea coninutul: 2 8 42 60.

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 014 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru care dintre perechile de valori (a%100==b%100) && (a>99) || (b>99) de mai jos expresia C/C++ alturat are valoarea 1? (4p.) b. a=35 i b=35 d. a=1234 i b=12

a. a=1003 i b=3 c. a=1100 i b=10

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. algoritmul alturat, descris n citete x (numr natural) n 0 ct timp x0 execut yx; c0 ct timp y>0 execut dac y%10>c atunci cy%10 y[y/10] nn*10+c citete x scrie n

S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) b) c) d) Scriei valoarea ce se va afia dac se citesc, n aceast ordine, numerele 12, 7, 354, 9, 1630, 0. (6p.) Scriei un set de date de intrare care s determine, n urma executrii algoritmului, afiarea valorii 752. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc fiecare structur ct timp...execut, cu cte o structur repetitiv cu test final. (6p.)

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

Subiectul I

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.) 12 b. 6 c. 4 d. 3 ntr-o stiv au fost introduse, n aceast ordine, valorile 10, 5, 4, ca n figura alturat. Dac se noteaz cu PUSH(x) operaia prin care se adaug valoarea x n vrful stivei, i cu POP operaia prin care se extrage elementul din vrful stivei, care este coninutul stivei dup executarea urmtoarelor operaii? POP; PUSH(7); POP; POP; PUSH(9); a. b. c. (6p.) d.

a. 2.

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, j i k sunt de tip ntreg? (4p.) char s[11]="abcduecda"; cout<<strlen(s); | printf(%d, strlen(s)); i=0; j=strlen(s)-1; k=0; while (i<j) { if (s[i]==s[j]) k=k+1; i=i+1; j=j-1; } cout<<" "<<k; | printf(" %d",k);

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 exact 4 cifre, construiete n memorie i afieaz apoi pe ecran o matrice avnd 4 linii i 4 coloane, completat 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, elementele de pe a treia coloan a matricei vor fi toate egale cu cifra sutelor numrului dat, iar elementele de pe a patra coloan a matricei vor fi toate egale cu cifra miilor numrului dat. Matricea va fi afiat pe ecran, cte o linie a matricei pe cte o linie a ecranului, iar elementele fiecrei linii vor fi separate prin cte un spaiu. Exemplu: dac se citete numrul 1359, matricea construit va fi cea alturat. (10p.)

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 014 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele variante reprezint antetul corect al unui subprogram care primete prin parametrii x i y dou numere ntregi i returneaz, prin parametrul m, cea mai mic dintre cele dou valori x i y? (4p.) b. void minim(int x,int y,int &m) a. int minim(int x,int y,int m) c. int minim(int x,int y) d. void minim(int x,int y,int m)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Ce valoare are f(4063) pentru funcia f, definit long f(long n) alturat? (6p.) { if (n==0) return 1;

else if (n%10==0) return f(n/10); else return (n%10) * f(n/10);

3.

Fiierul text BAC.TXT conine mai multe numere naturale cu cel mult 6 cifre fiecare, cte un numr pe fiecare linie a fiierului. Scriei un program C/C++ care afieaz pe ecran toate numerele din fiier, cte 5 numere pe fiecare linie, separate prin cte un spaiu, cu excepia ultimei linii care poate conine mai puin de 5 numere. (10p.) Se consider subprogramul prim care primete ca parametru un numr natural n (n32000) i care returneaz 1 dac n este numr prim i respectiv 0 n caz contrar. a) Scriei definiia complet a subprogramului prim. (4p.) b) Scriei programul C/C++ care, utiliznd apeluri utile ale subprogramului prim, afieaz pe ecran toate numerele prime de dou cifre care, citite invers (de la dreapta la stnga), sunt tot prime. Un astfel de numr este de exemplu 13 pentru c att 13 ct i 31 sunt numere prime. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 015 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele x i y sunt de tip ntreg, x memornd valoarea 4, iar y valoarea 2. Care dintre expresiile C/C++ de mai jos are valoarea 0? (4p.) b. x+y>x%y+1 c. x-2*y==0 d. !(x==2*y)

a. x-y!=0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y. a) Scriei valoarea care se afieaz dac pentru a se citete valoarea 25, iar pentru n se citete valoarea 6. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) citete a,n (numere naturale) pentru i1,n execut dac i%2=0 atunci aa-i*i altfel aa+i*i scrie a

b) c) d)

Dac pentru variabila a se citete valoarea 18, scriei valoarea care trebuie citit pentru variabila n, astfel nct s se afieze numrul 8. (6p.) Dac se citete pentru a valoarea 0, cu ce instruciune de atribuire trebuie nlocuit atribuirea aa-i*i n algoritmul dat, astfel nct algoritmul obinut s afieze valoarea expresiei n2 dac numrul citit pentru n este impar i respectiv 0 dac numrul citit pentru n este par. (4p.)

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

Subiectul I

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. a. 2. a. c. 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)? (6p.) 0 b. 1 c. b. 2 d. 3 (4p.) Stiva este o structur de date care poate fi descris astfel: oricare element poate fi extras

ultimul element introdus n stiv este ultimul care poate fi extras primul element introdus n stiv este ultimul care poate fi extras

primul element introdus n stiv este d. primul care poate fi extras

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce se afieaz pe ecran n urma i=0; char s[11]="abaemeiut"; executrii secvenei de program cout<<strlen(s); | printf("%d",strlen(s)); alturate, n care variabila s while (i<strlen(s)) memoreaz un ir cu cel mult 10 if (s[i]=='a' || s[i]=='e' || s[i]=='i' || s[i]=='o' || caractere, iar variabila i este de s[i]=='u) tip ntreg? (4p.) { strcpy(s+i,s+i+1); i=i+1; } else i=i+2; cout<<" "<<s; | 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 cu 5 linii i 5 coloane, numerotate de la 1 la 5, format astfel: - elementele de pe linia 1, au toate valoarea egal cu cifra unitilor numrului citit; - elementele de pe linia 2, au toate valoarea egal cu cifra zecilor numrului citit; - elementele de pe linia 3, au toate valoarea egal cu cifra sutelor; - elementele de pe linia 4, au toate valoarea egal cu cifra miilor; - elementele de pe linia 5, au toate valoarea egal cu cifra zecilor de mii. Programul afieaz pe ecran matricea astfel construit, cte o linie a 1 1 1 1 1 matricei pe cte o linie a ecranului, elementele de pe aceeai linie fiind 3 3 3 3 3 7 7 7 7 7 separate prin cte un spaiu. Exemplu: dac se citete numrul 28731 matricea construit va fi cea 8 8 8 8 8 alturat. (10p.) 2 2 2 2 2

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 015 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Cte numere de trei cifre pot fi construite folosind doar cifre pare? a. 125 b. 100 c. 64 (4p.) d. 128

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Care este valoarea lui long f(long x) { if (x==4) return x; f(34) pentru funcia f else definit alturat? (6p.) { if (x%10==4 || x%10==0) return x+f(x/10); else return x+f(x*2); } } S se scrie un program C/C++ care citete de la tastatur mai multe numere naturale de cel mult 9 cifre fiecare. Citirea se termin la ntlnirea valorii 0. Programul determin i afieaz pe ecran de cte ori apare cifra 5 n scrierea tuturor numerelor citite. Exemplu: dac se citesc numerele 12 5 6535 1 86 573 0, se va afia valoarea 4. (10p.) 4. n fiierul text BAC.IN se gsesc, pe o singur linie, separate prin cte un spaiu, mai multe numere naturale de cel mult 6 cifre fiecare. Se cere s se determine i s se afieze pe ecran ultimul numr impar din fiierul BAC.IN. Dac n fiier nu exist niciun numr impar se va scrie pe ecran mesajul Nu exist numere impare. Exemplu: dac fiierul BAC.IN conine valorile: 12 6 25 68 13 8 24 31 42 se va afia 31. a) Descriei n limbaj natural un algoritm eficient, din punct de vedere al spaiului de memorie i al timpului de executare, pentru rezolvarea acestei probleme, explicnd n ce const eficiena acestuia. (4p.) b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 016 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele instruciuni C/C++ determin inserarea cifrei 7 n faa ultimei cifre a unui numr natural, cu mai mult de 2 cifre, memorat n variabila x? (4p.) b. x=x/10+7+x%10; d. x=(x/10+7)*10+x%10;

a. x=(x/10*10+7)*10+x%10; c. x=(x%10*10+7)*10+x/10;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu cu x%y restul mpririi numrului natural x la numrul natural, nenul, y. a) citete n (numr natural nenul) pentru i1,n-1 execut dac i%2=0 atunci scrie # Scriei caracterele care se vor afia n urma pentru ji+1,n execut executrii algoritmului dac se citete valoarea 4. scrie * (6p.) Scriei o valoare care poate fi citit pentru variabila n, astfel nct caracterul * s fie afiat de exact 66 de ori. (4p.) C/C++ corespunztor (10p.)

b)

c) d)

Scriei programul algoritmului dat.

Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc fiecare structur repetitiv pentru...execut cu cte o structur repetitiv ct timp...execut. (6p.)

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

Subiectul I

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 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. a. 2. a. c. Numrul de muchii ale unui graf neorientat cu 12 noduri, n care fiecare nod este adiacent cu exact 11 noduri, este : (4p.) 144 b. 66 c. 78 d. 11 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.) struct {float media; int varsta;} x; float x.media; int x.varsta; b. d. struct x {float media; int varsta;}; struct elev {float x.media; int x.varsta};

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o stiv au fost introduse n aceast ordine, numerele 5, 7, 3, 8, ca n figura alturat. Precizai numrul minim de elemente care trebuie extrase din stiv pentru a fi siguri c s-a extras inclusiv elementul cu valoarea 3 i care este elementul aflat n vrful stivei dup extragerea acestui element? (6p.) Ce va afia secvena alturat, tiind c variabila a memoreaz un ir cu cel mult 100 de caractere, iar variabila i este de tip ntreg? (6p.) 5. 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 4, iar restul elementelor sunt egale cu 3. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 3 3 3 4 3 4 3 4 3 3 3 4 3 3 3 4 3 4 3 4 3 3 3 4 strcpy(a,clasa a-XII-a A); cout<<a<<endl; | printf(%s\n,a); for(i=0;i<strlen(a);i++) if(a[i]>=a&&a[i]<=z) cout<<a[i]; | printf(%s,a[i]);

4.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 016 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Funcia F are definiia alturat. Ce valoare int F(int n) { if(n==0 || n==1) return 1; are F(3)? (4p.) else return 2*F(n-1)+2*F(n-2); } a. 1 b. 12 c. 6 d. 10

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Un algoritm genereaz n ordine cresctoare toate numerele de n cifre, folosind doar cifrele 3, 5 i 7. Dac pentru n=5, primele 5 soluii generate sunt 33333, 33335, 33337, 33353, 33355, precizai care sunt ultimele 3 soluii generate, n ordinea generrii. (6p.) Scriei programul C/C++ care citete de la tastatur elementele unui tablou unidimensional cu exact 10 numere naturale, mai mici dect 1000, determin i afieaz pe ecran, separate prin cte un spaiu, numrul de elemente din ir care sunt multipli ai numrului 13 i, n continuare, poziiile pe care acestea se gsesc n ir. Elementele tabloului sunt numerotate de la 1 la 10. Exemplu: dac irul citit este 2, 6, 26, 14, 130, 11, 8, 23, 39, 52, se vor afia numerele 4 3 5 9 10. (10p.) Subprogramul cifrak are 2 parametri, n, prin care primete un numr natural cu maximum 9 cifre, i k, prin care primete un numr natural (k9). Subprogramul returneaz numrul de cifre ale numrului n care sunt egale cu valoarea k. Exemplu: dac n=233433, iar k=3, subprogramul va returna valoarea 4. a) Scriei definiia complet a subprogramului cifrak. (4p.) b) n fiierul numere.txt sunt memorate mai multe numere naturale (maximum 1000 de numere cu maximum 9 cifre fiecare). Fiecare linie a fiierului conine cte un numr. Scriei programul C/C++ care, folosind apeluri ale subprogramului cifrak, afieaz pe ecran, separate prin cte un spaiu, toate numerele din fiier care conin exact 3 cifre de 0. Exemplu: dac fiierul numere.txt conine 260070 39008 70009 se vor afia numerele 260070 70009. (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 017 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este valoarea pe care poate s o aib y=0; iniial variabila ntreag x dac, la sfritul do { x=x/10; executrii secvenei alturate, variabila y=y+1; ntreag y are valoarea 2? (4p.) } while(x%100==0); b. 5000 c. 120 d. 0

a. 300

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. a) Scriei succesiunea de caractere pe care le va afia algoritmul dac se citesc, n aceasta ordine, valorile 2, respectiv 9. (6p.) Scriei numrul de perechi de valori aparinnd intervalului [1,20], care pot fi citite pentru variabilele x i y, astfel nct rezultatul afiat s fie format din exact 12 caractere ? (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura repetitiv ct timp...execut cu o structur repetitiv de alt tip. (6p.) citete x,y (numere naturale) dac x<y atunci xx-y yx+y xy-x ct timp xy execut scrie A xx-y scrie B

b)

c) d)

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

Subiectul I

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 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. a. c. 2. Care este gradul maxim posibil i care este gradul minim posibil pentru un nod dintr-un graf cu n noduri, care este arbore? (4p.) n-1 i 1 n i 0 b. d. n i 1 n-1 i 0

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.) struct x { int cod; float media;}; int x.cod ; float x.media; b. d. struct { int cod; float media;} x; struct candidat { int x.cod; float x.media;};

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o stiv au fost introduse, n aceast ordine, numerele 5, 7, 3, 8, ca n figura alturat. Scriei care este numrul minim de elemente care trebuie extrase din stiv pentru a fi siguri c s-a extras inclusiv elementul cu valoarea 7 i care este numrul de elemente rmase n stiv dup extragerea acestui element. (6p.) Ce va afia secvena program, tiind c memoreaz un ir cu cel caractere, iar variabila i ntreg? alturat de variabila a mult 100 de este de tip (6p.) strcpy(a,bacalaureat); n=strlen(a); cout<<n<<endl;| printf(%d\n,n); cout<<a[0]<<*<<a[n-1];| printf(%c*%c,a[0],a[n-1]);

4.

5.

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 cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 2 3 4 5 6 Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 017 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Subprogramul f are definiia void f(long n) alturat. Ce se va afia n {if (n>9) {cout<<n/100; | printf(%d,n/100); urma apelului f(12345);? f(n/10); (4p.) } } b. 123121 c. 1234123121 d. 123 a. 1231210 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Un algoritm genereaz n ordine descresctoare toate numerele de 5 cifre, fiecare dintre ele avnd cifrele n ordine strict cresctoare. tiind c primele 5 soluii generate sunt 56789, 46789, 45789, 45689, 45679, precizai care sunt ultimele 3 soluii generate, n ordinea generrii. (6p.) Scriei definiia complet a subprogramului interval care are 2 parametri prin care primete un tablou unidimensional cu maximum 100 de numere naturale mai mici dect 1000 i numrul de elemente din tabloul unidimensional. Subprogramul returneaz numrul de elemente din tabloul unidimensional care aparin intervalului nchis determinat de primul i respectiv ultimul element al tabloului. Exemplu: dac tabloul are 6 elemente i este de forma (12,27,6,8,9,2), subprogramul va returna valoarea 5. (10p.) Pe prima linie a fiierului numere.txt sunt memorate cel mult 90 de numere naturale, mai mici dect 1000 fiecare, separate prin cte un spaiu. Se cere s se determine, apelnd subprogramul interval definit la punctul anterior, numrul de elemente din fiier care sunt mai mici sau egale cu ultimul numr din fiier. Numrul determinat se afieaz pe ecran. Exemplu: dac fiierul numere.txt conine, n aceast ordine, numerele 6 267 13 45 628 7 79 101 se va afia 6. a) Descriei succint, n limbaj natural, strategia de rezolvare. b) Scriei programul C/C++ corespunztor algoritmului ales. (4p.) (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 018 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele instruciuni C/C++ determin eliminarea cifrei din mijloc a unui numr natural, cu exact 5 cifre, memorat n variabila x? (4p.) b. x=x%1000*100+x/100; d. x=x/1000+x%100;

a. x=x/1000*100+x%100; c. x=x/100*100+x%100;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x,y 2. Se consider algoritmul alturat, descris n pseudocod. (numere naturale) S-a notat cu a%b restul mpririi numrului natural a la dac x>y atunci numrul natural, nenul, b i cu ab interschimbarea yx valorilor reinute de variabilele a i b. Scriei succesiunea de caractere care se vor afia n dac x%2=0 atunci a) urma executrii algoritmului dac se citesc, n acest xx+1 ordine, valorile 2 i 9. (6p.) tiind c pentru variabila y se citete valoarea 79, ct timp xy execut b) xx+2 scriei 2 valori distincte care pot fi citite pentru variabila scrie * x, astfel nct s fie afiat de exact 40 de ori caracterul *. (4p.) c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura repetitiv ct timp...execut cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Un arbore binar este un arbore cu rdcin n care fiecare nod are cel mult 2 descendeni direci (fii), iar nlimea arborelui 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, precizai care este nlimea minim posibil? (4p.) 4 b. 7 c. 3 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.) struct punct {float ox,oy;} x; struct x {float ox,oy;}; b. d. char x[2]; float x;

a. 2.

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care va fi valoarea elementului aflat n vrful unei stive iniial vid i care este numrul de elemente rmase n stiv, dup efectuarea, n aceast ordine, a urmtoarelor operaii: se introduce valoarea 3; se introduce valoarea 7; se introduce valoarea 5; se extrage un element; se introduce valoarea 2; se introduce valoarea 4; se extrage un element. (6p.) 4. n 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 cout<<...; | printf(...); ntreg. else Completai punctele de suspensie din cout<<...; | printf(...); secven astfel nct aceasta s afieze 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

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 018 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Funcia f are definiia alturat. void f(long n, int i) Ce se va afia n urma apelului {if (i<n%10) {cout<<n%10; | printf(%d,n%10); f(12345,0);? f(n/10,i+1); (4p.) } } b. 543 c. 54 d. 5432 a. 54321

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Un algoritm genereaz, n ordine lexicografic, toate irurile alctuite din cte n cifre binare (0 i 1). tiind c pentru n=5, primele 4 soluii generate sunt 00000, 00001, 00010, 00011, precizai care sunt ultimele 3 soluii generate, n ordinea obinerii lor. (6p.) Subprogramul count are 2 parametri prin care primete un tablou unidimensional cu maximum 100 de numere reale i numrul de elemente din tabloul unidimensional. Subprogramul returneaz numrul de elemente din tabloul unidimensional care sunt mai mari sau cel puin egale cu media aritmetic dintre primul i ultimul element al tabloului. Exemplu: dac tabloul are 6 elemente i este de forma (12, 7.5, 6.5, 8.5, 7.5, 3), subprogramul va returna valoarea 4. Scriei definiia complet a subprogramului count. (10p.) n fiierul numere.txt sunt memorate cel mult 90 de numere reale, separate prin cte un spaiu. Se cere s se determine, folosind subprogramul count definit la punctul anterior, i s se afieze pe ecran, numrul de elemente din ir care sunt mai mari sau cel puin egale cu jumtate din valoarea ultimului element al irului. Exemplu: dac fiierul numere.txt conine, n aceast ordine, numerele 6 12.5 5 12.5 11.2 45 25 se va afia 4. a) Descriei succinct, n limbaj natural, strategia de rezolvare. b) Scriei programul C/C++ corespunztor algoritmului ales. (4p.) (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 019 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Cte atribuiri se execut, n total, n p=1; n=279; secvena alturat, dac n i p sunt while (n>=100) variabile de tip ntreg? (4p.) { p=p*10; n=n-100; } b. 6 c. 2 d. 8

a. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) citete a,b (numere naturale) a[a/10]%10*10+a%10 b[b/10]%10*10+b%10 pentru ia,b execut dac[i/10]=i%10 atunci Scriei numerele care se vor afia n urma scrie i%10 executrii algoritmului dac se citesc valorile a=312 i b=1354. (6p.) Scriei cte o valoare care poate fi citit pentru variabila a, respectiv b, astfel nct algoritmul s afieze exact 2 valori. (4p.) Scriei programul algoritmului dat. C/C++ corespunztor (10p.)

b)

c) d)

Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura pentru...execut cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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 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 de muchii care trebuie eliminate dintr-un graf neorientat, complet, cu 7 noduri, astfel nct graful parial obinut s fie arbore? (4p.) 15 b. 1 c. 6 d. 21 Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care memoreaz simultan partea real i partea imaginar a unui numr complex? (4p.) struct x {float im,re;}; struct complex{ float im, re;} x; 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 for(i=3;i<strlen(x);i++) cout<<x[i]; | printf(%c,x[i]); memoreaz un ir cu cel mult 100 de cout<<x<<endl; | printf(%s\n,x); caractere, iar variabila i este de tip ntreg? (6p.) Care vor fi valorile primului i ultimului element extras dintr-o coad iniial vid, dac se efectueaz urmtoarele operaii, n aceast ordine: se introduce valoarea 5; se introduce valoarea 4; se extrage un element; se introduce valoarea 2; se introduce valoarea 7; se extrage un element. (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 coloana impar este egal cu suma dintre numrul liniei i numrul coloanei pe care se afl i fiecare element aflat pe o coloan par este egal cu numrul liniei pe care se afl. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 2 1 4 1 6 cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 3 2 5 2 7 Exemplu: pentru n=5 se va afia matricea alturat. (10p.) 4 3 6 3 8 5 4 7 4 9 6 5 8 5 10 b. d. char x[2]; float x;

a. 2. a. c.

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 019 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Funcia F are definiia alturat. Ce valoare int F(int x){ are F(18)? (4p.) if (x<=1) return x; else return x+F(x-2); } b. 171 c. 1 d. 18 a. 90

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Un algoritm genereaz n ordine cresctoare, toate numerele de n cifre (n<9), cu cifre distincte, care nu au dou cifre pare alturate. Dac pentru n=5, primele 5 soluii generate sunt 10325, 10327, 10329, 10345, 10347, precizai care sunt urmtoarele 3 soluii generate, n ordinea obinerii lor. (6p.) Subprogramul aranjare are 2 parametri prin care primete un tablou unidimensional cu maximum 100 de numere reale i numrul de elemente din tabloul unidimensional. Subprogramul rearanjeaz elementele tabloului unidimensional astfel nct toate valorile negative s se afle pe primele poziii, iar valorile pozitive n continuarea celor negative. Ordinea n cadrul secvenei de elemente pozitive, respectiv n cadrul secvenei de elemente negative, poate fi oricare. Exemplu: dac este transmis ca parametru un tablou unidimensional cu 6 elemente de forma (12, -7.5, 6.5, -3, -8, 7.5), dup apel, acesta ar putea fi: (-7.5, -3, -8, 12, 6.5, 7.5). Scriei definiia complet a subprogramului aranjare. (10p.) n fiierul text nr1.txt sunt memorate pe prima linie dou valori, n i m, de cel mult 2 cifre fiecare, separate prin spaiu, iar pe fiecare dintre urmtoarele n linii sunt memorate cte m numere reale, separate prin cte un spaiu. Se cere scrierea n fiierul text nr2.txt a numerelor de pe fiecare dintre cele n linii ale fiierului nr1.txt, numerele de pe fiecare linie fiind aranjate astfel nct valorile pozitive s se afle la nceput i cele negative la sfrit. Ordinea n cadrul secvenei de valori pozitive, respectiv n cadrul secvenei de valori negative, poate fi oricare. Cele m numere de pe o linie a fiierului nr1.txt se vor afia pe cte o linie a fiierului nr2.txt, separate prin cte un spaiu. Se vor folosi apeluri utile ale subprogramului aranjare, definit la punctul anterior. Exemplu: pentru fiierul: nr1.txt se poate obine fiierul nr2.txt 3 5 3 -6 -1 9 2 3 9 2 -6 -1 5 -3 -8 -4 7 5 7 -3 -8 -4 -7 6 9 3 -2 6 9 3 -7 -2 a) Descriei succint, n limbaj natural, strategia de rezolvare. b) Scriei programul C/C++ corespunztor algoritmului ales. (4p.) (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 020 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este valoarea tiprit de secvena de program C/C++ alturat, tiind c x i y sunt variabile ntregi, iar z este o variabil real? (4p.) b. 5.833333 x=30; y=5; z=(x+y)/6.0; z=floor(z*100); z=z/100; cout<<z; | printf(%0.2f,z); c. 5.83 d. 583

a. 5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. citete n (numr natural) an%10 S-a notat cu cu x%y restul mpririi numrului natural x la ma numrul natural nenul y i cu [z] partea ntreag a ct timp n>9 execut numrului real z. n[n/10] Scriei valoarea pe care o va afia algoritmul dac se bn%10 a) citete numrul 16389. (6p.) dac a>b atunci Scriei cea mai mic valoare de patru cifre distincte mm*10+b b) care poate fi citit pentru variabila n, astfel nct s se ab afieze valoarea 0. (4p.) Scriei programul C/C++ corespunztor algoritmului scrie m c) dat. (10p.) d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. a. Suma gradelor interne ale tuturor vrfurilor unui graf orientat este ntotdeauna egal cu: (4p.) numrul valorilor de 1 aflate sub b. diagonala principal n matricea sa de adiacen suma tuturor valorilor aflate deasupra d. diagonalei principale n matricea sa de adiacen produsul gradelor externe ale tuturor vrfurilor grafului suma gradelor vrfurilor grafului externe ale tuturor

c.

2. a. c.

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

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care vor fi valorile primului i ultimului element ale unei cozi iniial vide, dac se efectueaz urmtoarele operaii, n aceast ordine: se introduce valoarea 2; se introduce valoarea 5; se extrage un element; se introduce valoarea 9; se introduce valoarea 7; se extrage un element. (6p.) n secvena alturat, variabila a memoreaz strcpy(a,Bac 2008 iulie); un ir cu cel mult 100 de caractere, iar variabila for(...) cout<<a[i]; i este de tip ntreg. Completai punctele de | printf(%c,a[i]); suspensie, astfel nct aceasta s afieze caracterele irului memorat n variabila a, n ordine invers celei n care se gsesc n ir. (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<10), 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 prima linie sau pe prima coloan din matrice este egal cu suma dintre numrul liniei i numrul coloanei pe care se afl, iar fiecare dintre celelalte elemente este egal cu suma dintre elementul vecin aflat pe aceeai linie cu el, dar pe coloana din stnga sa i elementul vecin aflat pe aceeai coloan cu el, dar pe linia de deasupra sa. 5 6 Elementele matricei vor fi afiate pe ecran, cte o linie a 2 3 4 3 6 10 15 21 matricei pe cte o linie a ecranului cu cte un spaiu ntre 4 10 20 35 56 elementele fiecrei linii. Exemplu: pentru n=5 se va obine matricea alturat. 5 15 35 70 126 (10p.) 6 21 56 126 252

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 020 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Funcia F are definiia alturat. Ce valoare int F(int x) {if(x!=0) return x+F(x-1); are F(5)? (4p.) else return x;} b. 10 c. 15 d. 6 a. 5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Un algoritm genereaz n ordine descresctoare, toate numerele de n cifre (n<9), cu cifrele n ordine strict cresctoare, care nu au dou cifre pare alturate. Dac pentru n=5, primele 5 soluii generate sunt 56789, 45789, 45679, 45678, 36789, precizai care sunt urmtoarele 3 soluii generate, n ordinea obinerii lor. (6p.) Subprogramul nule are 2 parametri: a, prin care primete un tablou unidimensional cu maximum 100 de numere ntregi, cu cel mult 4 cifre fiecare i n, numrul de elemente din tablou. Subprogramul rearanjeaz elementele tabloului unidimensional astfel nct toate valorile nule s se afle la sfritul tabloului. Ordinea n cadrul secvenei de elemente nenule poate fi oricare. Tabloul modificat este furnizat tot prin parametrul a. Exemplu: dac n=6, a=(12,0,0,-3,-8,0), dup apel, acesta ar putea fi: a=(12,-3,-8,0,0,0). Scriei definiia complet a subprogramului nule. (10p.) n fiierul nr1.txt sunt memorate pe prima linie dou valori, n i m, de cel mult 3 cifre fiecare, separate prin spaiu, iar pe fiecare dintre urmtoarele n linii ale fiierului sunt memorate cte m numere ntregi, cu cel mult 4 cifre fiecare, separate prin cte un spaiu. Se cere scrierea n fiierul nr2.txt a numerelor de pe fiecare dintre cele n linii ale fiierului nr1.txt, numerele de pe fiecare linie fiind aranjate astfel nct valorile nule s se afle la nceputul irului i cele nenule la sfrit. . Ordinea n cadrul secvenei de elemente nenule poate fi oricare. Cele m numere de pe o linie a fiierului nr1.txt se vor scrie pe cte o linie a fiierului nr2.txt, separate prin cte un spaiu. Se vor folosi apeluri ale subprogramului nule, definit la punctul anterior. Exemplu: pentru fiierul: nr1.txt se poate obine fiierul nr2.txt 3 5 3 0 0 9 2 0 0 3 9 2 5 0 0 0 7 0 0 0 5 7 0 6 9 3 0 0 0 6 9 3 a) Descriei succint, n limbaj natural, strategia de rezolvare. b) Scriei programul C/C++ corespunztor algoritmului ales. (4p.) (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 021 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. v1=0; v2=0; 1. Care dintre expresiile C/C++ de mai jos are for(i=1;i<=3;i++) valoarea 1 dup executarea secvenei de { for (j=1;j<=i;j++) instruciuni C/C++ alturat, n care toate variabilele v1=v1+1; sunt ntregi? (4p.) for (k=i;k<=3;k++) v2=v2+1; } a. v1>v2 b. v1<v2 c. v1==v2 d. v1+v2==9

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu [z] partea ntreag a numrului real z i cu x%y restul mpririi numrului ntreg x la numrul ntreg nenul y. a) b) Scriei valorile care se vor afia dac se citesc, n ordine, valorile 17, 6, 4. (6p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura repet...pn cnd cu o structur repetitiv de tip ct timp...execut. (6p.) Scriei programul algoritmului dat. C/C++ corespunztor (10p.) citete a,b,n (numere naturale) dac b=0 atunci scrie greit altfel scrie [a/b] dac n>0 i a%b 0 atunci scrie , aa%b; i0 repet scrie [(a*10)/b] a(a*10)%b ii+1 pn cnd i=n sau a=0

c) d)

Scriei un set de date de intrare astfel nct, la finalul executrii algoritmului, valorile variabilelor n i i, s satisfac condiia: n-i=2. (4p.)

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

Subiectul I

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 4 linii i 4 coloane, numerotate de la 1 la 4, 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<=4;i++) determine memorarea n variabila p a valorii produsului .... celor 8 elemente aflate pe diagonalele matricei. p=p*a[5-i][i]*a[i][5-i]; p=p*a[i][i]*a[5-i][5-i]; b. d. p=p*a[i][i]*a[i][4-i]; p=p*a[5-i][5-i]*a[i][5-i];

a. c. 2. a.

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.) 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 SC operaia de extragere a unui element din stiva S i adugarea acestuia n coada C, iar cu CS 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: CS; CS; SC; CS; CS; (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: perechile alturate. se afieaz (10p.) ii ii oo

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 021 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care din urmtoarele probleme, referitoare la mulimea de numere reale M={x1, x2, , xn} (n>1000), poate fi rezolvat cu un algoritm care are un numr minim de pai? (4p.) b. generarea elementelor cartezian M x M minim al produsului

a. sortarea elementelor mulimii M c. determinarea mulimii M elementului

d. generarea tuturor permutrilor mulimii M

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int f(int n) 2. Se consider subprogramul, f, definit alturat. Ce { if (n==0) return 0; valoare are f(20)? (6p.) return n%2+f(n/2); } 3. Scriei definiia complet a unui subprogram i_prim care primete prin singurul su parametru, n, un numr natural din intervalul [2,30000] i returneaz diferena minim p2-p1 n care p1 i p2 sunt numere prime i p1np2. Exemplu: dac n=20 atunci i_prim(20)=4, valoare obinut pentru p1=19 i p2=23. (10p.) Fiierul text BAC.TXT conine pe prima linie dou numere naturale, n i k, separate de un spaiu (3n10000, 2kn/2), iar pe a doua linie un ir de n numere naturale, x1, x2, ..., xn, separate prin cte un spaiu, fiecare numr din acest ir avnd cel mult patru cifre. a) Scriei un program C/C++ care citete numerele din fiier i determin, utiliznd o metod eficient din punct de vedere al timpului de executare, cel mai mic indice i (1in-k+1) pentru care suma termenilor xi, xi+1, ..., xi+k-1 este maxim. Programul afieaz valoarea lui i pe ecran. Exemplu: pentru fiirul alturat se afieaz 2, deoarece suma 7 3 maxim se obine pentru 9+4+7. (6p.) 2 9 4 7 5 2 9 b) Explicai succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena acesteia. (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 022 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. (a/b%c<=b)||!(b==a) 1. Care este valoarea expresiei C/C++ alturate dac variabilele ntregi a, b, c au valorile a=20, b=3, c=5? (4p.) a. 0 b. 1 c. 2 d. true Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu [a] partea ntreag a numrului real a i cu y|x faptul c numrul ntreg x este divizibil cu numrul ntreg nenul y. a) b) citete n (numr ntreg) dac n < 0 atunci n-n d1 pentru i2,[n/2] execut Scriei valoarea care se va afia pentru n=45. (6p.) dac i|n atunci Scriei toate valorile cu exact dou cifre care pot fi di citite pentru variabila n astfel nct s se afieze numrul 5. (6p.) scrie d Scriei programul algoritmului dat. C/C++ corespunztor (10p.)

c) d)

Scriei o valoare pentru n astfel nct n urma executrii algoritmului obinut prin nlocuirea structurii pentru i2,[n/2] execut cu pentru i[n/2],2,-1 execut s se afieze aceeai valoare, ca n algoritmul iniial. (4p.)

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

Subiectul I

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 Pentru declararea alturat precizai care struct elev {char nume[20]; dintre instruciunile de atribuire este greit:(6p.) int nota;} e1,e2; e1=e2+1; e1=e2; b. d. e1.nume[2]=x; e1.nota=e2.nota+1;

a. 2.

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, format numai din litere? strlen(strcpy(s,s+2)) 4. (6p.) ntr-un graf neorientat cu 6 noduri, numerotate de la 1 la 6, exist cte o muchie ntre oricare dou noduri numerotate cu numere consecutive i cte o muchie ntre nodul numerotat cu 6 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 9 8 7 aceleiai linii fiind separate prin cte un spaiu. 6 5 4 Exemplu: pentru m=4 i n=3 se va construi i afia tabloul alturat. (10p.) 3 2 1

5.

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

Subiectul II

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

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

a. xk{x1, x2, , xk-1} c. xk{x1, x2, , xn}

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

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 023 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele a, b, c i d memoreaz valori reale astfel nct a<b i c<d. Care dintre expresiile C/C++ de mai jos are valoarea 1 dac i numai dac intersecia intervalelor nchise [a,b] i [c,d] este vid? (4p.) b. !(c<a) && !(b<d) d. (a>=c) && (b<=d)

a. (d<a) || (b<c) c. (d>a) || (b>c)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. a) b) Scriei valoarea care se va afia dac se citesc, n ordine, valorile 3 i 6. (6p.) Dac pentru variabila a se citete valoarea 10, scriei toate valorile care pot fi citite pentru variabila b, astfel nct algoritmul s determine afiarea valorii 2. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv cu test final. (4p.) citete a,b (numere ntregi) p0 ct timp ab execut pp+1 dac a<b atunci aa+2 altfel bb+3 scrie p

c) d)

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

Subiectul I

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. a. c. 2. a. 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.) strcmp(s,s+5)==0 s==s+5 b. d. b. fabs c. s==strstr(s,s+5) strcmp(s,strcat(s,s+5))==0 (4p.) d. abs

Funcia predefinit care returneaz modulul unui numr ntreg este: sgn mod

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Care este lungimea maxim a unui lan 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 punct2D { int x; int y;}; numrul maxim de numere ntregi ce pot fi memorate n variabila a? (6p.) struct punct2D a[10][10]; 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 023 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Algoritmul de generare a tuturor numerelor de 3 cifre, toate nenule, este echivalent cu algoritmul de generare a: (6p.) b. combinrilor de 10 cifre luate cte 3 d. produsului cartezian a 3 mulimi de cifre nenule

a. submulimilor unei mulimi cu 3 elemente c. aranjamentelor de 9 elemente luate cte 3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int suma (int a,int b) 2. Pentru subprogramul suma { if ((a==0) && (b==0)) return 0; definit alturat scriei valoarea if (a==0) return 1+suma(a,b-1); expresiei suma(3,2). return 1+suma(a-1,b); (4p.) } 3. a) Scriei definiia complet a subprogramului shift care primete prin intermediul parametrului n o valoare natural nenul (n100), iar prin intermediul parametrului x, cele n componente ale unui tablou unidimensional. Fiecare component a acestui tablou este un numr ntreg care are cel mult 4 cifre. Subprogramul permut circular cu o poziie spre stnga elementele tabloului x i furnizeaz tabloul modificat tot prin parametrul x. Exemplu: dac nainte de apel n=4 i x=(1,2,3,4), dup apel x=(2,3,4,1). (4p.) b) Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n100), apoi cele n elemente ale unui tablou unidimensional x. Programul va inversa ordinea elementelor tabloului x folosind apeluri utile ale subprogramului shift i va afia pe ecran, separate prin cte un spaiu, elementele tabloului rezultat n urma acestei prelucrri. Exemplu: dac se citesc pentru n valoarea 5, iar tabloul x este (1,2,3,4,5) programul va determina ca x s devin (5,4,3,2,1). (6p.) 4. Fiierul text BAC.TXT conine pe prima linie un numr natural nenul n (1n1000), iar pe fiecare dintre urmtoarele n linii cte dou numere ntregi a i b (1ab32000), fiecare pereche reprezentnd un interval nchis de forma [a,b]. Scriei un program C/C++ care citete numerele din fiier i determin un interval dintre cele citite care conine cel mai mare numr de numere ntregi i afieaz pe o linie a ecranului, separate printr-un spaiu, numerele care reprezint capetele intervalului determinat. n cazul n care sunt mai multe intervale care ndeplinesc aceast proprietate, se vor afia informaiile referitoare la acel interval la care numrul care reprezint captul din dreapta este minim. 4 Exemplu: dac fiierul BAC.TXT are coninutul alturat, pe ecran se va 17 24 afia: 8 15 (pentru c numrul maxim de numere ntregi aflate ntr-un -2 3 interval este 8. Sunt dou intervale care conin 8 numere: [17;24] i 9 15 [8;15]. Dintre acestea, [8;15] are captul din dreapta cel mai mic). 8 15 (10p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 024 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care din urmtoarele afirmaii despre operatorii din C/C++ este fals? b. % este operator aritmetic d. <= este operator logic (4p.) a. > este operator relaional c. && este operator logic

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. a) b) algoritmul alturat, descris n citete a,b (numere naturale) pa; qb dac p=0 sau q=0 atunci pp*q; qp*q ct timp pq execut dac p<q atunci pp+a altfel qq+b scrie p

Scriei valoarea care se va afia pentru a=15 i b=25. (6p.) Scriei toate valorile care, citite pentru b, determin afiarea valorii 60, dac pentru a s-a citit valoarea 10. (6p.) Scriei programul algoritmului dat. C/C++ corespunztor (10p.)

c) d)

Scriei un algoritm echivalent n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv cu test final. (4p.)

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

Subiectul I

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. a. c. 2. a. c. Care este structura de date adecvat memorrii unui num r neprecizat de iruri de caractere reprezentnd cuvintele dintr-un text? (4p.) o list nlnuit n care fiecare nod b. memoreaz un cuvnt un ir de caractere de lungime egal cu d. lungimea textului un tablou bidimensional de caractere o structur cu attea cmpuri cte cuvinte exist

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.) exist un vrf cu gradul intern n-1 b. pentru orice vrf gradul intern i gradul extern sunt egale gradul intern al oricrui vrf este egal cu 2

graful nu are drumuri de lungime strict d. 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 trei caractere. Scriei o instruciune sau o secven de instruciuni care s elimine primele dou caratere din irul reinut de s. (4p.) Scriei o secven de instruciuni care s iniializeze elementele unui tablou bidimensional A, cu n linii i n coloane, n5, 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 024 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Genernd irurile de maximum 3 caractere distincte din mulimea {A,B,C,D,E}, ordonate lexicografic, obinem succesiv: A, AB, ABC, ABD,. Ce ir va fi generat dup BAE? (4p.) b. CAB d. BEA

a. BCA c. BC

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int f(int n) 2. Funcia f are definiia alturat. { if (n<=9) return 0; if (n%4==0) return 0; a) Ce valoare are f(17)? (3p.) return 1+f(n-3); b) Ce valoare are f(22)? (3p.) } 3. a) Scriei definiia complet a subprogramului p care primete prin intermediul parametrului n un numr natural nenul (n100), iar prin intermediul parametrului x un tablou unidimensional cu n componente ntregi, de maximum patru cifre fiecare. Subprogramul furnizeaz prin intermediul parametrului mini valoarea minim din tabloul x, prin intermediul parametrului maxi valoarea maxim din x, iar prin intermediul parametrului sum suma elementelor din tabloul x. (6p.) b) Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n, (3n100), apoi cele n elemente, distincte, ale unui tablou unidimensional x. Fiecare dintre aceste elemente este un numr natural avnd cel mult patru cifre. Folosind apeluri utile ale subprogramului p, programul calculeaz i afieaz pe ecran media aritmetic a elementelor care ar rmne n tabloul x dac s-ar elimina valoarea minim i valoarea maxim din tablou. Valoarea afiat va avea cel mult 3 cifre dup virgul. Exemplu: dac se citesc pentru n valoarea 5, iar pentru tabloul x valorile (1,9,4,8,5), programul va afia una dintre valorile 5.667 sau 5.666. (4p.) 4. Fiierul text bac.txt conine pe prima linie numrul natural n, 1n10000, pe urmtoarele n linii un tablou unidimensional de n numere ntregi, iar pe ultima linie dou numere ntregi a i b (ab) separate de un spaiu. Fiecare dintre cele n numere, precum i valorile a i b, au cel mult patru cifre. 4 Scriei un program C/C++ care afieaz pe ecran cel mai mic numr natural -2 din intervalul nchis [a,b] care se gsete n irul dat. Dac nu exist un 72 astfel de numr, programul afieaz textul NU. 14 Exemplu: dac fiierul bac.txt are coninutul alturat, programul afieaz 25 valoarea 14. (10p.) 8 35

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 025 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. a... 1. n secvena pseudocod alturat, toate variabilele b... memoreaz numere naturale. Cu ce valori pot fi nlocuite punctele de suspensie din secven astfel pentru i3,7 execut nct, la finalul executrii secvenei s se afieze, n ca+b; xa; ab; bc acest ordine, valorile 16 i 41? (4p.) scrie x,c a. 1 i 1 b. 3 i 4 c. 5 i 2 d. 2 i 7

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. citete a,b,c S-a notat cu y|x faptul c x este divizibil cu y. (numere naturale nenule) dac a>b atunci a) Scriei care sunt valorile ce se vor afia pentru a=10, t a; ab; bt b=20 i c=6. (6p.) b) Scriei un algoritm echivalent cu cel dat n care s se ct timp ab execut nlocuiasc structura ct timp...execut cu o dac c|a atunci structur pentru...execut. (6p.) scrie a c) Scriei programul C/C++ corespunztor algoritmului aa+1 dat. (10p.) d) Scriei o formul care s calculeze cte numere se afieaz dac ab. (4p.)

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

Subiectul I

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. a. c. 2. a. Structura de date la care se aplic principiul primul venit, primul ieit: (first in, first out) este: (4p.) lista nlnuit coada b. d. stiva graf orientat

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

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 care permite afiarea pe ecran a mesajului Corect dac un ir de maximum 100 caractere, reinut de variabila s, conine caractere de tip cifr, sau mesajul Incorect n caz contrar. (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, nu neaprat n 2 1 1 0 1 1 1 1 aceast ordine: 2 2 2 1 1 2 (10p.) 1 2 1 1

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 025 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un program citete o valoare natural nenul impar pentru n i apoi genereaz i afieaz n ordine cresctoare lexicografic toate combinaiile formate din n cifre care ndeplinesc urmtoarele proprieti: - conin doar valori pozitive sau nule; - ncep i se termin cu 0; - modulul diferenei ntre oricare dou cifre alturate dintr-o combinaie este 1. Astfel, pentru n=5, combinaiile afiate sunt, n ordine, urmtoarele: 01010, 01210. Dac se ruleaz acest program i se citete pentru n valoarea 7, imediat dup combinaia 0101210 va fi afiat combinaia: (4p.) b. 0123210 c. 0111210 d. 0121010

a. 0121210

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int f(int n) 2. Funcia f are definiia alturat: { if (n<=0) return -1; if (n % 2==0) return 0; a) Ce valoare are f(16)? (3p.) if (n % 3==0) return 0; b) Scriei o valoare de dou cifre pe care o return 1+f(n-10); poate avea n astfel nct f(n) s fie egal } cu 2. (3p.) 3. Subprogramul f primete prin intermediul parametrului n un numr natural nenul (2n9), iar prin intermediul parametrului a, un tablou unidimensional care conine n valori naturale distincte, fiecare dintre acestea avnd cel mult patru cifre. Subprogramul interschimb cel mai mic element par i cel mai mare element impar din tabloul a i furnizeaz tabloul modificat tot prin parametrul a. Dac tabloul nu conine niciun element par sau niciun element impar, el va rmne neschimbat. Exemplu: dac subprogramul se apeleaz pentru n=6 i pentru a avnd valorile (2,3,17,6,1,24), tabloul va avea n urma apelului urmtoarea form: (17,3,2,6,1,24). (10p.) Fiierul text NUMAR.TXT conine pe prima linie un num r real pozitiv x care are cel mult dou cifre la partea ntreag i cel mult apte cifre dup punctul zecimal. a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al timpului de executare i al memoriei utilizate, afieaz pe ecran, separate printr-un spaiu, dou numere naturale al cror raport este egal cu x i a cror diferen absolut este minim. Exemplu: dac fiierul conine valoarea alturat, se vor afia pe ecran 0.375 numerele 3 8. (6p.) b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei. (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 026 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este cea mai mic valoare pe care o poate avea expresia C/C++ x/7-x%7 alturat dac variabila x, de tip int, memoreaz un num r natural cu o singur cifr? (4p.) b. 1.14 c. -6 d. 1

a. 0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. citeste n (numr natural) c0 S-a notat cu x%y restul mpririi numrului natural x la pentru i1,n execut numrul natural nenul y. c(c+1)%10 a) Scriei valorile care se afieaz pentru n=11. (6p.) scrie c b) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) c) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura pentru...execut cu o structur repetitiv de un alt tip. (6p.) Scriei numrul de valori distincte, numere naturale nenule, cu cel mult dou cifre fiecare, care pot fi citite pentru n, astfel nct cifra 1 s fie afiat de exact 3 ori. (4p.)

d)

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

Subiectul I

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 rdcina s aib 3 descendeni direci (fii) ? (4p.) 3 b. 4 c. 6 d. 1

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care va fi irul de caractere afiat dup executarea char s[]=raton; secvenei alturate , n care variabila s memoreaz un s[1]=s[3]; ir cu cel mult 5 caractere? (6p.) cout<<s; | printf(%s,s); 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. Cte elemente se elimin din stiva din fig.2 dac se dorete adugarea elementului cu valoarea 30, respectnd condiiile de mai sus ? (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 026 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru generarea numerelor cu n cifre formate cu elementele mulimii {0,2,8} se utilizeaz un algoritm backtracking care, pentru n=2, genereaz, n ordine, numerele 20,22,28,80,82,88. Dac n=4 i se utilizeaz acelai algoritm, care este numrul generat imediat dup numrul 2008 ? (4p.) b. 2020 c. 2080 d. 8002 a. 2002

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. void afis (int n) 2. Subprogramul afis este definit alturat. { cout<<n; | printf(%d,n); Ce se afieaz ca urmare a apelului afis(4); ? if(n>0){afis(n-1); (4p.) cout<<n; | printf(%d,n);} } 3. Scriei programul C/C++ care citete de la tastatur dou numere naturale nenule n i k (n100, k100) i afieaz pe ecran, separate prin cte un spaiu, n ordine descresctoare, cei mai mici k multipli naturali nenuli ai numrului n. Exemplu: pentru n=6 i k=5 se afieaz 30 24 18 12 6. (6p.) 4. a) Scriei definiia complet a unui subprogram sterge, cu trei parametri, care: - primete prin parametrii: - v un tablou unidimensional cu maximum 100 de elemente ntregi din intervalul [-1000;1000] - n o valoare natural reprezentnd numrul de elemente din tabloul v - i o valoare natural cu 1in - elimin din tabloul v elementul v[i]i actualizeaz valoarea lui n. Tabloul modificat este furnizat tot prin parametrul v. (10p.) b) Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (1n100) i pe urmtoarea linie n numere ntregi din intervalul [-1000;1000], separate prin cte un spaiu. Scriei un program C/C++ care citete din fiierul NUMERE.IN numrul natural n, construiete n memorie un tablou unidimensional v cu cele n numere ntregi aflate pe linia a doua n fiier i utilizeaz apeluri utile ale subprogramului sterge pentru a elimina din tablou un numr minim de elemente astfel nct s nu existe dou elemente alturate cu aceeai valoare. Elementele tabloului obinut se afieaz pe ecran, separate prin cte un spaiu. Exemplu: Dac fiierul NUMERE.IN are coninutul: 12 10 10 2 2 19 9 9 9 9 15 15 15 atunci se afieaz 10 2 19 9 15. (6p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 027 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. n expresia C/C++ alturat variabila x este de tip ntreg. Aceast x%2+(x+1)%2 expresie: (4p.) a. are valoarea 1 pentru orice numr natural x. b. are valoarea 1 dac i numai dac x este un numr par. c. are valoarea 1 dac i numai dac x este un numr impar. d. are o valoare strict mai mare dect 1 pentru orice numr natural x. Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [x] partea ntreag a numrului real x. a) b) c) Scriei valoarea care se afieaz dac se citesc numerele a=493 i b=1836. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de un alt tip. (6p.) Scriei n pseudocod un algoritm echivalent cu cel dat, care s NU foloseasc structuri repetitive sau recursive. (4p.) citeste a,b (numere naturale) c 0 d 0 p 1 ct timp a+b+c>0 execut ca%10+b%10+c dd+(c%10)*p pp*10 a[a/10] b[b/10] c[c/10] scrie d

d)

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

Subiectul I

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 arcelor ce au ca extremitate iniial vrful 4, n graful orientat din figura alturat ? (4p.)

a. 2. a.

b.

c.

d.

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.) Se consider o coad n care iniial au fost introduse, n aceast ordine,elementele 1,2,3,4,5,6. . Dac se noteaz cu AD(x) operaia prin care se adaug un element cu informaia x n coad i cu EL() operaia prin care se elimin un element din coad, care este elementul aflat n mijlocul cozii dup executarea secvenei de operaii: EL();AD(7); AD(8); EL();EL(); (4p.) 5. 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.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 027 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru generarea numerelor cu n cifre formate cu elementele mulimii {0,2,8} se utilizeaz un algoritm backtracking care, pentru n=2, genereaz, n ordine, numerele 20,22,28,80,82,88. Dac n=4 i se utilizeaz acelai algoritm, precizai cte numere generate sunt divizibile cu 100? (4p.) b. 100 c. 6 d. 10 a. 601

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul scrie este definit void scrie (int x,int y) { if(x<y) alturat. { scrie(x+1,y-1); Ce se afieaz ca urmare a apelului cout<<(x+y)/2; | printf(%d,(x+y)/2); scrie(1,7); ? (6p.) } } 3. Scriei definia complet a subprogramului nreal cu doi parametri x i y, numere naturale din intervalul [1;1000] ce returneaz un numr real cu proprietatea c partea sa ntreag este egal cu x, iar cifrele num rului y sunt egale, n ordine, cu cifrele aflate dup punctul zecimal. Exemplu: pentru x=12 i y=543, subprogramul returneaz valoarea 12.543. (10p.) 4. Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (2n100) i pe urmtoarea linie n numere reale pozitive, n ordine strict cresctoare, separate prin cte un spaiu. a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al memoriei utilizate, determin i afieaz pe ecran, separate printr-un spaiu, dou numere naturale x i y cu proprietatea c toate cele n numere aflate pe linia a doua n fiierul NUMERE.IN se gsesc n intervalul [x;y] i diferena y-x este minim. Exemplu: dac fiierul NUMERE.IN are coninutul: 6 3.5 5.1 9.2 16 20.33 100 atunci se afieaz 3 100 b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei. (6p.) (4p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 028 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Cte valori distincte, numere naturale, poate primi variabila x pentru ca valoarea expresiei x/2/2 scris n C/C++ s fie egal cu 1? (4p.) a. 1 b. 4 c. 2 d. 0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. S-a notat cu [x]partea ntreag a numrului real x. a) b) c) Scriei valoarea afiat dac se citete numrul 120.12. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de un alt tip. (6p.) Scriei un numr real, cu exact dou cifre la partea ntreag, care poate fi citit pentru x, astfel nct algoritmul s afieze valoarea 1. (4p.) citeste x (numr real pozitiv) y[x] xx-y ct timp x[x] execut xx*10 dac x=y atunci scrie 1 altfel scrie 2

d)

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

Subiectul I

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.)

a. 2. a.

b.

c.

d.

ntr-un arbore cu rdcin fiecare nod neterminal are exact 2 descendeni direci (fii). Care este numrul de noduri din arbore dac acesta are 8 frunze? (4p.) 8 b. 7 c. 15 d. 10

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-un tablou bidimensional A cu n linii i n coloane, numerotate de la 1 la n, notm cu Aij elementul aflat pe linia i i coloana j (1in, 1jn). Care este valoarea expresiei j-i (4p.) dac elementul Aij este situat pe diagonala principal a tabloului A? 4. Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele 1,2,3,4,5,6 (ca n imaginea alturat). Dac se noteaz cu PUSH x operaia prin care se adaug un element cu informaia x n stiv i cu POP operaia prin care se elimin un element din stiv, care este elementul aflat n mijlocul stivei dup executarea secvenei de operaii: POP; PUSH 7; PUSH 8; POP; POP; ? (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, toate clonele acestui cuvnt, fiecare pe cte o linie a ecranului. Exemplu: pentru cuvntul informatica se afieaz, nu neaprat n aceast nformatca ordine, clonele scrise alturat. (10p.) infrmatica informtic

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 028 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Generarea tuturor cuvintelor de trei litere mici, nu neaprat distincte, ale alfabetului englez, se poate realiza cu ajutorul unui algoritm echivalent cu cel de generare a: (4p.) a. produsului cartezian b. combinrilor c. aranjamentelor d. permutrilor

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f este definit alturat. Ce valoare are f(4,8)? int f (int x,int y) (4p.) { if(x<=y)return 1+f(x+1,y); return 0; }

3. Scriei un program C/C++ care citete de la tastatur un numr natural n din intervalul [2,10000]i apoi n numere reale i afieaz pe ecran cte dintre cele n numere reale sunt egale cu media aritmetic a celorlalte n-1 numere reale. (6p.) 4. a) Scriei definiia complet a unui subprogram primul, care - primete prin singurul su parametru, a, o valoare natural din intervalul [2,10000] - returneaz o valoare natural reprezentnd cel mai mic divizor al numrului a mai mare strict dect 1. (6p.) b) Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (1n100) i pe urmtoarea linie n numere naturale din intervalul [2,10000] separate prin cte un spaiu. Un numr natural n se numete aproape prim dac este egal cu produsul a dou numere prime distincte. De exemplu, numrul 14 este aproape prim pentru c este egal cu produsul numerelor prime 2 i 7. Scriei un program C/C++ care determin i afieaz pe ecran (dac exist), separate prin cte un spaiu, folosind apeluri utile ale suprogramului primul, numerele aproape prime de pe linia a doua a fiierului NUMERE.IN. Exemplu: dac fiierul NUMERE.IN are coninutul: 6 100 14 21 8 77 35 atunci se afieaz pe ecran 14 21 77 35 (10p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 029 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul natural nenul memorat n variabila x, de tip int, este divizibil cu 100? (4p.) b. x/100==0 d. x%10+x%10/10==0

a. x%10+x/10%10==0 c. x%10+x/10==0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. a) b) c) Scriei valoarea care se afieaz dac se citesc numerele n=6 i m=12. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei dou perechi distincte de numere ce pot fi introduse pentru n i m astfel nct s se afieze valoarea 10, n urma executrii algoritmului, pentru fiecare dintre perechi. (6 Scriei n pseudocod un algoritm echivalent cu cel dat, care s NU foloseasc structuri repetitive sau recursive. (4p.) citeste n,m (numere naturale) ct timp nm execut nn+1 mm-1 ct timp m<n execut mm+1 nn-1 scrie n

d)

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

Subiectul I

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. a. 2. Care este numrul maxim de noduri de grad 3 ntr-un graf neorientat cu 5 noduri? 4 b. 5 c. 3 d. 2 Care dintre noduri trebuie ales ca rdcin n arborele din figura alturat astfel nct s existe un nod cu 3 descendeni direci (fii)? (6p.) (4p.)

a.

b.

c.

d.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Care va fi irul de caractere afiat pe ecran dup char s[]=arac; executarea secvenei alturate, n care variabila s s[1]=t; memoreaz un ir cu cel mult 4 caractere? (4p.) cout<<s; | printf(%s,s); Se consider o coad n care iniial au fost introduse, n aceast ordine, elementele 1,2,3,4,5,6,7,8,9,10: . Dac se noteaz cu AD(x) operaia prin care se adaug un element cu informaia x n coad i cu EL() operaia prin care se elimin un element din coad, care este valoarea memorat n primul element al cozii dup executarea secvenei de operaii: EL();EL();AD(1); AD(2); EL();EL(); ? (6p.) 5. 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 num r 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. (10p.)

4.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 029 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. n cte dintre permutrile elementelor mulimii {I,N,F,O} vocalele apar pe poziii consecutive? (4p.) a. 4 b. 6 c. 24 d. 12

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Ce se afieaz ca urmare a void p (int x) apelului p(123); dac { if(x!=0){p(x/10); subprogramul p are definiia cout<<x%10; | printf(%d,x%10); alturat? (6p.) } } 3. Scriei programul C/C++ care citete trei numere naturale a,b,c (ab) din intervalul [1,10000] i afieaz pe ecran numrul multiplilor lui c din intervalul [a;b]. Exemplu: pentru a=10, b=27,c=5 se afieaz valoarea 4. 4. (10p.) Se consider dou tablouri unidimensionale A i B cu elemente numere naturale din intervalul [1;10000]. Spunem c tabloul A se poate reduce la tabloul B dac exist o mprire pe secvene de elemente aflate pe poziii consecutive n tabloul A astfel nct prin nlocuirea secvenelor cu suma elementelor acestora s se obin, n ordine, elementele tabloului B. De exemplu tabloul

se poate reduce la tabloul a) Scriei definiia complet a subprogramului suma, cu trei parametri, care: - primete prin parametrii: - A un tablou unidimensional cu maximum 100 elemente numere intervalul [1;10000] - i i j dou valori naturale (1ij100); - returneaz suma Ai+Ai+1++Aj.

naturale din

(6p.)

b) Fiierul text NUMERE.IN conine pe prima linie dou numere naturale nenule n i m (1mn100), pe linia a doua n numere naturale din intervalul [1;10000] i pe linia a treia alte m numere naturale din intervalul [1;10000]. Pe fiecare linie numerele sunt separate prin cte un spaiu. Scriei un program C/C++ care citete cele dou numere naturale n i m din fiierul NUMERE.IN, construiete n memorie dou tablouri unidimensionale A i B cu elementele aflate n fiier pe a doua, respectiv a treia linie i verific, utiliznd apeluri utile ale subprogramului suma, dac tabloul A se poate reduce la tabloul B. Programul afieaz pe ecran mesajul DA n caz afirmativ i mesajul NU n caz negativ. (4p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 030 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul natural memorat de variabila x de tip int are exact dou cifre? (4p.) b. x/100==0 && x%10==0 d. x/100==0 && x/10!=0

a. x/100==0 c. x/10!=0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. citeste n (numr natural) m0 S-a notat cu x%y restul mpririi numrului natural x la P1 numrul natural nenul y i cu [z] partea ntreag a ct timp n>0 execut numrului real z. cn%10 a) Scriei valoarea care se afieaz dac se citete dac c>0 atunci numrul n=5172. (6p.) cc-1 b) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) mm+c*p pp*10 c) Scriei n pseudocod un algoritm echivalent cu cel dat, n[n/10] n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de un scrie m alt tip. (6p.) d) Scriei dou valori distincte, fiecare avnd exact patru cifre, care pot fi citite pentru variabila n astfel nct s se afieze valoarea 2008 n ambele cazuri. (4p.)

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

Subiectul I

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 nodurilor de grad 1 n graful din figura alturat ?(6p.)

a. 2. a.

b.

c.

d.

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

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.

Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele 1,2,3,4,5,6,7,8,9,10 (ca n imaginea alturat). Dac se noteaz cu AD(x) operaia prin care se adaug un element cu informaia x n stiv i cu EL() operaia prin care se elimin un element din stiv, care este elementul aflat n vrful stivei dup executarea secvenei de operaii: EL();EL();AD(11); AD(12); EL();EL(); ? (4p.)

5.

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.)

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 030 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru generarea numerelor cu n cifre formate cu elementele mulimii {0,4,8} se utilizeaz un algoritm backtracking care, pentru n=2, genereaz, n ordine, numerele 40,44,48,80,84,88. Dac n=4 i se utilizeaz acelai algoritm, care este numrul generat imediat dup numrul 4008 ? (4p.) a. 4040 b. 4004 c. 4080 d. 8004

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f este definit alturat. void f (int x,int y) if(x<=y) Ce se afieaz ca urmare a apelului { f(1,4);? (6p.) { f(x+1,y); cout<<x; | printf(%d,x); } }

3. Scriei definiia complet a subprogramului suma, care primete prin cei 4 parametri v,n,i,j: - v, un tablou unidimensional cu maximum 100 de elemente ntregi din intervalul [-1000;1000], numerotate de la 1 la n; - n, un numr natural reprezentnd numrul de elemente din tabloul v; - i i j, dou valori naturale cu 1ijn. Subprogramul returneaz suma elementelor v1,,vi-1, vj+1,,vn din tabloul v. (10p.) 4. Fiierul text NUMERE.IN conine pe prima linie un num r natural nenul n (1n100) i pe urmtoarea linie n numere reale pozitive ordonate cresctor, separate prin cte un spaiu. a) Scriei un program C/C++ care citete din fiierul NUMERE.IN numrul natural n, i determin, utiliznd un algoritm eficient din punct de vedere al timpului de executare i al memoriei utilizate, numrul de valori reale distincte de pe linia a doua din fiier. Exemplu: dac fiierul NUMERE.IN are coninutul: 6 2.3 2.3 2.8 5.7 5.7 6.3 atunci se afieaz valoarea 4 (sunt 4 valori distincte: 2.3, 2.8, 5.7, 6.3). b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei. (6p.) (4p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 031 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider variabila a care memoreaz un numr cu exact 6 cifre. Care dintre expresiile C/C++ de mai jos are ca valoare numrul format din cele dou cifre din mijloc ale valorii memorate n a? (4p.) b. a/100%100 d. a/100%10+a/1000%10

a. (a%100)/100 c. a/1000+a%1000

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete a 2. Se consider algoritmul alturat, descris n pseudocod: (numr natural, a>0) S-a notat cu [x], partea ntreag a numrului real x. k0 b[(a+1)*(a+2)/2] a) Scriei valorile care se vor afia pentru a=9. ct timp ba execut (4p.) bb-a b) Scriei numrul valorilor din intervalul [1,5] care, citite kk+1 pentru variabila a, determin, dup executarea algoritmului alturat, memorarea valorii 1 n variabila b. scrie b,k (6p.) c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s nu se utilizeze structuri repetitive sau subprograme recursive. (6p.)

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

Subiectul I

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]. Gradul nodului 5 este : (4p.) 0 b. 1 c. 3 d. 4 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.) {1, 2, 5, 6, 10} {6} b. d. {6, 2, 5} {5, 2}

a. 2. a. c.

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. 2008-x.anul_fabricatiei (6p.) ntr-o structur static de date de tip stiv au fost introduse, n aceas ordine, numerele ntregi, 11, 6, 2, 28, 67, ca n desenul alturat. Reprezentai coninutul stivei prin cte un desen similar cu cel alturat, dup fiecare dintre urmtoarele operaii, realizate n exact aceast ordine: - extragerea a 3 elemente din stiv - adugarea valorii 100, apoi a valorii 200. (6p.) 5. Scriei un program C/C++ care construiete n memorie o matrice cu 10 linii i 7 coloane ale crei elemente sunt numere ntregi (cu maximum 3 cifre fiecare), citite de la tastatur, i afieaz pe ecran, suma tuturor elementelor situate pe conturul matricei determinat de prima i ultima linie respectiv prima i ultima coloan a acestei matrice. (10p.)

4.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 031 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Generarea tuturor irurilor de caractere de 5 litere, fiecare liter putnd fi orice element din mulimea {p,r,o,b,a}, se realizeaz cu ajutorul unui algoritm echivalent cu algoritmul de generare a: (4p.) b. permutrilor c. submulimilor d. produsului a. aranjamentelor cartezian

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul recursiv definit void f1(int x) alturat. Ce se va afia n urma apelului {if (x<=9) f1(4);? (6p.) { cout<<x+1; | printf("%d",x+1) ; f1(x+2); } } 3. Scriei n limbajul C/C++ definiia complet a subprogramului ordonare care primete ca parametru un tablou unidimensional x cu cel mult 100 de elemente, numere naturale cu cel mult 4 cifre fiecare, i un numr natural n (n100), ce reprezint numrul efectiv de elemente ale tabloului x. Subprogramul va afia tabloul obinut n urma schimbarii poziiei doar a elementelor impare din tablou astfel nct acestea s apar n ordinea cresctoare a valorilor lor. (10p.) Exemplu: pentru n=6 i x=(7,11,2,-8,-3,10) subprogramul va afia -3,7,2,-8,11,10 4. n fiierul numere.txt, se afl memorate, pe prima linie un numr natural n (1n100), iar pe fiecare dintre urmtoarele n linii, cte dou numere ntregi x,y (-100xy100), reprezentnd capetele cte unui segment [x,y] desenat pe axa Ox de coordonate. a) Scriei n limbajul C/C++ un program eficient din punct de vedere al timpului de executare i al spaiului de memorare, care citete din fiier datele existente, determin segmentul rezultat n urma interseciei tuturor celor n segmente date i afieaz pe ecran dou numere desprie printr-un spaiu ce reprezint capetele segmentului cerut. Dac segmentele nu au niciun punct comun se va afia pe ecran valoarea 0. (6p.) b) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia. Exemplu: dac fiierul numere.txt are coninutul alturat, se va afia pe ecran 3 5 5 -7 10 3 20 -5 5 0 12 -8 30 (4p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 032 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect 1. Stabilii care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul ntreg memorat n variabila x nu aparine intervalului (-35,-20)[17,100]. (4p.)

a. (x<=-35) || ((x<=16)|| (x>=-20)) || (x>100) b. (x<=-35) || ((x<=17) && (x>=-20)) || (x>=100) c. (x<-35) || ((x<16) && (x>-20)) || (x>100) d. (x<=-35) || ((x<=16) && (x>=-20)) || (x>100) Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete a,b 2. Se consider algoritmul alturat, descris n pseudocod. (numere naturale) dac a>b atunci a) Scriei numerele care sunt afiate dac pentru a i b cb se citesc valorile a=150 i b=9. (4p.) ba b) Dac pentru b se citete valoarea 150, scriei cea mai ac mare valoare care se poate citi pentru a, astfel nct algoritmul s afieze exact 4 valori. (6p.) ct timp a<=b execut scrie a c) Scriei programul C/C++ corespunztor algoritmului aa*2 dat. (10p.) scrie a d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp execut cu o structur repetitiv cu test final. (6p.)

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

Subiectul I

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. 1. Un graf orientat este memorat cu ajutorul listelor alturate de 1:(5,6); adiacen. Suma elementelor de pe ultima linie a matricei de 2:(1,5); 3:(1,5); adiacen asociat grafului este egal cu: (4p.) a. 2. 3 b. 0 c. 1 d. 5 Graful neorientat cu 8 noduri, numerotate de la 1 la 8, este reprezentat cu ajutorul matricei de adiacen alturate. Numrul minim de muchii ce trebuie adugate pentru ca graful s devin conex este egal cu: (4p.)
4:(1,2); 5:(2); 6:(2, 4, 5);

a.

b.

c.

d.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o structur de date de tip coad au fost adugate n ordine urmtoarele valori: 3, 10, 2, 8 i 6. Care este ultima valoare care s-a extras din coad dac s-au efectuat, n ordine, urmtoarele operaii: extragerea unui element, adugarea valorii 100, extragerea a trei elemente. (6p.) n secvena alturat, variabilele i, j 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[i][j]=10-j; primesc valori n urma executrii secvenei. Scriei n ordine, ncepnd cu prima coloan, elementele situate pe fiecare linie a matricei care se va construi n urma executrii secvenei alturate de program (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 032 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect 1. n vederea participrii la un concurs, elevii de la liceul sportiv au dat o prob de selecie, n urma creia 6 dintre ei au obinut punctaje egale. n cte moduri poate fi format echipa selecionat tiind c poate avea doar 4 membri alei dintre cei 6, i c ordinea acestora n cadrul echipei nu conteaz? (4p.) a. 24 b. 30 c. 15 d. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. void afis(int x) 2. Subprogramul afis este definit { if (x>3) alturat. Ce se va afia n urma { apelului afis(17);? (6p.) cout<<x-1<<" "; | printf("%d ",x-1); afis(x/3); } } 3. Scriei definiia complet a subprogramului prime care are ca parametri dou numere naturale x i y (avnd cel mult 4 cifre fiecare) i afieaz pe ecran toate numerele prime din intervalul nchis, avnd unul din capete n x i cellat n y. Numerele afiate vor fi separate prin cte un spaiu. Exemplu: pentru x=32 i y=18 valorile afiate vor fi 19 23 29 31. (10p.) Fiierul numere.txt conine mai multe numere ntregi (cel mult 100), fiecare numr avnd cel mult 9 cifre. Se cere s se afieze pe ecran, desprite prin cte un spaiu, cele mai mari dou valori pare memorate n fiier. Dac n fiier nu se afl memorate dou astfel de valori, pe ecran se va afia valoarea 0. a) Descriei n limbaj natural o metod de rezolvare eficient din punct de vedere al gestionrii memoriei i timpului de executare. (4p.) b) Scriei programul C/C++ corespunztor metodei descrise la punctul a. (6p.) Exemplu: dac fiierul numere.txt are coninutul alturat, se 5 10 vor afia pe ecran, nu neaprat n aceast ordine: 3 -77 20 30 50 50 5 0 12 18 30

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 033 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila a memoreaz un numr natural care are exact 3 cifre. Care dintre expresiile C/C++ de mai jos are ca valoare numrul format din prima i ultima cifr a numrului memorat de a? (4p.) a/10+a%100 a/100*10+a%10 b. d. a/100+a%10 a-a/10%10

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x,y 2. Se consider algoritmul alturat descris in pseudocod. (numere naturale) p0 S-a notat cu [z], partea ntreag a numrului real z, iar cu x%y restul mpririi numrului natural x la numrul natural repet dac y%20 atunci nenul y. pp+x a) Scriei care este valoarea afiat dac pentru x i y se citesc numerele x=5 i y=27. (4p.) y[y/2] xx*2 b) Scriei un set de valori nenule care pot fi citite pentru pn cnd y<1 variabilele x i y (x<y) astfel nct valoarea afiat scrie p dup executarea algoritmului alturat s fie un numr de cel mult dou cifre. (6p.) c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod, un algoritm echivalent cu cel dat, n care s nu se utilizeze structuri repetitive sau subprograme recursive. (6p.)

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

Subiectul I

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 corespunde rspunsului corect. 1. Se consider graful neorientat cu 6 noduri, definit cu ajutorul 1: 4,5,6 listelor de adiacen alturate. n acest graf, suma gradelor 2: 3,4 tuturor nodurilor este: (4p.) 3: 2,4 14 b. 6 c. 28 d. 10 4: 1,2,3 5: 1,6 6: 1,5

a. 2.

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: 3 b. 6 c. 17 d. 18

a.

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 C/C++ de mai jos s calculeze diametrul cercului ale crui caracteristici sunt memorate n variabila x. 2*x.raza (6p.) n secvena alturat, variabilele i, j i x sunt de tip ntreg, iar x=2; variabila a memoreaz o matrice n care prima linie i prima for(j=1;j<=5;j++) coloan sunt numerotate cu 1. Toate elementele matricei for(i=1;i<=3;i++) {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.) Scriei un program C/C++ care citete de la tastatur o fraz de maximum 255 de caractere (litere mari ale alfabetului englez i spaii), ale crei cuvinte sunt desprite prin cte un spaiu i afieaz pe primul rnd al ecranului numrul total al cuvintelor din fraz, iar pe rndul urmtor de ecran, n ordine alfabetic, scrise o singur dat, consoanele care au aprut n fraz (consoane sunt toate literele alfabetului englez, mai puin A, E, I, O, U). Literele afiate sunt separate prin cte un spaiu. Exemplu: dac se citete fraza LA BACALAUREAT SUBIECTELE AU FOST USOARE se va afia: 6 B C F L R S T (10p.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 033 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. n cte moduri se pot aeza 6 prieteni n bnci de cte 3 locuri ? b. 120 c. 2 a. 180 (4p.) d. 18

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. void f(int &a,int b) 2. Ce se va afia n urma executrii secvenei de { mai jos, n care variabilele a i b sunt tip a=a-1;b=a+1; ntreg, iar subprogramul f este declarat cout<<a<<b; | printf("%d%d",a,b); alturat? } a=3; b=9; f(a,b); cout<<a<<b; | printf("%d%d",a,b); (6p.) 3. Scriei definiia complet a subprogramului impar, care primete prin parametrul x un tablou unidimensional cu cel mult 100 de elemente numere naturale, fiecare avnd cel mult 9 cifre, iar prin parametrul n o valoare natural reprezentnd numrul efectiv de elemente ale tabloului (1n100) i afieaz mesajul DA n cazul n care printre elementele tabloului x se afl cel puin un numr impar, sau afieaz mesajul NU n caz contrar. (10p.) n fiierul numere.txt se afl memorate pe prima linie dou numere naturale n i m (avnd cel mult 4 cifre fiecare, mn), iar pe urmtoarea linie, n ordine strict cresctoare, n numere naturale. a) Scriei n limbajul C/C++ un algoritm eficient din punct de vedere al gestionrii memoriei i timpului de executare, care citete din fiier datele existente i afieaz cea mai mare sum a m numere aflate pe a doua linie a fiierului. (6p.) b) Explicai n limbaj natural metoda utilizat, justificnd eficiena acesteia. (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 034 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. n secvena alturat de program, instruciunea de for (i=1;i<=3;i++) for (j=10;j>=i+1;j--) afiare se va executa de un numr de ori egal cu: cout<<j; | printf(%d,j); (4p.) b. 21 c. 3 d. 30 a. 24

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x,y 2. Se consider algoritmul alturat, descris n pseudocod. (numere naturale) S-a notat cu x%y, restul mpririi numrului natural x la xx%10 numrul natural nenul y. yy%10 dac y<x atunci a) Scriei care sunt numerele afiate dac se citesc valorile x=148 i y=203. (6p.) auxy yx b) Scriei un set de valori care pot fi citite pentru xaux variabilele x i y astfel nct, dup executarea algoritmului alturat, s se afieze exact 5 valori. (4p.) ct timp xy execut scrie x*10+y c) Scriei programul C/C++ corespunztor algoritmului xx+1 dat. (10p.) yy-1 d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur pentru...execut. (6p.)

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

Subiectul I

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. Graful neorientat cu 60 de noduri, numerotate de la 1 la 60, are numai muchiile [1,60], 1. [60,20], [2,30] i [4,30]. Numrul componentelor conexe ale grafului este egal cu: (4p.) a. 2. a. c. 3 b. 56 c. 54 d. 0 Care dintre vectorii urmtori poate fi vectorul de tai ai unui arbore cu rdcin avnd 10 noduri, numerotate de la 1 la 10? (4p.) (0,1,2,3,4,5,0,7,8,9) (10,10,10,10,10,10,10,10,10,0) b. d. (1,2,3,4,5,7,6,8,9,0) (9,8,7,6,5,4,3,2,1,0)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o list alocat static, de tip coad, sunt memorate n ordine, urmtoarele valori: 2, 3, 4: Reprezentai coada ca n modelul de mai sus, dup fiecare dintre urmtoarele operaii, care se realizeaz n aceast ordine: - extragerea a dou elemente - adugarea valorii 100 - adugarea valorii 200. (6p.) 4. Ce se va afia n urma executrii secvenei char c[21]="tastatura"; alturate, n care variabila c memoreaz un ir for(i=0;i<strlen(c)/2;i=i+1) cu cel mult 20 de caractere, iar i este o cout<<c[i+1]; | printf(%c,c[i+1]); variabil de 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 strict 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 (10p.) 38 40 44 46

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 034 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Completarea unui bilet de LOTO presupune colorarea a 6 numere dintre cele 49, nscrise pe bilet. O situaie statistic pe o anumit perioad de timp arat c cele mai frecvente numere care au fost extrase la LOTO sunt: 2, 20, 18, 38, 36, 42, 46, 48. Cte bilete de 6 numere se pot completa folosind doar aceste valori, tiind c numrul 42 va fi colorat pe fiecare bilet? (4p.) a. 21 b. 6! c. 42 d. 56 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int f(int i) 2. Subprogramul f este definit alturat. { a) Ce valoare va avea f(7)? if (i>12) return 1; else return 1+f(i+2); b) Determinai dou valori naturale, x1 i x2 (x1x2, x1<12 i x2<12 ) pentru care f(x1)=f(x2). (6p.) } 3. Subprogramul cifre_impare primete prin parametrul n un numr natural avnd cel mult 9 cifre i returneaz valoarea 1 dac numrul n are toate cifrele impare i 0 n caz contrar. a) Scriei numai antetul subprogramului cifre_impare. (4p.) b) n fiierul numere.txt se afl memorat pe prima linie un numr natural n, iar pe urmtoarele linii, n numere naturale. Toate numerele din fiier au cel mult 9 cifre. Scriei programul C/C++ care, folosind apeluri utile ale subprogramului cifre_impare, afieaz pe ecran acele numere din fiier care sunt mai mari dect 100 i au toate cifrele impare. Numerele afiate sunt separate prin cte un spaiu. Exemplu: dac fiierul numere.txt are coninutul alturat, se vor afia pe ecran: 333 713 11573 4. 10 1 333 709 23 258 34 713 2678 (10p.) 11573 778

Scriei programul C/C++ care citete de la tastatur un numr natural n (n<100), apoi n numere naturale de cel mult 3 cifre fiecare i afieaz pe ecran cel mai mare numr de valori pare (dintre cele n citite) care s-au citit consecutiv de la tastatur. Exemplu: pentru n=8 i numerele 12,7,4,16,10,3,6,6 se va afia 3 . (6p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 035 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Stabilii care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul ntreg memorat n variabila x nu aparine intervalului (-35,-20]. (4p.) b. (x<=-35) || (x>=-20) d. (x<=-35) && (x>20)

a. (x<-35) || (x>-20) c. (x<=-35) || (x>-20)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x 2. Se consider algoritmul alturat, descris n (numr natural) pseudocod. s 0 S-a notat cu [z] partea ntreag a numrului real z, iar cu f 2 x%y restul mpririi numrului natural x la numrul natural ct timp x>1 execut nenul y. p0 ct timp x%f=0 execut a) Scriei valoarea care va fi afiat dac se citete x[x/f] numrul x=140. (6p.) pp+1 b) Scriei o valoare care poate fi citit pentru x (x1) astfel nct valoarea afiat s fie 6. (4p.) dac p0 atunci ss+p c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) ff+1 d) Scriei valorile naturale din intervalul [7,28] care scrie s pot fi introduse pentru variabila x, astfel nct, dup executarea programului, valoarea afiat s fie 1. (6p.)

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

Subiectul I

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 G=(X,U) X={1,2,3,4,5,6,7,8} U={[1,2], [2,3], [2,4], [2,6], [4,7], [1,5], [5,6], [6,8], [7,8]}. Pentru a trasforma graful ntr-un arbore, putem elimina: (4p.) muchiile [1,5] i [1,2] nodul 3 b. d. muchia [5,6] muchiile [2,6] i [4,7]

a. c. 2. a.

Pentru declararea unei variabile care memoreaz un cuvnt avnd maximum 25 caractere, putem utiliza sintaxa: (4p.) char c; b. char c[]; c. char c[26]; d. char[26] c;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Ce se va afia n urma executrii secvenei char c[]="tamara"; alturate, n care variabila c memoreaz un cout<<strlen(c)<<endl; ir cu cel mult 20 de caractere, iar variabila i | printf("\n%d",strlen(c))) este de tip ntreg? (6p.) for(i=3;i>=0;i--) cout<<c[i]; | printf("%c",c[i]) Un graf neorientat cu 10 noduri, numerotate de la 1 la 10, este 1:3,5 reprezentat cu ajutorul listelor de adiacen alturate. Cte 2:4 componente conexe are graful i care este numrul minim de 3:1,5 4:2,8 muchii ce trebuie adugate pentru ca graful s fie conex? 5:1,3 (6p.) 6:7:10 8:4 9:10:7

4.

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. Exemplu: pentru n=4 i matricea alturat, se vor afia pe ecran 122 103 5 10 valorile: -7 18 -10 2. (10p.) -7 18 -10 2 107 999 59 4 1 200 100 7

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 035 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru generarea tuturor mulimilor de 3 elemente avnd la dispoziie valorile 1,2,3,4,5,6 se poate utiliza un algoritm echivalent cu algoritmul de generare a: (4p.) b. submulimilor mulimii {1,2,3,4,5,6} a. permutrilor de 3 elemente d. aranjamentelor de 6 elemente luate cte c. combinrilor de 6 elemente luate cte 3 3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. n secvena alturat variabilele i, j i aux sunt ntregi, iar v for(i=1;i<5;i++) for(j=5;j>i;j--) memoreaz un tablou unidimensional ale crui elemente au if(v[i]<v[j]) urmtoarele valori: v[1]=2, v[2]=13, v[3]=1, v[4]=5, { aux=v[i]; v[5]=-4. Care este numrul de interschimbri care se v[i]=v[j]; efectueaz n urma executrii secvenei alturate? Dai un v[j]=aux; exemplu de alte 5 valori pentru elementele tabloului astfel nct, } n urma executrii secvenei alturate, s nu se efectueze nicio interschimbare. (6p.) 3. a) Scriei definiia complet a unui subprogram sum care primete prin parametrul x un numr natural de cel mult 4 cifre i returneaz suma divizorilor num rului x, diferii de 1 i de el nsui. Exemplu: dac x=10 se va returna valoarea 7 (7=2+5). (4p.) b) Scriei programul C/C++ care citete de la tastatur un numr natural n (0<n<100), apoi n numere naturale (cu cel mult 4 cifre fiecare). Programul determin, folosind apeluri utile ale subprogramului sum, pentru fiecare numr natural, suma divizorilor si proprii i afieaz pe ecran sumele determinate, n ordinea cresctoare a valorilor lor, separate prin cte un spaiu. (6p.) Exemplu: dac n=5 i numerele citite sunt 10 2 33 6 11 valorile afiate pe ecran vor fi: 0 0 5 7 14 deoarece suma divizorilor lui 10 este 7, suma divizorilor lui 2 este 0, suma divizorilor lui 33 este 14, suma divizorilor lui 6 este 5, suma divizorilor lui 11 este 0. 4. Fiierul text numere.in conine pe prima linie un numr natural n (0<n<1000), iar pe a doua linie n numere naturale cu cel mult 9 cifre fiecare. Scriei un program C/C++ care citete toate numerele din fiier i afieaz pe ecran, separate prin cte un spaiu, numerele formate doar din cifre distincte i care au exact trei cifre. (10p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 036 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. n secvena de instruciuni alturat, variabilele x i y sunt de tip int. Care este valoarea pe care trebuie s o aib iniial variabila x dac la finalul executrii secvenei s-a afiat un singur caracter asterisc (*)? (4p.) a. 0 b. 2 y=x; while(x<=3) { cout<<"*"; | printf("*"); y=y+1; x=x+y; } c. 1 d. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n s0 pseudocod. citete v (valoare natural) S-a notat cu x%y restul mpririi numrului natural x la ct timp v 0 execut a v%10 numrul natural nenul y i cu [z] partea ntreag a b [v/10]%10 numrului real z. s s + a*10 + b Scriei ce valoare se va afia dac se citesc, n a) citete v ordine, urmtoarele valori : 114, 123, 517, 3312, 14, 412, 22, 0. (6p.) scrie s b) Scriei ce valoare se va afia dac se citesc, n ordine, primele 99 de numere naturale nenule, urmate de 0 (adic 1,2,3,4,,98,99,0). (4p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de un alt tip. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

c) d)

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

Subiectul I

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. 1. tiind c n urma executrii secvenei x=strlen(s); alturate s-a afiat succesiunea de caractere for (i=0;i<x/2;i++) cout<<s[i]<<s[x-i-1]; EXAMEN, care este irul de caractere |printf(%c%c,s[i],s[x-i-1]); memorat de variabila s? (6p.) EAENMX b. ENXAME c. NEEXMA d. NEMAXE 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 5; EL; AD 4; EL; AD 7. Care este coninutul cozii dup executarea operaiilor de mai sus? (4p.) 1 5 4 b. 5 4 7 c. 7 4 5 d. 2 1 5

a. 2.

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Se consider un graf neorientat cu 7 noduri numerotate de la 1 la 7 i muchiile 3. [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 eliminate pentru ca acest graf s conin 3 componente conexe? (4p.) 4. 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.)

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 036 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Subprogramul scif returneaz suma cifrelor unui numr natural transmis ca parametru. Care este valoarea expresiei scif(scif(518)+scif(518))? (4p.) 10 14 28 1 b. c. d. a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 9 ca sum a cel puin dou numere naturale nenule distincte. Termenii fiecarei sume sunt n ordine strict cresctoare. Soluiile se genereaz n ordinea: 1+2+6, 1+3+5, 1+8, 2+3+4, 2+7, 3+6 i 4+5. Se aplic exact aceeai metod pentru scrierea lui 12. Scriei, n ordinea generrii, toate soluiile de forma 2+.... (6p.) Scriei programul C/C++ care, pentru o valoare n (numr natural 0<n<100) citit de la tastatur, afieaz pe ecran, separate prin cte un spaiu primele n numere strict pozitive divizibile cu 5. Exemplu: pentru n=4 se vor afia pe ecran valorile 5 10 15 20. (10p.) Subprogramul cifra primete prin intermediul parametrului a un numr natural cu cel mult 4 cifre i returneaz ultima cifr par a sa. Dac numrul nu conine cifre pare, subprogramul returneaz valoarea -1. De exemplu, dac a=8345, subprogramul va returna 4. a) S se scrie definiia complet a subprogramului cifra. (4p.) b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a doua linie a fiierului se afl un ir de n numere naturale, desprite prin cte un spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care citete numerele din fiier i afieaz pe ecran, folosind apeluri utile la subprogramului cifra, cel mai mare numr care se poate forma prelund ultima cifr par a fiecrui element, dac o astfel de cifr exist. n cazul n care toate valorile din fiier conin doar cifre impare, atunci se va afia valoarea -1. Exemplu: dac fiierul bac.in are coninutul 7 alturat, pe ecran se va afia: 64220 (6p.) 369 113 2 0 33 1354 42

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 037 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este valoarea pe care trebuie s o while (x!=3){ x=x-1; aib iniial variabila ntreag x pentru ca, n cout<<"HH"; urma executrii secvenei alturate, s se } afieze irul de mai jos? (4p.) b. 4 c. 6 d. 5

printf(HH);

HHHHHH a. 0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n citete n,k pseudocod. (numere naturale, k9) nr0; p1 S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a ct timp n 0 execut c n%10 numrului real z. nr nr+c*p a) Scriei numrul afiat dac se citesc valorile n=1232 i p p*10 k=2. (6p.) dac c=k atunci nr nr+c*p b) Scriei o pereche de valori care pot fi citite pentru p p*10 variabilele n i k astfel nct, n urma executrii algoritmului, valoarea final a variabilei n s fie egal n [n/10] cu valoarea iniial a acesteia. (4p.) nnr c) Scriei n pseudocod un algoritm echivalent cu cel dat, scrie n n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de un alt tip. (6p.) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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.) cout<<x; | printf(%c,x); | printf(%c,x.nume[0]);

a. b. c. d. 2.

cout<<x.nume[0]; cout<<x.nume; cout<<nume; | |

printf(%c,x.nume);

printf(%c,nume);

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 5; EL; AD 4; EL; AD 7; EL; EL. Care este coninutul cozii dup executarea operaiilor de mai sus? (4p.) 7 b. 4 7 c. 4 d. 5

a.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 037 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz un algoritm pentru a genera n ordine lexicografic invers toate permutrile mulimii {1,2,3,4,5}. Primele patru permutri generate sunt: 54321, 54312, 54231, 54213. A cincea permutare este: (4p.) 54321 54132 53421 54123 a. b. c. d.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Considerm subprogramul f definit alturat. int f(int x,int y) {if(x<=y) return x-y; Ce valoare are f(11,7)? (6p.) return f(y-x,x-1)+3;} Scriei un program C/C++ care citete numerele naturale nenule n i k (kn100) i un tablou unidimensional cu n elemente numere ntregi, fiecare avnd cel mult 4 cifre. Programul modific tabloul, permutnd circular cu k poziii spre stnga, elementele acestuia i afieaz pe ecran, pe o singur linie, separate prin cte un spaiu, elementele tabloului obinut. Exemplu: dac n=4, k=3 i tabloul v=(1,2,3,4), atunci se vor afia n ordine elementele: 4 1 2 3. (10p.) 4. a) Scriei doar antetul subprogramului nrdiv, care primete prin intermediul parametrului x un numr natural nenul cu cel mult 4 cifre, i returneaz num rul de divizori primi ai lui x. (4p.) b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a doua linie a fiierului se afl un ir format din n numere naturale nenule, desprite prin cte un spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care citete numerele din fiier i care afieaz pe ecran, folosind apeluri utile ale subprogramului nrdiv, pentru fiecare valoare din ir num rul de divizori primi. Numerele afiate vor fi separate prin cte un spaiu. (6p.) Exemplu: dac fiierul bac.in are coninutul alturat, pe 6 30 105 140 10 20 5 ecran se va afia: 3 3 3 2 2 1

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 038 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre expresiile urmtoare, scrise n limbajul C/C++, are valoarea 1 dac i numai dac valorile variabilelor ntregi x i y sunt numere pare? (4p.) b. (x+y)%2==0 d. (x%2==0) && (y%2==0)

a. x-y==0 c. (x%2==0) || (y%2==0)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete n,k 2. Se consider algoritmul alturat descris n pseudocod. (numere naturale, k9) S-a notat cu x%y restul mpririi num rului natural x la numrul i k natural nenul y i cu [z] partea ntreag a numrului real z. ct timp i > 0 execut a) Scriei numrul afiat dac se citesc valorile n=21405 i n [n/10] k=2. (6p.) i i-1 b) Scriei un set de date de intrare astfel nct, n urma zn%10 executrii algoritmului, s se afieze cea mai mare cifr scrie z a valorii citite pentru variabila n. (4p.) c) d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de tip pentru...execut. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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. 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 5; EL; AD 4; EL; EL; AD 8; AD 9; EL. Care este coninutul cozii dup executarea operaiilor de mai sus? (6p.) 8 9 b. 8 c. 9 d. 4 8 9 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.) EXAMEN b. exAMen c. ExAMeN d. ExameN

a. 2.

a.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 038 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 9 ca sum a cel puin dou numere naturale nenule distincte. Termenii fiecrei sume sunt n ordine strict cresctoare. Soluiile se genereaz n ordinea: 1+2+6, 1+3+5, 1+8, 2+3+4, 2+7, 3+6 i 4+5. Se aplic exact aceeai metod pentru scrierea lui 8. Cte soluii vor fi generate? (4p.) b. 4 c. 5 d. 3 a. 6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a int sc(long x) {if(x<10) return x; subprogramului sc, stabilii ce valoare return sc(x/10)+x%10;} are sc(901324). (6p.) Scriei n limbajul C/C++ definiia complet a subprogramul Del care are doi parametri: x, un numr ntreg de cel mult 9 cifre, i y, un numr natural nenul de o cifr. Subprogramul determin eliminarea tuturor cifrelor lui x mai mari strict dect y i furnizeaz num rul obinut tot prin intermediul parametrului x. Dac toate cifrele lui x sunt mai mari strict dect y, atunci x va primi valoarea -1. Exemplu: dac x=37659 i y=6, dup apel x=365, iar y=6. (10p.) Se consider subprogramul inter, cu doi parametri: x i y (numere ntregi formate din cel mult patru cifre fiecare); subprogramul interschimb valorile a dou variabile transmise prin intermediul parametrilor x i y. a) Scriei n limbajul C/C++ numai antetul subprogramului inter. (4p.) b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n1000, iar pe a doua linie a fiierului se afl un ir de n numere naturale nenule, desprite prin cte un spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care afieaz pe ecran, n ordine cresctoare, numerele aflate pe a doua linie a fiierului. Numerele vor fi afiate pe o singur linie, iar ntre dou numere se va lsa un spaiu. Se vor folosi apeluri utile ale subprogramului inter. (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 039 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este numrul total de atribuiri efectuate la executarea x=4; y=6; secvenei de instruciuni alturate? (4p.) while (y==6) y=y+1; if (x==y) x=x+1; b. 3 c. 2 d. 5

a. 4

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

c) d)

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

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

Subiectul I

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 (3, 1, 0, 2, 1, 5, 6) (0, 1, 2, 2, 1, 5, 5) b. d. (1, 0, 2, 2, 1, 5, 5) (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. c. 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.) MAma b. MamA c. MaAa d. MAMA

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un graf neorientat cu 6 noduri numerotate de la 1 la 6 i muchiile [1,5], [1,6], [2,6], [3,4], [3,6], [4,6]. 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++) a[i][j]=i+j; int i,j,a[10][10]; Ce se va afia dup executarea for(i=1;i<=3;i++){ secvenei de instruciuni alturate? for(j=1;j<=3;j++) cout<<a[i][j]; | printf(%d,a[i][j]); (6p.) cout<<endl; | printf(\n);} 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.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 039 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 6 ca sum a cel puin dou numere naturale nenule. Termenii fiecrei sume sunt n ordine cresctoare. Soluiile se genereaz n ordinea: 1+1+1+1+1+1, 1+1+1+1+2, 1+1+1+3, 1+1+4, 1+5, 2+2+2, 2+4 i 3+3. Se aplic exact aceeai metod pentru scrierea lui 9. Care este penultima soluie? (6p.) a. 2+7 b. 3+3+3 c. 4+5 d. 3+6

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului f, int f(int x) {if(x<=4) return x*x-3; ce valoare are f(8)? (4p.) return f(x-3)+4;} Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a doua linie a fiierului se afl un ir format din n numere naturale, desprite prin cte un spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care citete valorile din fiier i care afieaz pe ecran mesajul DA dac toate elementele pare din ir sunt n ordine cresctoare i mesajul NU n caz contrar. Exemplu: dac fiierul bac.in are coninutul 7 alturat, pe ecran se va afia: DA (10p.) 10 113 12 33 42 1354 421 Se consider subprogramul pr, care primete prin intermediul parametrului a un numr natural nenul cu cel mult 9 cifre i returneaz 1 dac numrul este prim i 0 n caz contrar. a) Scriei numai antetul subprogramului pr. (4p.) b) Considerm un numr natural nenul n>99 cu cel mult 9 cifre. S se realizeze un program C/C++ care citete numrul n i care, folosind apeluri utile ale subprogramul pr, afieaz pe ecran, separate prin cte un spaiu, doar valorile prime din irul numerelor obinute din n, prin eliminarea succesiv a ultimei cifre, apoi a ultimelor dou cifre, apoi a ultimelor trei cifre etc., pn se obine un numr de dou cifre, ca n exemplu. Exemplu: pentru n=193124 se obine irul de valori 19312,1931, 193, 19 din care se vor afia pe ecran doar valorile 1931 193 19. (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 040 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este valoarea expresiei C/C++ alturate? b. 70 c. -20 (4p.) 50-(100300/2/(2+3)) d. 60

a. -30

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) b) Scriei numerele afiate dac se citete valoarea x=168. (6p.) Scriei o valoare care poate fi citit pentru variabila x astfel nct, n urma executrii algoritmului, s se afieze dou valori egale. (4p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc fiecare structur ct timp...execut cu cte o structur repetitiv cu test final. (6p.) Scriei programul algoritmului dat. C/C++ corespunztor (10p.) citete x (numr natural nenul) d2; y0; z0 ct timp x 1 execut p 0 ct timp x%d=0 execut p p+1 x [x/d] dac p0 atunci dac y=0 atunci yd zd d d+1 scrie y scrie z

c)

d)

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

Subiectul I

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. a. c. 2. 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.) nodurile 1, 2, 6 sunt noduri de tip frunz nodul 6 este tatl nodului 5 b. d. nodul 3 are un singur descendent direct (fiu) nodurile 4 i 6 sunt noduri de tip frunz

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.) 20 b. 15 4 c. 4 20 d. 15 4 20

a.

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++) for(j=1;j<=3;j++) int i,j,a[10][10]; if(i<j)a[i][j]=i; else a[i][j]=j; Ce se va afia dup executarea for(i=1;i<=3;i++){ secvenei de instruciuni alturate? for(j=1;j<=3;j++) (6p.) 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.) Considerm declarrile:

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 040 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 6 ca sum a cel puin dou numere naturale nenule. Termenii fiecrei sume sunt n ordine cresctoare. Soluiile se genereaz n ordinea: 1+1+1+1+1+1, 1+1+1+1+2, 1+1+1+3, 1+1+4, 1+5, 2+2+2, 2+4 i 3+3. Se aplic exact aceeai metod pentru scrierea lui 9. Cte soluii de forma 2+... vor fi generate? (6p.) a. 4 b. 3 c. 2 d. 5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a int f(long x) subprogramului f, stabilii ce valoare are {if(x<10) return 1; return f(x/10)+1;} f(23461). (4p.) Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a doua linie a fiierului se afl un ir format din n numere naturale, desprite prin cte un spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care citete numerele din fiier i care afieaz pe ecran mesajul DA dac elementele pare n ir sunt n ordine cresctoare, iar cele impare sunt n ordine descresctoare, i mesajul NU n caz contrar. Exemplu: dac fiierul bac.in are coninutul 8 alturat, pe ecran se va afia: DA (10p.) 10 1133 12 331 42 1354 221 13 Considerm definite subprogramele: - pr, care primete prin intermediul parametrului x un numr natural cu cel mult 4 cifre i returneaz 1 dac numrul este prim i 0 n caz contrar; - sdiv, care primete prin intermediul parametrului y un numr natural cu cel mult 4 cifre i returneaz suma tuturor divizorilor numrului y. a) Scriei numai antetul subprogramelor pr i sdiv. (4p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural n (n<1000) i care afieaz pe ecran toate numerele mai mici dect n cu proprietatea c suma divizorilor lor este numr prim. Se vor utiliza apeluri utile ale subprogramelor pr i sdiv. Exemplu: dac n=20, atunci programul va afia: 2 4 9 16. (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 041 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. tiind c variabilele x i y sunt de tip ntreg, care este instruciunea prin care variabilei x i se atribuie ultima cifr a numrului natural memorat n variabila y? (4p.) a. x=y%10; b. y=x%10; c. y=x/10; d. x=x/10;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. algoritmul alturat, descris n

S-a notat cu [x] partea ntreag numrului real x, iar cu citete x (numr natural) x%y restul mpririi numrului ntreg x la numrul ntreg d 2 nenul y. scrie x a) Scriei numrul care se afieaz dac se citete ct timp xd execut valoarea 100. (6p.) ct timp x%d=0 execut x[x/d] b) Scriei cel mai mare numr natural de dou cifre care scrie x trebuie citit pentru variabila x, astfel nct algoritmul s afieze exact dou valori. (4p.) dd+1 c) Scriei n pseudocod un algoritm echivalent cu cel dat, care s conin o singur structur repetitiv. (6p.) d) Scriei programul C/C++ corespunztor algoritmului dat (10p.)

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

Subiectul I

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. 1. Cte dintre vrfurile grafului neorientat G, reprezentat prin matricea de 0 1 adiacen alturat, au gradul un numr par? (4p.) 1 0 0 1 0 1 1 0 3 b. 1 c. 2 d. 5 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0

a. 2.

ntr-o stiv iniial vid au fost executate urmtoarele operaii: push 3; push 7; pop; push 5; push 1; unde push a reprezint operaia prin care a se adaug n stiv, iar pop reprezint operaia prin care se extrage un element din stiv. Care este elementul situat n vrful stivei? (4p.) 1 b. 5 c. 7 d. 3

a.

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 se afieaz pe ecran n urma executrii for (i='a';i<='z';i++) secvenei de program alturate tiind c if (i<'d') cout<<i; | printf("%c",i); variabila i este de 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 cte 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 041 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking, se genereaz numerele naturale formate din exact 3 cifre i care au suma cifrelor egal cu 4, n aceast ordine: 103, 112, 121, 130, 202, 211, 220, 301, 310, 400. Dac utilizm acelai algoritm pentru a genera toate numerele de 4 cifre care au suma cifrelor egal cu 7, precizai care este numarul generat imediat dup 1222. (4p.) b. 1223 c. 1213 d. 1231 a. 1321

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Subprogramul f are definiia alturat. Ce valoare int f(int x, int y) 2. are f(7,2)? Dar f(35,2)? (6p.) {if(x%y==0)return y; else return f(x,y+1); } 3. S se scrie un subprogram DIST, cu doi parametri, care primete prin intermediul parametrului a un tablou unidimensional cu cel mult 100 de elemente, numere naturale de cel mult 4 cifre fiecare, i prin intermediul parametrului n un numr natural nenul, n<100, ce reprezint numrul de elemente din tablou. Subprogramul returneaz valoarea 1 dac toate elementele tabloului a sunt distincte i dac diferena absolut a oricror dou elemente vecine din tablou este diferit de 1. iar altfel subprogramul returneaz valoarea 0. (10p.) Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a doua linie n numere naturale de o singur cifr, separate prin cte un spaiu. a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului de executare, cea mai mare i cea mai mic cifr dintre cele situate pe a doua linie a fiierului. Cifrele determinate vor fi afiate pe ecran, pe o singur linie, separate printr-un spaiu. Exemplu: dac fiierul numere.txt are urmtorul coninut: 7 3 5 2 1 5 3 1 atunci pe ecran se vor afia valorile: 5 1. (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 042 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. tiind c variabilele x i y sunt de tip ntreg, care este instruciunea prin care variabilei x i se atribuie cifra zecilor numrului natural cu cel puin dou cifre memorat de variabila y? (4p.) b. x=y/10%10; c. x=y%10; d. x=x/100;

a. x=y%10/10;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x,y (numere naturale) 2. Se consider algoritmul alturat, descris n pseudocod. ct timp y>0 execut S-a notat cu [x] partea ntreag a numrului real x, iar cu zx%y x%y restul mpririi numrului natural x la numrul natural xy nenul y. y z a) Scriei valoarea care se va afia la finalul executrii algoritmului dac se citesc valorile x=15 i y=25. scrie x (6p.) b) Dac pentru y se citete valoarea 100, scriei cel mai mare numr natural de cel mult dou cifre care trebuie citit pentru variabila x astfel nct la finalul executrii algoritmului s se afieze valoarea 20. (4p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care structura ct timp...execut s fie nlocuit cu o structur repetitiv cu test final. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

c)

d)

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

Subiectul I

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 corespunde rspunsului corect. 1. Cte dintre vrfurile grafului neorientat G, reprezentat prin matricea de 0 0 adiacen alturat, au gradul 0? (4p.) 0 0 0 0 1 0 1 0 2 b. 1 c. 3 d. 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0

a. 2.

ntr-o coad iniial vid au fost executate urmtoarele operaii: add 1; add 2; out; add 3; add 4; unde add x reprezint operaia prin care x se adaug n coad, iar out reprezint operaia prin care se extrage un element din coad. Ce valoare are elementul care a fost extras din coad? (4p.) 3 b. 2 c. 1 d. 4

a.

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 de lungime maxim, format din noduri distincte, n arborele dat? (6p.) Variabila a memoreaz un tablou bidimensional cu 5 for(i=1;i<=5;i++) linii si 5 coloane, numerotate de la 1 la 5, ale crui for(j=1;j<=5;j++) a[i][j]=j; elemente sunt numere ntregi. Care este cel mai mare element situat pe diagonala principal 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 042 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz toate permutrile mulimii {1,2,3,4}. Dac primele trei permutri generate sunt, n acest ordine: 1234, 1243, 1324 precizai care este permutarea generat imediat dup 3412. (4p.) b. 3413 c. 4123 d. 3421 a. 3214

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f are definiia alturat. Ce valoare int f(int x) are f(7)? Dar f(100)? (6p.) {if(x%6==0)return x; else return f(x-1); } 3. Scriei definiia complet a unui subprogram P, cu trei parametri, care primete prin intermediul primului parametru, a, un tablou unidimensional de cel mult 100 de numere ntregi, cu cel mult 4 cifre fiecare, prin intermediul celui de-al doilea parametru, n, numrul efectiv de elemente ale tabloului, iar prin parametrul k, un numr natural (k<101) i returneaz cea mai mare sum care se poate forma cu k elemente ale tabloului. Exemplu: dac n=6 i k=4, iar irul este format din elementele (5, 2, 5, 4, 1, 3), atunci la apel se va returna 17. (10p.) Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000) iar pe doua linie, separate prin cte un spaiu, n numere naturale formate din cel mult 2 cifre. a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului de executare, dac numerele situate pe a doua linie a fiierului sunt n ordine strict cresctoare. n caz afirmativ, programul va afia pe ecran mesajul DA, altfel va afia mesajul NU. Exemplu: dac fiierul numere.txt are urmtorul coninut: 7 3 5 2 1 5 23 1 atunci pe ecran se va afia: NU (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 043 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este instruciunea prin care variabilei x i se atribuie valoarea sumei cifrelor numrului natural format din exact trei cifre, memorat de variabila y? (4p.) b. x=y+y/10+y/100; d. x=y%10+y%100+y%1000;

a. x=y/100+y/10%10+y%10; c. x=y%10+y%10/10+y/100;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x,y (numere naturale) 2. Se consider algoritmul alturat, descris n pseudocod. ct timp x*y0 execut daca x>y atunci S-a notat cu x%y restul mpririi numrului natural x la xx%y numrul natural nenul y. altfel a) Scriei valoarea pe care o va afia algoritmul dac se yy%x citesc, n aceast ordine, numerele 30 i 25. (6p.) b) Dac se citete pentru variabila y valoarea 26, scriei scrie x+y toate numerele naturale de cel mult dou cifre care pot fi citite pentru variabila x, astfel nct la finalul executrii algoritmului s se afieze valoarea 13. (4p.) c) Scriei n pseudocod un algoritm care sa fie echivalent cu cel dat n care structura ct timp...execut s fie nlocuit cu o structur repetitiv cu test final. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

d)

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

Subiectul I

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 coad iniial vid au fost executate urmtoarele operaii: add 1; add 2; out; add 3; add 4; out; unde add x reprezint operaia prin care valoarea x se adaug reprezint operaia prin care se extrage un element din coad. Cte elemente conine coada dup efectuarea operaiilor de mai sus? 1 b. 2 c. 0 d.

n coad, iar out (4p.) 3

a.

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 este radcina arborelui i cte frunze are acesta? (6p.) Ce se afieaz n urma executrii secvenei de strcpy(a,"informatica"); program alturate, tiind c variabilele a i b strcpy(b,a); pot memora cte un ir de caractere? (6p.) cout<<strlen(b); | printf("%d",strlen(b)); 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 cu 3. Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a 2 1 1 1 3 2 1 1 ecranului, cu cte un spaiu ntre elementele fiecrei linii. Exemplu: dac n este 4 atunci programul va construi i va afia 3 3 2 1 matricea alturat: (10p.) 3 3 3 2

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 043 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz numerele formate din cte 3 cifre distincte din mulimea {1,3,5,7}. Dac primele trei numere generate sunt, n acest ordine: 135, 137, 153 care este cel de-al patrulea numr generat? (4p.) b. 173 c. 157 d. 357 a. 315

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Subprogramul f are definiia alturat. Ce valoare int f(int x) 2. are f(3)? Dar f(10)? (6p.) {if(x==0)return 0; else return f(x-1)+2; } 3. Scriei definiia complet a unui subprogram P cu doi parametri, care primete prin intermediul primului parametru, a, un tablou unidimensional de cel mult 100 de numere ntregi, de cel mult 4 cifre fiecare, prin intermediul celui de-al doilea parametru, n, numrul efectiv de elemente ale tabloului i returneaz suma tuturor numerelor impare din tablou. Exemplu: dac n=6, iar irul este format din elementele (3, 2, 7, 1, 4, 3), atunci la apel se va returna 14. (10p.) Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a doua linie n cifre, separate prin cte un spaiu. a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului de executare, cea mai mare cifr dintre cele situate pe a doua linie a fiierului numere.txt i numrul de apariii ale acesteia. Valorile determinate se vor afia pe ecran, separate printr-un spaiu. Exemplu: dac fiierul numere.txt are urmtorul coninut: 11 2 5 3 1 5 8 9 2 7 3 4 atunci pe ecran se va afia: 9 1. (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 044 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este instructiunea prin care variabilei x i se atribuie valoarea cifrei sutelor numrului natural cu cel puin 4 cifre memorat n variabila y? (4p.) b. x=y/10/10; c. x=y%100; d. x=y/100%10;

a. x=y%10/10;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x (numr natural) 2. Se consider algoritmul alturat, descris n pseudocod. y0 S-a notat cu x%y restul mparirii numrului natural x la ct timp x>y execut numrul natural nenul y. yy*10+9-x%10; a) Scriei numrul care se afieaz dac se citete scrie y valoarea 274. (6p.) b) Scriei un numr natural de 3 cifre care poate fi citit pentru variabila x, astfel nct, la finalul executrii algoritmului s se afieze valoarea 1111. (4p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care structura ct timp...execut s fie nlocuit cu o structur repetitiv cu test final. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

c)

d)

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

Subiectul I

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 corespunde rspunsului corect. 1. Graful orientat G este reprezentat prin matricea de adiacen alturat. Cte vrfuri din graful dat au gradul interior egal cu gradul exterior? 0 1 0 (4p.) 0 1 d. 2 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0

a. 2.

b.

c.

ntr-o stiv iniial vid au fost executate urmtoarele operaii: push 1; pop; push 2; pop; push 3; push 4; pop; push 5; unde push x reprezint operaia prin care x se introduce n stiv, iar pop reprezint operaia prin care se extrage un element din stiv. Cte elemente conine stiva dupa efectuarea operaiilor de mai sus? (4p.) 3 b. 8 c. 3 d. 2

a.

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 strcpy(a,"info"); executrii secvenei de program alturate, for(i=2;i<strlen(a);i++) cout<<a[i]; | printf("%c",a[i]); tiind c a este o variabil care memoreaz un ir de caractere, iar i este o variabil de tip ntreg? (6p.) 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 si 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 044 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz permutrile cuvntului info. Dac primele trei soluii generate sunt: fino, fion, fnio care este cea de-a cincea soluie? (4p.) b. fnoi c. foni d. ifon a. foin

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f are definiia alturat. Ce int f(int x,int y) valoare are f(5,10)? (6p.) {if(x==y)return x; else if(x<y)return f(x+1,y-1); else return f(x-1,y); } 3. Scriei programul C/C++ care citete de la tastatur numrul natural n (0<n<100) i un ir format din n numere ntregi de cel mult 4 cifre fiecare, determin i afieaz pe ecran numrul de ptrate perfecte din ir. Exemplu: dac n=6, iar irul este format din elementele (31, 25, 19, 1, 4, 3), atunci pe ecran se va afia 3. (10p.) Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a doua linie, separate prin cte un spaiu, n numere naturale formate din cel mult 2 cifre. a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului de executare, toate numerele coninute de a doua linie a fiierului care apar de cel puin dou ori n acest linie. Programul va afia pe ecran numerele determinate, o singur dat, n ordine crescatoare, pe aceeai linie, separate prin cte un spaiu. Exemplu: dac fiierul numere.txt are urmtorul coninut: 44 2 54 74 2 44 9 2 atunci pe ecran se va afia: 2 44 (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 045 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este instruciunea prin care variabilei x i se atribuie numrul obinut prin inversarea ordinii cifrelor numrului natural format din exact 2 cifre, memorat n variabila y? (4p.) b. x=y%10*10+y/10; d. x=y%10+y/10;

a. x=y/10*10+y%10; c. x=y%10+y/10*10;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x,y (numere naturale) 2. Se consider algoritmul alturat, descris n z1 pseudocod: t0 S-a notat cu x%y restul mpririi numrului natural x la ct timp xz execut numrul natural nenul y. dac x%z=y atunci a) Scriei valoarea care va fi afiat de algoritm dac se tz citesc, n aceast ordine, valorile 12 i 3. (6p.) zz+1 b) Dac valoarea citit pentru variabila y este 19, scriei care este cea mai mare valoare care trebuie citit pentru scrie t x, astfel nct algoritmul s afieze numrul 0. (4p.) c) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv cu test final. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

d)

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

Subiectul I

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. 1. Graful neorientat G este dat prin matricea de adiacen alturat. Cte vrfuri ale grafului G au gradul 1? (4p.) 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0

a. 2.

b.

c.

d.

ntr-o stiv iniial vid au fost executate urmtoarele operaii: push 1; pop; push 2; push 4; pop; push 5; unde push x reprezint operaia ce introduce valoarea x n stiv, iar pop reprezint operaia prin care se extrage un element din stiv. Cte elemente va conine stiva dup efectuarea operaiilor de mai sus? (4p.) 4 b. 1 c. 3 d. 2

a.

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 (fiii) ai rdcinii i cte frunze are arborele dat? (6 p.) Variabila a memoreaz elementele numere ntregi ale unui for(i=1;i<=3;i++) tablou bidimensional cu 3 linii i 3 coloane. Care este cel for(j=1;j<=3;j++) a[i][j]=j; mai mic 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 045 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz toate cuvintele de cte 3 litere din mulimea {a,b,c}. Dac primele patru cuvinte generate sunt, n acest ordine: aaa, aab, aac, aba, care este cel de-al optulea cuvnt generat? (4p.) b. acc c. aca d. bca a. acb

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Subprogramul f are definiia alturat. Ce valoare are int f(int x) 2. f(4)? Dar f(11)? (6p.) {if(x<1)return 1; else return f(x-3)+1; } 3. Scriei programul C/C++ care citete de la tastatur numrul natural n (0<n<100) i un ir format din n numere reale. Aceste numere au att partea ntreag ct i partea fracionar formate din cel mult trei cifre. Programul determin i afieaz pe ecran toate numerele din ir care apar o singur dat n acesta. Exemplu: dac n=7, iar irul este format din elementele (3.4, -151, 0.291, 3.4, 4.09, 3.4, 0.291), atunci pe ecran se va afia -151 4.09. (10p.) Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a doua linie, separate prin cte un spaiu, n numere naturale formate din cel mult 2 cifre. a) Scriei un program C/C++ care afieaz pe ecran, n mod eficient din punct de vedere al timpului de executare, toate numerele situate pe a doua linie a fiierului, n ordinea cresctoare a valorilor lor, separate prin cte un spaiu. Dac un numr apare n fiier de mai multe ori el va fi afiat o singur dat. Exemplu: dac fiierul numere.txt are urmtorul coninut: 7 12 21 22 11 9 12 3 atunci pe ecran se va afia: 3 9 11 12 21 22 (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 046 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila ntreag n memoreaz un numr natural impar. Care dintre urmtoarele expresii C/C++ are valoarea 1? (4p.) b. n%2==0 c. n%2!=0 d. !((n+1)%2==0)

a. !(n%2)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului ntreg x la numrul ntreg nenul y i cu [a] partea ntreag a numrului real a. Scriei valoarea afiat dac se citete numrul a) n=10326. (6p.) b) Scriei pentru cte numere de forma , unde a este cifra sutelor, b este cifra unitilor i ab, valoarea afiat este 1. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv cu test final. (6p.) citete n (numr natural) s0 nr0 ct timp n0 execut dac n%2=0 atunci ss*10+n%10 n[n/10] dac s0 atunci nr1 scrie nr

c) d)

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

Subiectul I

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 0 1 1 0 0 prin matricea de adiacen alturat? (4p.) 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 a. c. 2. exist cel puin un nod n graful G care b. are gradul intern egal cu cel extern exist cel puin un drum ntre oricare d. dou noduri ale grafului G graful G nu are circuite graful G are 9 arce

n secvena alturat, variabila v memoreaz for ( i=k+1; i<=n; i++) 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.) eliminarea liniei k din matrice eliminarea coloanei k din matrice b. d. adugarea liniei k n matrice adugarea coloanei k n matrice

a. c.

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.) Notm cu Push(x) operaia prin care se introduce ntr-o stiv valoarea x, iar cu Pop operaia prin care se extrage un element din stiv. Cte elemente are stiva, iniial vid, dup executarea secvenei urmtoare de instruciuni? Push(8); Push(2); Push(4); Pop; Push(3); Pop; Pop; (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.)

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 046 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un program genereaz, n ordine cresctoare, numerele naturale de exact 5 cifre din mulimea {1, 2, 3, 4, 5}. Fiecare dintre numerele generate are cifrele distincte dou cte dou. Primele 3 numere astfel generate sunt: 12345, 12354, 12435. Care este numrul generat imediat dup 12543? (4p.) b. 12534 c. 13245 d. 13452 a. 15342

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Se consider subprogramul f, definit long f(int n) 2. { alturat: if(!n) return 0; Ce valoare are f(7)? Dar f(100)? else return f(n-1)+2*n; (6p.) } 3. Fiierul bac.txt conine pe prima linie un numr natural n (n100), iar pe a doua linie, separate prin cte un spaiu, n numere naturale nenule, cu cel mult 4 cifre fiecare. Scriei programul C/C++ care citete de la tastatur un numr natural k (k25), construiete n memorie i afieaz pe ecran un tablou unidimensional ce conine numerele citite din fiierul bac.txt care au cel puin k divizori. Exemplu: dac k=9, iar fiierul are coninutul 8 100 56 22 909 222 400 180 616 alturat, atunci tabloul care se afieaz este: 100 400 180 616 (10p.) a) Scriei n limbajul C/C++ doar antetul subprogramului cifre, care prin intermediul parametrului nr primete un numr natural de cel mult 9 cifre i furnizeaz prin intermediul parametrilor nc i sc numrul de cifre i respectiv suma cifrelor din scrierea lui nr. (4p.) b) Scriei n limbajul C/C++ definiia complet a unui subprogram cu un singur parametru, x, prin intermediul cruia primete un numr natural cu cel mult 9 cifre i care returneaz valoarea 1 dac n scrierea n baza 10 a lui x se gsete cel puin o cifr care s fie media aritmetic a celorlalte cifre din componena lui x i 0 n caz contrar, folosind apeluri utile ale subprogramului cifre, de la punctul a. Exemplu: pentru n=27989 subprogramul va returna valoarea 1 deoarece n scrierea lui n apare cifra 7 care este media aritmetic a celorlalte cifre din scrierea lui n: 7=(2+9+8+9)/4. Pentru n=7351 se returneaz 0. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 047 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. c=2*a-b; Care dintre urmtoarele variabile nu i modific valoarea n urma executrii secvenei de instruciuni alturate, oricare ar fi valorile lor a=a-b; a=c-a; iniiale? (a,b,c sunt variabile de tip int). (4p.) b=2*a-c; b. doar c c. doar a i c d. doar a i b

a. niciuna

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului ntreg x la numrul ntreg nenul y i cu [a] partea ntreag a numrului real a. a) b) citete n (numr natural nenul) max0 repet Scriei valoarea afiat dac se citete numrul 27349. n[n/10] (6p.) dac max<n%10 atunci Scriei cte numere naturale de trei cifre pot fi citite maxn%10 pentru variabila n, astfel nct valoarea afiat s fie 3. pn cnd n=0 (4p.) scrie max Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura repet...pn cnd cu o structur repetitiv cu test iniial. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

c)

d)

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

Subiectul I

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. a. 2. Care dintre urmtorii vectori NU poate reprezenta vectorul de tai rdcin, cu 5 noduri, numerotate de la 1 la 5? 3 1 0 1 2 b. 2 0 1 1 2 c. 3 4 0 2 3 d. Cele 5 vagoane, din figura alturat, numerotate de la 1 la 5, trebuie mutate de pe linia A pe linia B. Vagoanele sunt manevrate unul cte unul. Orice vagon poate fi mutat doar de pe linia A pe linia C sau de pe linia C pe linia B. Oricare alt manevr nu este posibil. Care dintre irurile de vagoane de mai jos, citite de la stnga la dreapta, nu poate fi obinut pe linia B? (4p.) 5 3 4 2 1 b. 4 2 5 3 1 c. 3 2 4 1 5 d. 1 2 3 4 5 al unui arbore cu (4p.) 4 1 1 0 2

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Variabila s reine irul de caractere bacalaureat. Ce se afieaz la executarea instruciunii de mai jos? cout<<strchr(s,a); 4. | printf(%s,strchr(s,a)); (6p.) n declararea alturat, cmpurile a i b ale nregistrrii reprezint struct rap numrtorul, respectiv numitorul unei fracii. Care este expresia cu { int a, b; } f; care se pot nlocui punctele de suspensie n secvena de mai jos int k; 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 nenule m i n (m10, n10) i cele m*n elemente (numere naturale mai mici dect 100) ale unui tablou bidimensional cu m linii, numerotate de la 1 la m, i n coloane, numerotate de la 1 la n; programul construiete n memorie i afieaz pe ecran tabloul dup eliminarea liniilor de rang impar. 24 25 26 se va afia: Exemplu: pentru m=4 i n=3 i tabloul: 21 22 23 30 31 32 24 25 26 27 28 29 30 31 32 (10p.)

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 047 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. int tab (int i,int v[], int c) Valorile memorate de componentele {int n; tabloului v, cu indicii de la 0 la 5, sunt, n if(i<0) return 0; aceast ordine: 183, 212, 453, 18, 42, 83. else Se consider subprogramul tab cu definiia { n=v[i]; alturat. Care este valoarea returnat la while(n) { apelul tab(4,v,123)? if(n%10==c%10) return 1+tab(i-1,v,c%10); (4p.) n=n/10; } return tab(i-1,v,c%10); } } 1 3 a. b. c. 6 d. 2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. ntr-un penar sunt unsprezece creioane cu lungimi diferite, dintre care trei sunt roii iar celelalte sunt negre. Dac scoatem din penar cinci creioane, cte posibiliti exist ca exact dou dintre ele s fie roii? (6p.) Fiierul text bac.txt conine pe prima linie un numr natural n (n<100), iar pe a doua linie, separate prin cte un spaiu, n numere naturale, mai mici dect 30000 fiecare. Scriei un program C/C++ care citete de la tastatur un numr natural k (k<10) precum i numerele din fiierul bac.txt i determin i afieaz pe ecran, cu cte un spaiu ntre ele, toate numerele de pe a doua linie a fiierului care conin n scrierea lor cifra memorat n variabila k. Dac nu exist un asemenea numr pe a doua linie a fiierului, se afieaz pe ecran mesajul NU. Exemplu: dac se citete de la tastatur 8 k=2, iar fiierul are coninutul alturat, atunci 234 5678 317 809 202 427 92 6004 pe ecran se afieaz numerele: 234 202 427 92 (10p.) a) Scriei n limbajul C/C++ doar antetul unui subprogram cif, care primete prin intermediul primului parametru, nr, un numr natural cu cel mult 9 cifre i furnizeaz prin intermediul celui de-al doilea parametru, s, suma cifrelor din scrierea lui nr. (4p.) b) Scriei programul C/C++ care citete de la tastatur un numr natural n (0<n<25), apoi un ir de n numere naturale nenule cu cel mult 9 cifre fiecare i care determin i afieaz pe ecran, separate prin cte un spaiu, numerele din ir care au suma cifrelor maxim, folosind apeluri utile ale subprogramului cif. Exemplu: dac pentru n=8 se citete irul de numere 274 56018 354 8219 293 287 932 634 atunci, pe ecran, se afieaz numerele 56018 8219. (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 048 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele a, b i c, de tip int, pot fi iniializate cu oricare numere naturale impare distincte. tiind c c este divizor al lui a, iar b nu este multiplu al lui c, care dintre urmtoarele expresii scrise n C/C++ are valoare 1? (4p.) b. (a % c!=0) && !(b % c!=0) a. !((a % c!=0) || !(b % c!=0)) d. !(c % a!=0) && (c % b!=0) c. (a % c!=0) || !(b % c!=0)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete n 2. Se consider algoritmul alturat, descris n pseudocod. (numr natural nenul ) S-a notat cu x%y restul mpririi numrului ntreg x la numrul pentru i1,n execut ntreg nenul y i cu [z] partea ntreag a numrului real z. citete x a) Scriei valorile afiate dac pentru n se citete valoarea (numr. natural) 6, iar pentru x se citesc n ordine urmtoarele valori: nr0 2008, 1965, 2727, 1861, 11021, 165. (6p.) ct timp x>0 execut nrnr*100+x%10 b) tiind c valoarea citit pentru n este 4, scriei un set x[x/100] de valori distincte, numere naturale cu exact 3 cifre, care trebuie citite pentru variabila x, astfel nct setul ct timp nr>0 execut de valori afiate n urma executrii algoritmului s fie xx*10+nr%10 identic cu setul de valori citite pentru x . (4p.) nr[nr/10] c) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura pentru...execut cu scrie x o structur repetitiv cu test final. (6p.) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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. Pe tija 1 sunt aezate 5 bile, numerotate de la 1 la 5, ca n figur. Bilele trebuie mutate pe tija 3 putndu-se folosi ca manevr tija 2. Variantele de mai jos Tija 2 reprezint aezarea bilelor de la Tija 1 stnga la dreapta, pe tija 3. tiind 1 3 2 5 4 c o bil nu poate trece de pe tija 2 pe tija 3 dect prin tija 1, pentru care dintre ele s-au folosit cele mai Tija 3 puine mutri? (o mutare reprezint trecerea de pe o tij pe alta.) (4p.) 1 2 4 5 3 b. 4 2 5 3 1 c. 2 1 4 3 5 d. 1 2 3 4 5 In secvena alturat, variabilele s1, if(!(strcmp(s1,s2) || strcmp(s1,s3))) val=1; s2 i s3 rein iruri de caractere. Dup executarea acesteia, variabila else val=2; ntreag val primete valoarea 1 dac (4p.) s1, s2, s3 caractere rein iruri identice de b. s1, s2, s3 rein iruri de caractere ordonate lexicografic s1 este obinut prin concatenarea irurilor reinute n s2 i s3

a. 2.

a. c.

s1, s2, s3 rein iruri de caractere de d. 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.

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 axelor }a; de coordonate? (6p.) Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<10) i care construiete n memorie un tablou bidimensional cu n linii i n coloane astfel nct 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 2 4 6 8 alturat. (10p.) 10 12 14 16 18 20 22 24 26 28 30 32

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 048 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Valorile memorate de componentele int tablou (int i, int v[],int c) tabloului v, cu indicii de la 0 la 5, {int n; if(i<0) return 0; sunt, n aceast ordine: 420, 48, else { 635, 628, 237, 93. Se consider n=v[i]; subprogramul tablou cu definiia while(n>9) { alturat. Care este valoarea if(n%10==c) returnat la apelul return 1+tablou(i-1,v,c); tablou(5,v,2)? n=n/10; } (4p.) return tablou(i-1,v,c); } } 6 3 b. c. 2 d. 0 a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se genereaz prin metoda backtracking mulimile distincte ale cror elemente sunt numere naturale nenule i care au proprietatea c suma elementelor fiecrei mulimi este egal cu 7. Astfel, sunt generate, n aceast ordine, mulimile: {1,2,4}, {1,6}, {2,5}, {3,4}, {7}. Folosind aceeai metod pentru a genera mulimile distincte ale cror elemente sunt numere naturale nenule i care au proprietatea c suma elementelor fiecrei mulimi este egal cu 9, stabilii n ce ordine sunt generate urmtoarele mulimi: M1={2,3,4}; M2={3,6}; M3={2,7}; M4={4,5}. (6p.) Se consider subprogramul cmdiv care primete prin parametrii x i y dou valori ntregi pozitive (0<x<100 i 0<y<100) i returneaz cel mai mare divizor comun al lor. a) Scriei doar antetul subprogramului cmdiv. (4p.) b) Scriei un program C/C++ care citete de la tastatur trei numere naturale nenule distincte a, b i n, cu cel mult 2 cifre fiecare i care construiete n memorie un tablou unidimensional ale crui elemente memoreaz n ordine cresctoare toate numerele naturale cuprinse n intervalul nchis determinat de a i b, care nu au niciun divizor strict mai mare dect 1 comun cu n, folosind apeluri utile ale subprogramului cmdiv. Intervalul nchis determinat de a i b este [a,b] dac a<b sau [b,a] dac ba. Exemplu:pentru a=60, b=32 i n=36 tabloul va conine: 35 37 41 43 47 49 53 55 59 (6p.) 4. Fiierul text bac.in conine pe prima linie un numr natural n (0<n<5000), iar pe a doua linie, separate prin cte un spaiu, n numere naturale, formate din cel mult 4 cifre fiecare. Scriei un program C/C++ care determin i scrie n fiierul bac.out toate numerele coninute de a doua linie a fiierului care apar o singur dat n aceast linie. Numerele determinate se vor afia n ordinea cresctoare a valorilor lor, separate prin cte un spaiu. Exemplu: dac pe prima linie a fiierului bac.in se afl 10, iar pe linia a doua se gsesc numerele 2 4548 568 4548 57 89 5974 2 89 32 atunci valorile cutate sunt 32 57 568 5974. (10p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 049 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila a, de tip int, memoreaz un numr natural impar, iar variabila b, de tip int, memoreaz un numr natural par. Care dintre urmtoarele expresii C/C++ are valoarea 1? (4p.) b. !(!(a%2) || b%2); a. a%2 && b%2; d. !(a%2) || b%2; c. (a+b+1)%2;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului ntreg x la numrul ntreg nenul y i cu [a] partea ntreag a numrului real a. a) Scriei valoarea afiat dac pentru x se citete numrul 21034. (6p.) b) c) Scriei o valoare cu exact 5 cifre distincte care trebuie citit astfel nct numrul afiat s fie 987. (4p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc fiecare structur ct timp...execut cu cte o structur repetitiv cu test final. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) citete x (numr natural nenul) k 0 ct timp x0 execut kk*10+x%10 x[x/10] ct timp k0 execut xx*10+k%10 k[k/100] scrie x

d)

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

Subiectul I

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. Se consider stiva din desenul alturat. Primul element introdus n stiv este 5. Dac se noteaz cu pop operaia prin care se extrage un element din stiv i cu push(k) operaia prin care se introduce valoarea k n stiv, care va fi coninutul ei dup efectuarea urmtoarelor operaii: pop; pop; push(1); push(4); (4p.) 4 1 1 4 b. 1 4 4 1 c. 1 4 1 4 d. 5 2 1 4

a. 2. a.

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

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Variabila x declarat alturat memoreaz n cmpurile med1 i struct elev { med2 mediile semestriale ale unui elev. Scriei expresia a crei int matricol; float med1,med2; valoare va fi media anual a acestui elev. (6p.) }x; Care este numrul de circuite ale unui graf 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). Dou circuite sunt distincte dac difer prin cel puin un arc. (6p.) 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.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 049 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Valorile memorate de componentele int tablou (int i,int v[]) tabloului v, cu indicii de la 0 la 5, sunt, n {int n; if(i<0) return 0; aceast ordine: 420, 48, 635, 628, 837, else { 93. Se consider subprogramul tablou n=v[i]; cu definiia alturat. Care este valoarea while(n) { returnat la apelul tablou(5,v)? (4p.) if(n%2) return 1+tablou(i-1,v); n=n/10; } return tablou(i-1,v); } } 2 6 b. c. 3 d. 4 a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se genereaz n ordine strict cresctoare numerele de cte ase cifre care conin: cifra 1 o singur dat, cifra 2 de dou ori i cifra 3 de trei ori. Se obin, n aceast ordine, numerele: 122333, 123233, 123323, , 333221. Cte numere generate prin aceast metod au prima cifr 1 i ultima cifr 2? (6p.) Scriei un program C/C++ care citete de la tastatur trei numere naturale a, b i n, mai mici dect 30000 fiecare, i care construiete n memorie un tablou unidimensional ale crui elemente memoreaz toi multiplii lui n din intervalul nchis determinat de a i b. Programul va afia pe ecran numerele din tablou n ordinea cresctoare a lor, separate prin cte un singur spaiu, iar dac nu exist astfel de valori, va afia pe ecran mesajul Nu. Intervalul nchis determinat de a i b este [a,b] dac a<b sau [b,a] dac ba. Exemplu: pentru a=65, b=31 i n=9 tabloul va conine valorile: 36 45 54 63 (10p.) Se consider subprogramul cmax care prin parametrul a primete un numr natural nenul mai mic dect 30000, iar prin parametrul b furnizeaz cifra maxim din numrul a. a) Scriei, folosind limbajul C/C++, doar antetul subprogramului cmax. (4p.) b) Fiierul bac.txt conine cel mult 1000 numere naturale nenule, mai mici dect 30000 fiecare, separate prin cte un spaiu. Scriei programul C/C++ care citete din fiierul bac.txt toate numerele i care determin cea mai mare cifr din scrierea lor folosind apeluri utile ale subprogramului cmax. Cifra determinat se va afia pe ecran. Exemplu: dac fiierul bac.txt conine valorile: 23 12 64 12 72 345 67 23 71 634 atunci pe ecran se afieaz 7. (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 050 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele a i b sunt de tip int, iar variabilele c i d sunt de tip double. Care dintre urmtoarele instruciuni de atribuire nu este corect din punct de vedere sintactic? (4p.) b. c=2-d%2*a; c. c=sqrt(b*b); d. b=(d<=c); a. c=d+2*c;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete n 2. Se consider algoritmul alturat, descris n pseudocod. (numr natural nenul) S-a notat cu x%y restul mpririi numrului ntreg x la numrul k 9 ntreg nenul y i cu [a] partea ntreag a numrului real a. pentru i1,n execut a) Scriei numrul care va fi afiat dac pentru n se citete citete x valoarea 3, iar pentru x se citesc n ordine urmtoarele (numr. natural) valori: 90, 965, 727. (6p.) c[x/10]%10 dac c<k atunci b) tiind c valoarea citit pentru n este 4, scriei un set de k c valori care pot fi citite pentru variabila x astfel nct la finalul executrii algoritmului s se afieze numrul 9. (4p.) c) Scriei n pseudocod un algoritm echivalent cu cel dat, n scrie k care s se nlocuiasc structura pentru...execut cu o structur repetitiv cu test final. (6p.) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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. Fie graful orientat din figura alturat. Care este numrul de circuite elementare distincte? Un circuit este elementar dac acesta conine doar vrfuri distincte, excepie fcnd primul care coincide cu ultimul. Dou circuite elementare sunt distincte dac difer prin cel puin un arc. (4p.) 0 b. 1 c. 2 d. 3 3 14 15 8 4 5 6 7

a. 2.

1 2 Elementele tabloului bidimensional din figura alturat, cu 4 linii i 4 coloane, sunt toate numerele naturale cuprinse ntre 1 i 16 12 13 aezate n spiral, ncepnd cu primul element al primei linii i 11 16 continund n sens invers trigonometric ca n figur. Care este cel 10 9 mai mare numr situat n zona triunghiular de sub diagonala secundar (exclusiv diagonala secundar), n cazul unui tablou bidimensional cu 5 linii i 5 coloane generat dup aceeai regul? (4p.) 16 b. 15 c. 25 d. 22

a.

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.

Se consider declararea alturat i urmtoarea struct carte {char nume_autor[15],titlu[20]; secven de instruciuni: int nr_pag; strcpy(x.titlu,Ion); }x,y; strcpy(y.titlu,Mara); char n,m,a; m=x.titlu[1]; n = y.titlu[2]; if(m > n) a=m; else a=n; Ce valoare va memora variabila a la finalul executrii secvenei? (6p.) 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.)

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 050 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Valorile memorate de int tablou (int i,int v[],int c) componentele tabloului v, cu {int n; if(i<0) return 0; indicii de la 0 la 5, sunt, n else { aceast ordine: 973, 51, 871, n=v[i]; 350, 691, 15. Se consider while(n) { subprogramul tablou cu if(n%10==c) definiia alturat. Care este return 1+tablou(i-1,v,c); valoarea returnat la apelul n=n/10; tablou(5,v,5)? (4p.) } return tablou(i-1,v,c); } } a. 1 b. 3 c. 6 d. 0 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se genereaz n ordine strict cresctoare toate numerele de cte ase cifre care conin: cifra 1 o singur dat, cifra 2 de dou ori i cifra 3 de trei ori. Se obin, n aceast ordine, numerele: 122333, 123233, 123323, , 333221. Ce num r se genereaz imediat dup 332312? (6p.) Se consider subprogramul divxy care primete prin parametrii x i y dou valori ntregi pozitive (0<x<1000 i 0<y<1000) i returneaz valoarea 1 dac y este divizor al lui x i 0 n caz contrar. a) Scriei definiia complet a subprogramului divxy. (4p.) b) Scriei un program C/C++ care citete de la tastatur trei numere naturale nenule a, b i n, cu cel mult 3 cifre fiecare i care construiete n memorie un tablou unidimensional ale crui elemente memoreaz n ordine cresctoare, toi divizorii lui n din intervalul nchis determinat de a i b folosind apeluri utile ale subprogramului divxy. Intervalul nchis determinat de a i b este [a,b] dac a<b sau [b,a] dac ba. Exemplu: pentru a=65, b=11 i n=140 tabloul va conine: 14 20 28 35 (6p.) 4. Fiierul bac.in conine pe prima linie un numr natural n (0<n<5000), iar pe a doua linie, separate prin cte un spaiu, n numere naturale, formate din cel mult 4 cifre fiecare. Scriei un program C/C++ care determin i scrie n fiierul bac.out, toate numerele, citite de pe a doua linie a fiierului bac.in, care apar de cel puin dou ori. Numerele determinate se vor scrie n ordine cresctoare, pe aceeai linie, separate prin cte un spaiu. Exemplu: dac fiierul bac.in conine pe prima linie num rul 11, iar pe linia a doua valorile 23 12 54 12 78 345 67 23 78 934 23 atunci fiierul bac.out va conine: 12 23 78 (10p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 051 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Fie x un numr natural cu exact 4 cifre. Care dintre urmtoarele instruciuni C/C++ determin, n urma executrii, eliminarea cifrei sutelor numrului memorat de variabila x? (4p.) b. x=x%1000*100+x/100; d. x=x/1000*100+x%100;

a. x=x%10+x/10+x/1000; c. x=x%1000+x%100+x%10;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.


citete x 2. Se consider algoritmul alturat descris n pseudocod. (numr natural nenul) S-a notat cu x%y restul mpririi num rului ntreg x la z 0 numrul ntreg nenul y i cu [a] partea ntreag a numrului repet real a. c x%10 a) Scriei ce valoare se va afia dac pentru x se citete dac c%20 atunci numrul 1234. (6p.) zz*10+c-1 b) Scriei o valoare format din exact 4 cifre, care poate altfel fi citit pentru variabila x, astfel nct algoritmul s zz*10+c afieze un num r format din toate cifrele lui x, dar n ordine invers. (4p.) x [x/10] pn cnd x = 0 c) Scriei n pseudocod un algoritm echivalent cu cel dat, scrie z n care s se nlocuiasc structura repetitiv cu test final cu o structur repetitiv cu test iniial. (6p.) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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 struct elev{ char nume[10],prenume[20]; folosit pentru a memora numele, float medie; prenumele i media unui elev. }p; Care dintre expresiile de mai jos are ca valoare prima liter a numelui unui elev ale crui informaii sunt memorate n variabila p? (4p.) p.nume[1] p.nume b. d. p.nume[0] nume[1]

a. c. 2. a. c.

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

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++) 3) i 4 coloane (numerotate de la 0 la 3), iar toate for (j=0;j<=3;j++) {a[i][j]=x; celelalte variabile sunt de tip ntreg. x=x+1;} Ce valoare va avea elementul a[1][3] dup executarea secvenei de instruciuni scris alturat? (6p.) Se consider arborele cu rdcin avnd 10 noduri, numerotate de la 1 la 10 dat prin vectorul Tata=(6, 0, 2, 2, 3, 3, 2, 7, 7, 9). Afiai rdcina i nodurile terminale ale arborelui. (6p.) Scriei un program C/C++ care citete de la tastatur un ir avnd maximum 30 de caractere i afieaz pe ecran mesajul DA n cazul n care irul conine numai litere i spaii, iar n caz contrar afiez mesajul NU. Exemplu: dac se citete de la tastatur irul: Ana, Bogdan au 18 ani. atunci programul va afia mesajul Nu. (10p.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 051 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este antetul corect al subprogramului cifre, care primete prin intermediul primului parametru, x, un numr natural i returneaz prin intermediul celui de-al doilea parametru, y, suma cifrelor numrului natural x? (4p.) b. int cifre(int x) a. void cifre(int x, int &y) d. int cifre(int &x, int y) c. void cifre(int x, int y)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider un numr natural nenul, x, avnd exact 8 cifre, distincte dou cte dou; printre cifrele sale se gsete i cifra 0. Permutnd cifrele lui x, se obin alte numere naturale. Cte dintre numerele obinute, inclusiv x, au exact 8 cifre? (6p.) Se consider subprogramul divizor, care primete prin intermediul primului parametru, a, un numr natural (1<a<10000) i returneaz cel mai mic divizor prim al numrului a. a) Scriei n limbajul C/C++ definiia complet a subprogramului divizor. (4p.) b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a doua linie n numere naturale mai mari dect 1, separate prin cte un spaiu, fiecare numr avnd maximum 4 cifre. Scriei un program C/C++ care citete toate numerele din fiierul date.in i afieaz pe ecran suma obinut adunnd, pentru fiecare dintre cele n numere citite de pe a doua linie din fiier, cel mai mic divizor prim. Se vor utiliza apeluri utile ale subprogramului divizor. Exemplu: dac fiierul date.in are coninutul alturat, se 6 va afia 20 (20=2+5+2+7+2+2). (6p.) 16 25 6 77 10 4 4. Se consider expresia E(x)=a0Xn + a1Xn-1 + a2Xn-2 +...+ an-1X +an. Scriei un program C/C++ care citete de la tastatur un numr natural n (n9), cele n+1 numere ntregi a0, a1, a2 ,, an-1, an , apoi o valoare ntreag x (-9x9). Programul calculeaz i apoi afieaz valoarea expresiei E(x). (10p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 052 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Crui interval i aparine valoarea memorat de variabila real x astfel nct expresia urmtoare, scris n limbajul C/C++, s aib valoarea 1? (x<=-2) || (x>-1) && !(x>=1) || (x>50) (4p.) b. (-,-2) (-1,50) a. (-,-2] (-1,1) (50, ) c. (-,-2) (-1,1] (50, ) d. (-,-2) (-1,1) (50, )

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete n pseudocod. (numr natural nenul) d 0 S-a notat cu x%y restul mpririi numrului ntreg x la c 0 numrul ntreg nenul y i cu [a] partea ntreag a pentru i1,n execut numrului real a. citete x Scriei care este valoarea afiat dac se citesc, a) (numr natural nenul) n aceast ordine, numerele 5, 12, 4, 13, 25, 17. ct timp x%2=0 execut (6p.) x [x/2]; d d+1 Scriei un ir de date de intrare ce pot fi citite b) astfel nct valoarea afiat s fie 4. (4p.) ct timp x%5=0 execut x [x/5]; c c+1 Scriei n pseudocod un algoritm echivalent cu cel c) dat, n care s se nlocuiasc structura repetitiv pentru... execut cu o structur repetitiv dac c<d atunci cu test final. (6p.) scrie c Scriei programul C/C++ corespunztor altfel d) algoritmului dat. (10p.) scrie d

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

Subiectul I

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.) m=(x.nota1+x.nota2)/2; x.m=(x.nota1+x.nota2)/2; b. d. m=(nota1+nota2)/2; m=(x,nota1+x,nota2)/2;

a. c. 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.) 2 b. 4 c. 1 d. 3

a.

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++) 3) i 4 coloane (numerotate de la 0 la 3), iar toate for (j=0;j<=3;j++) 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 scrise alturat? (6p.) Se consider o stiv n care inial au fost introduse, n aceast ordine, valorile 1, 2, 3 ca n desenul alturat. Operaia prin care se adaug elementul a n stiv s-a notat cu Push a iar operatia prin care se extrage un element din stiv s-a notat cu Pop. Reprezentai, dup modelul din figura alturat, coninutul stivei dup fiecare dintre operaiile care urmeaz: Push 4, Pop, Pop, Push 5. (6p.) Scriei un program C/C++ care citete de la tastatur o fraz avnd maximum 100 de caractere, n care cuvintele sunt separate prin cte un spaiu; programul construiete n memorie i afieaz pe ecran un ir ce conine doar primul caracter al fiecruia dintre cuvintele frazei, n ordinea n care acestea apar n fraz, ca n exemplu. Exemplu: dac se citete fraza Ana sustine bacalaureatul la informatica atunci se va afia Asbli (10p.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 052 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking, se genereaz n ordine lexicografic toate anagramele cuvntului caiet ( cuvinte formate din aceleai litere, eventual n alt ordine). Cte cuvinte vor fi generate? (4p.) b. 100 a. 60 c. 200 d. 120

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce long f(unsigned int n) valoare are f(4)? Dar f(100)? (6p.) { if (n==0) return 0; else return n+f(n-1); } 3. Subprogramul dist primete prin intermediul parametrului a un numr natural cu maximum 8 cifre i returneaz 1 dac cifrele numrului a sunt distincte, altfel returneaz 0. a) Scriei definiia complet a subprogramului dist. (4p.) b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a doua linie n numere naturale, separate prin cte un spaiu, fiecare numr avnd maximum 8 cifre. Scriei un program C/C++ care citete toate numerele din fiier i afieaz pe ecran, desprite prin cte un spaiu, numerele de pe a doua linie a fiierului date.in, ce au toate cifrele distincte, folosind apeluri utile ale subprogramului dist. n cazul n care nu exist niciun astfel de numr se va afia, pe ecran, valoarea 0. Exemplu: dac fiierul date.in are coninutul 6 16 1775 333 242477 123 55566 alturat, atunci se vor afia numerele: 16 123 (6p.) 4. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n100) i apoi n numere naturale, de maximum 4 cifre fiecare, reprezentnd elementele unui tablou unidimensional. Programul afieaz mesajul Da n cazul n care elementele tabloului pot fi rearanjate astfel nct s formeze o progresie aritmetic, iar n caz contrar afieaz mesajul Nu. Exemplu: dac n=6 i tabloul unidimensional are 5 10 30 15 25 20 coninutul alturat, atunci se va afia Da. (10p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 053 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Fie x o variabil care memoreaz un numr natural. Care dintre urmtoarele expresii C/C++ are valoarea 0 dac i numai dac numrul memorat de x nu este divizibil cu 3? (4p.) b. (1-x%3)+(2-x%3) d. 3-x%3

a. x%3 c. (1-x%3)*(2-x%3)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. S-a notat cu x%y restul mpririi numrului ntreg x la numrul ntreg nenul y i cu [a] partea ntreag a numrului real a. a) b) Scriei care este valoarea ce se va afia dac pentru x se citete numrul 1234. (6p.) Scriei o valoare format din exact 4 cifre, care poate fi citit pentru variabila x, astfel nct algoritmul s afieze valoarea 0. (4p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura repetitiv cu test final cu o structur repetitiv cu test iniial. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) citete x (numr natural nenul) z0 P1 repet cx%10 dac c%20 atunci zz+c*p pp*10 x[x/10] pn cnd x = 0 scrie z

c)

d)

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

Subiectul I

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.) 7 b. 3 c. 9 d. 8

a. 2. a. c.

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.) 2, 3, 1, 1, 1 1, 0, 1, 1, 1, 1 b. d. 2, 2, 6, 5, 1 1, 1, 0, 2, 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? x=0; 1 2 3 4 2 for (i=1;i<=5;i++) 6 7 8 9 4 if(a[i][i]%2!=0) 1 2 0 4 3 x=x+a[i][6-i]; 7 2 1 4 5 cout<<x; | printf(%d,x); 1 2 3 4 5 (6p.) Se consider arborele din figura alturat. Care este vectorul Tata pentru acest arbore? Care sunt descendenii nodului 3? (6p.)

4.

5.

Scriei un program C/C++ care citete de la tastatur 4 numere naturale nenule m, n, x i y (2<m10, 2<n20, 1x10, 1y10) i elementele unui tablou bidimensional a cu m linii, numerotate de la 1 la m, si n coloane, numerotate de la 1 la n; programul interschimb elementele tabloului bidimensional de pe linia x cu cele de pe linia y. Tabloul bidimensional astfel obinut se va afia pe ecran, cte o linie a tabloului pe cte o linie a ecranului, cu un spaiu ntre elementele fiecrei linii. se va afia matricea Exemplu: pentru m=4, n=3, x=1, y=3 i matricea

(10p.)

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 053 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Subprogramul f realizeaz interschimbarea valorilor a dou variabile ntregi transmise prin intermediul parametrilor x i y. Care este antetul corect al subprogramului f? (4p.) void f(int &x, int &y) int f(int x,int y) b. a. c. void f(int x, int &y) d. void f(int &x, int y)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, int f(unsigned int n) definit alturat. Ce valoare are { if (n==0) return 0; else if (n%2==0) f(2138)? Dar f(513)? (6p.) return n%10+f(n/10); else return f(n/10); } 3. Se consider subprogramul cmmdc, care primete prin intermediul a doi parametri, a i b, dou numere naturale nenule, cu maximum 8 cifre fiecare, i returneaz cel mai mare divizor comun al valorilor parametrilor a i b. a) Scriei numai antetul subprogramului cmmdc. (4p.) b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a doua linie un ir format din n numere naturale nenule, separate prin cte un spaiu, fiecare numr avnd maximum 8 cifre. Scriei un program C/C++ care citete toate numerele din fiierul text date.in i afieaz pe ecran numrul perechilor de elemente aflate pe poziii consecutive n irul format cu elementele situate pe a doua linie a fiierului, care sunt prime ntre ele, folosind apeluri utile ale subprogramului cmmdc. Exemplu: dac fiierul date.in are coninutul alturat, se va 7 afia 4 pentru c pechile (16,25), (12,7), (7,4), (4, 5) 16 25 15 12 7 4 5 sunt formate din numere prime intre ele. (6p.) 4. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n<=100), apoi n numere naturale reprezentnd elementele unui tablou unidimensional, i afieaz pe ecran toate permutrile circulare, cu o poziie ctre stnga, ale elementelor tabloului. Elementele fiecrei permutari se vor afia pe cte o linie, separate prin cte un spaiu. Exemplu: dac n=4 i tabloul unidimensional are coninutul 10 20 30 49 alturat, atunci se vor afia: 10 20 30 49 20 30 49 10 30 49 10 20 49 10 20 30

(10p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 054 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Crui interval i aparine valoarea memorat de variabila real x astfel nct expresia urmtoare, scris n limbajul C/C++, s aib valoarea 1? !((x<=1) || (x>50)) (4p.) b. (-,1] (50, ) d. (1,50]

a. (1,50) c. [1,50)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete n (numr natural nenul) 2. Se consider algoritmul alturat, descris n pseudocod. s 0 S-a notat cu x%y restul mpririi numrului ntreg x ct timp n>0 execut la numrul ntreg nenul y i cu [a] partea ntreag cn%10 a numrului real a. dac c%2=0 atunci a) Scriei care este valoarea afiat dac se p1 citete numrul 1234. (6p.) pentru i2,c execut pp*i b) Scriei un numr natural, de exact 4 cifre, care poate fi citit pentru variabila n, astfel ss+p nct valoarea afiat s fie 0. (4p.) n[n/10] c) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura repetitiv pentru...execut cu o scrie s structur repetitiv cu test final. (6p.) d) Scriei programul algoritmului dat. C/C++ corespunztor (10p.)

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

Subiectul I

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.) 90 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. 2.

a.

b.

c.

d.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n secvena alturat, variabila x strcpy(x,bac2008); memoreaz un ir de caractere, iar toate k1=strlen(x); k2=0; celelalte variabile sunt de tip ntreg. Ce valori au variabilele k1 i k2 dup for (i=0;i<strlen(x);i++) if( x[i]>=0 && x[i]<=9) executarea secvenei de instruciuni k2=k2+1; alturate? (6p.) Consideram urmtoarele declarri: int a[10][10],i,k; Ce valoare are variabila k dup executarea k=0; secvenei de instruciuni alturate, dac a for(i=0;i<=9;i++) memoreaz elementele unui tablou if((1-a[i][i]%3)*(2-a[i][i]%3)==0)) k++; bidimensional cu 10 linii (numerotate de la 0 la 9) i 10 coloane (numerotate de la 0 la 9), ce are pe fiecare linie n ordine cresctoare numerele 1, 2, ..., 10 ? (6p.) 5. Scriei un program C/C++ care citete de la tastatur un numr natural n (3n10) i un numr natural x, cu exact 2 cifre, i care construiete n memorie un tablou bidimensional cu n linii (numerotate cu numere de la 1 la n) i n coloane (numerotate cu numere de la 1 la n), ce are elementele de pe liniile de rang impar egale cu prima cifr a numrului x i elementele de pe liniile de rang par egale cu ultima cifr a numrului x. Tabloul bidimensional se va afia pe ecran, cte o linie a tabloului pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. Exemplu: dac se citesc de la tastatur n=4 i x=13 atunci se 1 1 1 1 afieaz tabloul bidimensional alturat. (10p.) 3 3 3 3 1 1 1 1 3 3 3 3
Subiectul II

4.

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

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

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 054 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz n ordine lexicografic toate anagramele cuvntului caiet ( cuvinte formate din aceleai litere, eventual n alt ordine). Care este a asea soluie? (4p.) b. actie a. catei c. actei d. catie

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, int f(int n, int x) definit alturat. Ce valoare are { f(97,2)? Dar f(175,2)? (6p.) if (n<=1) return 0; else if (x<=n/2) if (n%x==0) return 0; else return f(n,x+1); else return 1; } 3. Se consider subprogramul pal, care primete prin intermediul primului parametru, a, un numr natural, cu minimum 2 cifre i maximum 8 cifre, i furnizeaz prin intermediul celui de-al doilea parametru, b, cel mai apropiat numr de valoarea lui a, care este palindrom. n cazul n care exist 2 astfel de numere, subprogramul va returna numrul mai mic. Un numr natural x este palindrom dac este egal cu numrul obinut prin scrierea cifrelor lui x n ordine invers. Exemplu: dac a=16, atunci dup apel b=11; dac a=126, atunci dup apel b=121; dac a=33, atunci dup apel b=33. a) Scriei definitia complet a subprogramului pal. (4p.) b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a doua linie n numere naturale nenule, separate prin cte un spaiu, fiecare numr avnd minimum 2 cifre i maximum 8 cifre. Scriei un program C/C++ care citete toate numerele din fiierul text date.in i afieaz pe ecran, desprite prin cte un spaiu, pentru fiecare dintre cele n numere, cel mai apropiat numr palindrom, folosind apeluri utile ale subprogramului pal. Exemplu: dac fiierul date.in are coninutul alturat, atunci 4 se vor afia numerele: 11 1771 333 191 (6p.) 16 1775 333 190 4. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n<=100) i apoi cele n numere naturale nenule, de maximum 4 cifre, reprezentnd elementele unui tablou unidimensional v (cu indici de la 1 la n) i afieaz cte dintre elementele vi (2in-1) sunt egale cu suma celor dou elemente vecine. n cazul n care nu exist niciun astfel de element n tabloul v, se va afia valoarea 0. Exemplu: dac n=7 i tabloul unidimensional v are 10 25 15 45 30 2 1 coninutul alturat, atunci se va afia valoarea 2 (deoarece 25=10+15, 45=15+30). (10p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 055 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii echivalent cu cea scris alturat? C/C++ este (4p.) !((x>=5)&&(x<10))

a. (x<5) || (x>=10) c. (!(x>=5)) && (!(x>10))

b. (x<5) || (x>10) d. (x>=5) || (x<10)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului ntreg x la numrul ntreg nenul y. a) Scriei care este valoarea afiat dac se citesc, n aceast ordine, valorile: 5, 12, 22, 1232, 3, 563. (6p.) Scriei un set de valori ce trebuie citite astfel nct valoarea afiat s fie 4. (4p.) Scriei n pseudocod un algoritm echivalent cu algoritmul dat, n care s se nlocuiasc structura repetitiv pentru...execut cu o structur repetitiv cu test final. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) citete n (numr natural nenul) citete a (numr natural) k0 pentru i2,n execut citete b (numr natural) dac a%10=b%10 atunci kk+1 ab scrie k

b) c)

d)

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

Subiectul I

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 struct punct{ int x,y; instruciuni este corect din punct de vedere sintactic? } p; (4p.) p->y=p->y+1; p.x=7; b. d. p=9; p=p+1;

a. c. 2.

Variabila n memoreaz un numr natural nenul. Care este numrul total de grafuri orientate distincte care se pot forma cu aceste noduri? Dou grafuri orientate sunt distincte dac matricele lor de adiacen sunt diferite. (4p.)

a. c.

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

b. d.

3n*(n-1)/2 2n*(n-1)/2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. for (i=0;i<=8;i++) if( a[i][9-i]<a[i+1][8-i]) int i,aux,a[10][10]; {aux=a[i][9-i]; a[i][9-i]=a[i+1][8-i]; Ce valori se afieaz n urma executrii a[i+1][8-i]=aux;} secvenei alturate dac liniile i coloanele cout<<a[0][9]<< <<a[9][0]; tabloului bidimensional sunt numerotate de la |printf(%d %d,a[0][9],a[9][0]); 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.) Se consider o coad n care inial au fost introduse, n aceast ordine, valorile 1, 2, 3 ca n desenul alturat. Operaia prin care se adaug valoarea a n 1 coad s-a notat cu ADD a, iar operatia prin care se extrage un element din coad s-a notat cu EL. Reprezentai coada, ca n modelul alturat, dup fiecare dintre operaiile: ADD 4, EL, ADD 5. (6p.) Considerm urmtoarele declarri:

4.

5.

Scriei un program C/C++ care citete de la tastatur un ir format din maximum 100 caractere, construiete n memorie i afieaz un nou ir de caractere obinut din irul iniial prin eliminarea tuturor caracterelor care nu sunt caractere cifr. n cazul n care noul ir are lungimea 0 se va afia mesajul ir vid. Exemplu: dac se citete de la tastatur irul de caractere. Ana are 17 ani . atunci irul cerut este: 17 (10p.)

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 055 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz toate matricele ptratice de ordinul 4 ale cror elemente aparin mulimii {0,1}, cu proprietatea c pe fiecare linie i pe fiecare coloan exist o singur valoare 1. Primele 4 soluii generate sunt, n aceast ordine: 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 (4p.) c. 0 0 1 0 d. 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1

1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 Care este a opta soluie? a. 0 1 0 0 b. 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit int f(unsigned int n) alturat. Ce valoare are f(5)? { if (n>20) return 0; else return 5+f(n+5); Dar f(40)? (6p.) } 3. Se consider subprogramul cifre, care primete prin intermediul primului parametru, a, un numr natural cu maximum 8 cifre nenule i returneaz, prin intermediul celui de-al doilea parametrul b, cel mai mic numr care se poate forma cu toate cifrele lui a. a) Scriei definiia complet a subprogramului cifre. (4p.) b) Se consider fiierul text date.in ce conine pe prima linie un numr natural nenul n (n100), iar pe a doua linie n numere naturale, separate prin cte un spaiu, fiecare numr avnd maximum 8 cifre nenule. Scriei un program C/C++ care citete toate numerele din fiierul text date.in i afieaz pe ecran, desprite prin cte un spaiu, numerele situate pe a doua linie a fiierului, formate numai din cifre ordonate cresctor, folosind apeluri utile ale subprogramului cifre. n cazul n care nu exist niciun astfel de numr se va afia valoarea 0. Exemplu: dac fiierul date.in are coninutul alturat, 6 atunci se vor afia numerele: 16 333 269 (6p.) 16 175 333 242477 321 269 4. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n100) i 2*n numere naturale de maximum 3 cifre; primele n reprezint elementele tabloului unidimensional a, iar urmtoarele n elementele tabloului unidimensional b; fiecare tablou are elementele numerotate ncepnd de la 1. Programul construieste n memorie i afieaz pe ecran cele n elemente ale unui tablou unidimensional c, n care orice element ci (1in) se obine conform definiiei urmtoare: ci = ai concatenat cu bi, dac ai<bi bi concatenat cu ai, altfel Exemplu: dac n=3 i tablourile a i b au coninutul a : (12, 123, 345) alturat, atunci coninutul tabloului c este urmtorul: b: (1, 234, 15) 112 123234 15345 (10p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 056 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele ntregi x i y memoreaz cte un numr natural nenul. Cel mai mic multiplu comun al valorilor lor este egal cu num rul memorat n y dac i numai dac urmtoarea expresie C/C++ are o valoare nenul: (4p.) b. y%x==0 c. x%y d. x%y==0

a. y%x

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete n (numr natural) r 0 S-a notat cu [x] partea ntreag a numrului real x i cu a%b repet restul mpririi numrului ntreg a la numrul ntreg nenul b. r(r*10+n%10)*10 a) Scriei valoarea care se va afia pentru n=8291. (6p.) n[n/100] pn cnd n<10 b) Scriei o valoare care poate fi citit pentru variabila n astfel scrie r nct numrul afiat s fie 7080. (4p.) c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) 2. Se consider algoritmul alturat, descris n pseudocod:

d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura repet...pn cnd cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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.) float x[3][21]; struct persoana{ char nume[21],prenume[21]; int sal;} x; b. d. int x[3][21]; struct persoana[ char nume[21],prenume[21]; int sal;] x;

a. c.

2. a.

Dac G este un graf neorientat cu 4 noduri, atunci numrul maxim de muchii pe care le poate avea graful este: (4p.) 5 b. 4 c. 3 d. 6

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 i 2 astfel nct: elementele aflate pe primele k coloane sunt egale cu 1, iar elementele aflate pe ultimele n-k coloane sunt egale cu 2 ca n exemplul de mai jos. Programul afieaz pe ecran matricea construit, fiecare 1 1 1 2 2 linie a matricei pe o linie a ecranului i elementele de pe 1 1 1 2 2 aceeai linie separate prin cte un singur spaiu. 1 1 1 2 2 Exemplu: pentru n=5, k=3 se construiete n memorie i se 1 1 1 2 2 afieaz matricea alturat. (10p.) 1 1 1 2 2

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 056 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz toate numerele naturale cu exact 2 cifre nenule. Cte numere se vor genera n total? (4p.) a. 100 b. 81 c. 90 d. 9

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce valoare are f(20)? (6p.) int f(int n) { if(n==0)return 0; return 1+f(n/2); }

3.

Fiierul text numere.txt conine, pe o singur linie, cel mult 1000 de numere naturale nenule de cel mult patru cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un program C/C++ care citete toate numerele din fiier i scrie n fiierul text pare.txt toate numerele pare citite, n ordinea n care acestea apar n fiierul numere.txt. Dac fiierul numere.txt nu conine niciun numr par, atunci n fiierul pare.txt se va scrie mesajul nu exista. Exemplu: numere.txt pare.txt 2 3 1 4 7 2 5 8 6 2 4 2 8 6 (10p.) Se consider subprogramul numar, care: primete prin intermediul parametrului, x, un numr natural nenul de cel mult 4 cifre; furnizeaz prin intermediul parametrului nrp numrul de numere prime mai mici sau egale cu x. a) Scriei numai antetul subprogramului numar. (4p.) b) Scriei declarrile de date i programul principal C/C++ n care se citesc de la tastatur dou numere naturale nenule de cel mult 4 cifre, a i b, i prin apeluri utile al subprogramului numar se verific dac intervalul determinat de a i b conine cel puin un numr prim. Programul va afia pe ecran n caz afirmativ mesajul DA, iar n caz contrar mesajul NU. Prin intervalul determinat de a i b se nelege intervalul [a,b] dac a<b i [b,a] n caz contrar. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 057 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele ntregi x i y memoreaz numere naturale nenule. Care dintre urmtoarele expresii C/C++ este nenul dac i numai dac numrul obinut prin nsumarea valorilor variabilelor x i y are ultima cifr 0? (4p.) b. y%10==x%10 d. (x%10+y%10)%10==0

a. x%10+y%10==0 c. x+y%10==0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod: S-a notat cu a%b restul mpririi numrului ntreg a la numrul ntreg nenul b i cu [x] partea ntreag a numrului real x. a) b) c) d) Scriei valoarea care se va afia pentru n=20. (6p.) Scriei o valoare care poate fi citit pentru variabila n astfel nct numrul afiat s fie 9. (4p.) Scriei programul algoritmului dat. C/C++ corespunztor (10p.) citete n (numr natural) q 1 i 1 ct timp i<[n/i] execut dac n%i=0 atunci qq+i ii+3 scrie q

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

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

Subiectul I

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; Care dintre urmtoarele afirmaii este adevrat pentru orice graf neorientat G cu 3 noduri i 3 muchii? (4p.) este conex nu poate avea cicluri b. d. are dou noduri izolate are un nod izolat

a. b. c. d. 2. a. c.

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 dou numere naturale n i a (2<n<25, 0<a<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 i 2 astfel nct: elementele aflate pe linia a sunt egale cu 0, cele de deasupra liniei a sunt egale cu 1, iar elementele aflate sub linia a sunt egale cu 2 ca n exemplul de mai jos. Programul afieaz pe ecran matricea construit, fiecare linie a 1 1 1 1 1 matricei pe o linie a ecranului i elementele de pe aceeai linie 1 1 1 1 1 separate prin cte un singur spaiu. 1 1 1 1 1 Exemplu: pentru n=5, a=4 se construiete n memorie i se afieaz 0 0 0 0 0 matricea alturat. (10p.) 2 2 2 2 2

4. 5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 057 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz metoda backtracking pentru a genera cuvintele de cte patru litere distincte din mulimea {d,a,n,s}. tiind c primul cuvnt generat este dans, iar al doilea este dasn, care va fi al treilea cuvnt obinut? (4p.) a. dnas b. dsan c. dnsa d. dsna

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce se va afia la apelul f(38);? (6p.) void f(int x) { if(x) { f(x/3); printf("%d",x%3+1);| cout<<x%3+1; } }

3.

Fiierul text INTRARE.TXT conine pe prima linie o valoare natural n (1<n<100), iar pe a doua linie, separate prin cte un spaiu, n numere reprezentnd cele n elemente ale unui tablou unidimensional a. Fiecare dintre aceste numere are cel mult patru cifre. Scriei un program C/C++ care scrie n fiierul text IESIRE.TXT toate valorile obinute ca sum a tuturor perechilor (ai, aj), 1i<jn. Exemplu: dac fiierul INTRARE.TXT are urmtorul coninut: 4 1 4 3 2 atunci fiierul IESIRE.TXT va avea urmtorul coninut: 5 4 3 7 6 5 (10p.) Se consider subprogramul multiplu, cu doi parametri, care: primete prin intermediul parametrilor a i k dou numere ntregi de cel mult 4 cifre; returneaz cel mai mic multiplu al lui k mai mare sau egal cu a. a) Scriei numai antetul funciei multiplu. (4p.) b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur trei numere naturale nenule x, y, z, de cel mult 4 cifre fiecare, (xy), i care, prin apeluri utile ale subprogramului multiplu, verific dac intervalul [x,y] conine cel puin un multiplu al lui z. Programul va afia pe ecran, n caz afirmativ, mesajul DA, iar n caz contrar mesajul NU. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 058 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. tiind c variabila ntreag n memoreaz un numr natural cu cel puin 3 cifre, care dintre urmtoarele expresii C/C++ are ca valoare numrul obinut dup eliminarea ultimelor 2 cifre ale lui n? (4p.) b. n%10 c. n/100 d. n/10%10

a. n%10/10

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod: S-a notat cu [x] partea ntreag a numrului real x i cu a%b restul mpririi numrului ntreg a la numrul ntreg nenul b. a) b) c) d) Scriei valoarea care se va afia pentru n=53. (6p.) citete n (numr natural) q 1 ct timp n>0 execut dac n%5=0 atunci qq*10 altfel qq*10+1 n[n/5] scrie q

Scriei o valoare care poate fi citit pentru variabila n astfel nct numrul afiat s fie 1001. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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.) struct carte { float nr,titlu; } t; struct carte{ char nr; int titlu; } t; b. struct carte{ int nr; char titlu[21]; } t; struct carte{ long nr,titlu; } t;

a.

c.

d.

2. a.

Dac G este un graf neorientat cu 4 noduri i 2 muchii, atunci numrul maxim de componente conexe pe care le poate avea graful este: (4p.) 1 b. 2 c. 3 d. 4

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 (litere mici i mari ale alfabetului englez, cifre i spaii), determin i afieaz pe ecran numrul de caractere din irul citit care sunt litere mici ale alfabetului englez. Exemplu: dac se citete irul: Voi lua 9 la matematica si 10 la informatica, atunci se va afia: 32. (10p.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 058 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz metoda backtracking pentru a genera cuvintele de cte trei litere distincte din mulimea {i,n,f,o}. tiind c primul cuvnt generat este inf, iar al doilea este ino, care va fi al treilea cuvnt obinut? (4p.) a. ino b. ifo c. ifn d. ion

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce valoare are f(3713)? (6p.) int f(int n){ if(n==0) return 0; return f(n/10)*10+1; }

3.

Fiierul text bac.txt conine, pe o singur linie, cel puin 2 i cel mult 100 de numere naturale nenule distincte de cel mult 4 cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un program C/C++ care citete numerele din fiier i scrie pe ecran, n ordine cresctoare, cele mai mici 2 numere dintre cele citite. Exemplu: dac fiierul bac.txt conine numerele: 1017 48 310 5710 162 atunci se va afia: 48 162 (10p.) Se consider subprogramul divizor, care: primete prin intermediul parametrului a un numr natural strict mai mare dect 1, de cel mult 4 cifre; furnizeaz prin intermediul parametrului d cel mai mare divizor al lui a strict mai mic dect a. a) Scriei numai antetul subprogramului divizor. (4p.) b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur un numr natural nenul x, de cel mult 4 cifre i, prin apeluri utile ale subprogramului divizor, verific dac x este numr prim. Programul va afia pe ecran n caz afirmativ mesajul DA, iar n caz contrar mesajul NU. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 059 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Fiecare dintre variabilele ntregi x, y i t memoreaz cte un numr natural de cel mult 4 cifre. tiind c x<y, care dintre urmtoarele expresii C/C++ este egal cu 1 dac i numai dac numrul memorat de variabila t aparine intervalului nchis [x,y]? (4p.) b. (t>=x) && (t<=y) d. (t<x) || (t>y)

a. (t<x) && (t>y) c. (t>=x) || (t<=y)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod: S-a notat cu [x] partea ntreag a numrului real x i cu a%b restul mpririi numrului ntreg a la numrul ntreg nenul b. a) b) c) d) Scriei valoarea care se va afia pentru n=76261. (6p.) Scriei o valoare care poate fi citit pentru variabila n astfel nct numrul afiat s fie 6. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) citete n (numr natural) repet n[(n%100)/10]+[n/10] pn cnd n<10 scrie n

Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura repet...pn cnd cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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. a. c. 2. a. c. 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.) strlen(s)<10 leng(s)<10 b. d. strlen(s,10)<0 s-0<10

Care dintre urmtoarele afirmaii este adevrat? Orice graf neorientat cu 4 noduri i 4 muchii : (4p.) are gradele tuturor nodurilor numere pare este conex b. d. nu are cicluri este arbore

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.) Fie a o variabil care memoreaz o matrice cu 10 linii i 10 coloane numerotate de la 1 la 10, iar i i j dou variabile de tip int ale cror valori sunt cuprinse ntre 1 i 10. Scriei o expresie n limbajul C/C++ care s fie nenul dac i numai dac a[i][j] se afl pe penultima linie a matricei a. (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 059 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz metoda backtracking pentru a genera toate cuvintele care conin toate literele din mulimea {i,n,f,o}, astfel nct fiecare liter s apar exact o dat ntr-un cuvnt. tiind c primul cuvnt generat este info, iar al doilea este inof, care va fi al treilea cuvnt obinut? (4p.) a. ionf b. inof c. ifon d. ifno

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce valoare are f(8261)? (6p.) int f(int a) { if(a<10) return 7; return f(a/100)*10+8; }

3.

Fiierul text bac.txt conine, pe o singur linie, cel puin 2 i cel mult 100 de numere naturale nenule distincte de cel mult 4 cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un program C/C++ care citete toate numerele din fiier i scrie pe ecran ultima cifr a produsului celor mai mari dou numere dintre cele citite. Exemplu: dac fiierul bac.txt conine numerele: 1017 48 312 5742 162 atunci se va afia: 4 (ultima cifr a produsului numerelor 1017, 5742) (10p.) Se consider subprogramul divizor, care: primete prin intermediul parametrului a un numr natural nenul de cel mult 4 cifre, strict mai mare ca 1; furnizeaz prin intermediul parametrului d, cel mai mic divizor al lui a strict mai mare dect 1. a) Scriei numai antetul subprogramului divizor. (4p.) b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur un numr natural x (x>1), i, prin apeluri utile ale subprogramului divizor, verific dac x este numr prim. Programul va afia pe ecran, n caz afirmativ, mesajul DA, iar n caz contrar mesajul NU. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 060 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Fiecare dintre variabilele ntregi x, y i t memoreaz cte un numr natural de cel mult 4 cifre. tiind c x<y, care dintre urmtoarele expresii C/C++ este egal cu 1 dac i numai dac numrul memorat de variabila t nu aparine intervalului deschis (x,y)? (4p.) b. (t>x) || (t<y) d. (t>x) && (t<y)

a. (t<=x) || (t>=y) c. (t<=x) && (t>=y)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod: citete n (numr natural) S-a notat cu [x] partea ntreag a numrului real x i cu a%b c10 ct timp n%2=1 execut restul mpririi numrului ntreg a la numrul ntreg nenul b. cn%10 Scriei valoarea care se va afia pentru n=32751. (6p.) n[n/10] a) b) Scriei o valoare care poate fi citit pentru variabila n scrie c astfel nct numrul afiat s fie 5. (4p.) c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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. a. c. 2. a. 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.) s-2==0 leng(s)%2 b. d. strlen(s,2)=0 strlen(s)%2==0

Dac G este un graf neorientat cu 4 noduri i 2 componente conexe, atunci graful are cel mult: (4p.) 4 muchii b. 2 muchii c. 3 muchii d. o muchie

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. Fiecare element a[i][j] (1i5, 1j5) din matrice memoreaz valoarea expresiei (i-1)*5+j. Care este valoarea sumei elementelor de pe ultima coloan 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 060 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz metoda backtracking pentru a genera toate cuvintele care conin toate literele din mulimea {i,n,f,o}, astfel nct fiecare liter s apar exact o dat ntr-un cuvnt; tiind c primul cuvnt generat este info, iar al doilea este inof, care este ultimul cuvnt obinut? (4p.) b. oinf c. onif d. ofin a. ofni

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce valoare are f(23)? (6p.) int f(int x) { if(x%2==0) return 0; return 1+f(x/2); }

3.

Fiierul text bac.txt conine, pe o singur linie, cel mult 100 de numere naturale nenule de cel mult 4 cifre fiecare, numerele fiind ordonate cresctor i separate prin cte un spaiu. Scriei un program C/C++ care citete de la tastatur un numr natural x de cel mult 4 cifre i verific dac x se afl n fiierul bac.txt. n caz afirmativ, se va afia pe ecran mesajul DA, altfel se va afia mesajul NU. Exemplu: dac x=312, iar fiierul bac.txt conine numerele: 17 48 312 5742 8692 atunci se va afia: DA ; dac x=20, iar fiierul bac.txt conine numerele: 17 48 312 5742 8692 atunci se va afia: NU. (10p.) Se consider subprogramul radical, care: primete prin intermediul parametrului a, un numr natural nenul de cel mult 4 cifre; furnizeaz prin intermediul parametrului x cel mai mare numr natural cu proprietatea c x2 este mai mic sau egal cu a; de exemplu, dac a=20, subprogramul va furniza prin x valoarea 4. a) Scriei numai antetul subprogramului radical. (4p.) b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur un numr natural nenul de cel mult 4 cifre, n, i prin apeluri utile ale subprogramului radical, verific dac n este ptrat perfect. Programul va afia pe ecran n caz afirmativ mesajul DA, iar n caz contrar mesajul NU. (6p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 061 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele ntregi x i y memoreaz dou numere naturale cu cel mult 4 cifre fiecare. Care dintre expresiile de mai jos are valoarea 1, dac i numai dac valoarea memorat de x aparine intervalului [10,100] i valoarea memorat de y aparine intervalului [5,30]? (4p.) b. (x<=100 && x>=10) && (y<5 && y<=30) d. !((x>100 || x<10) || (y<5 || y>30))

a. (x<=100 && x>10) && (y>=5 || y<30) c. (x<=100 && x>=10)|| (y>=5 && y<=30)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete a,b 2. Se consider algoritmul alturat, descris n pseudocod. (numere naturale care au S-a notat cu x%y restul mpririi numrului natural x la acelai numr de cifre ) numrul natural nenul y i cu [z], partea ntreag a n 0 numrului real z. ct timp ab execut xa%10 a) Scriei ce valoare se va afia dac se citesc numerele yb%10 a=8231 i b=3074. (6p.) dac x<y atunci nn*10+x b) Scriei cte perechi de numere formate din cte o singur cifr pot fi citite pentru a i b (a>b), astfel altfel nn*10+y nct, de fiecare dat, valoarea afiat s fie nenul? (4p.) a[a/10] c) Scriei programul C/C++ corespunztor algoritmului b[b/10] dat. (10p.) scrie n Scriei n pseudocod un algoritm echivalent cu cel dat d) n care structura ct timp...execut s fie nlocuit cu o structur repetitiv cu test final. (6p.)

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

Subiectul I

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 de componente conexe ale grafului neorientat G, din desenul alturat? (4p.)

a. 2.

b.

c.

d.

Care vor fi valorile afiate char s1[20]=variabila, s2[20]=varianta; dup executarea secvenei if(strcmp(s1,s2)<0 && strlen(s1)<strlen(s2)) printf(%s %s,s1,s2); | cout<<s1<< <<s2; alturate, dac variabilele s1 else i s2 sunt de tip ir de printf(%s %s,s2,s1); | cout<<s2<< <<s1; caractere? (4p.) variabila varianta varianta variabila b. d. Variantavariabila variabila variabila

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Se consider un arbore cu rdcin, cu 100 noduri, numerotate de la 1 la 100. Care este numrul de muchii din arbore? (6p.) Se consider o stiv, iniial vid, n care s-au introdus n ordine valorile x,z,y i o coad, iniial vid, n care au fost introduse, n ordine, valorile a,b,c,d,e,f. Care va fi elementul din vrful stivei dac se extrag toate elementele din coad i se adaug n ordinea extragerii n stiv? (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 - 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. 0 0 Exemplu: pentru n=4 pe ecran se va afia: 27 0 9 18 0 0 6 9 0 (10p.) 3 1 2 3 4

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 061 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz, utiliznd metoda backtracking, toate modalitile de repartizare a n teme de proiecte, numerotate de la 1 la n, pentru m elevi (n<m), numerotai de la 1 la m, astfel nct fiecare tem s fie rezolvat de cel puin un elev. Care este numrul total de soluii generate pentru m=3 i n=2, dac primele 3 soluii generate sunt, n ordine, 1 1 2, 1 2 1, 1 2 2? O soluie este scris sub forma t1, t2, ...,tm, unde ti reprezint tema (4p.) repartizat elevului i (1im, 1tin). 12 6 4 8 b. c. d. a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce int f(int x) valoare are f(456)? (6p.) {if(x>=1) return f(x-1)+1; else return 0;} Subprogramul cifra primete prin parametrul x un numr real nenul pozitiv i furnizeaz prin parametrul y valoarea cifrei unitilor prii ntregi a lui x. Exemplu: dac x=34.567, dup apel y=4. a) Scriei definiia complet a subprogramului cifra. (10p.) b) Fiierul text medii.txt conine cel mult 600 de linii. Pe fiecare linie se afl, separate printr-un spaiu, dou numere reale, cu cel mult dou zecimale, din intervalul [1,10], care reprezint media pe semestrul 1, respectiv media pe semestrul al 2-lea, ale cte unui elev. n situaiile statistice pe care coala le realizeaz, fiecare medie este ncadrat ntr-una dintre urmtoarele categorii de medii: [3,3.99], [4,4.99], [5,5.99], [6,6.99], [7,7.99], [8,8.99], [9,10]. Scriei un program C/C++ care citete datele din fiier i afieaz pe ecran numrul elevilor care au media din semestrul al 2-lea n categoria imediat urmtoare categoriei creia i aparine media din semestrul 1. Ordinea categoriilor este cea din enumerarea de mai sus. n program se vor folosi apeluri utile ale subprogramului cifra. Se va utiliza un algoritm eficient din punctul de vedere al memoriei utilizate. Exemplu: dac fiierul medii.txt conine: 9.45 7.90 6.34 7.60 8.75 9.90 6.34 9.90 (6p.) pe ecran se afieaz: 2

3.

c) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 062 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Toate variabilele din secvena de instruciuni if (a>b) { aux=a;a=b; b=aux;} C/C++ alturat sunt ntregi. Care dintre for(i=a;i<=b;i++) urmtoarele afirmaii este adevarat? (4p.) printf(%d,i); | cout<<i; b. Secvena conine o instruciune alternativ urmat de o instruciune repetitiv. d. Secvena conine o instruciune alternativ inclus ntr-o instruciune repetitiv.

a. Secvena conine o instruciune repetitiv inclus ntr-o instruciune alternativ. c. Secvena conine o instruciune alternativ, urmat de o instruciune repetitiv, urmat de o instruciune de afiare.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. algoritmul alturat, descris n citete x (numr natural) auxx repet cx%10 x[x/10] t x dac c=0 atunci auxx ct timp t0 execut cc*10 t[t/10] xc+x scrie x pn cnd x=aux i c0

S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y, iar cu [z] partea ntreag a numrului real z. a) b) Scriei valorile care se afieaz dac se citete numrul x=1628. (6p.) Scriei o valoare cu minimum 4 cifre ce poate fi citit, astfel nct toate numerele afiate au o singur cifr nenul, celelalte fiind nule. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care structura ct timp...execut s fie nlocuit cu o structur repetitiv cu test final. (6p.)

c) d)

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

Subiectul I

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. c. 2.

Graful parial al lui G obinut prin b. eliminarea muchiei [5,2] este un arbore Cel mai lung lan, care conine numai d. noduri distincte, are lungimea 2

Graful nu conine cicluri Num rul nodurilor de grad par este egal cu numrul nodurilor de grad impar

Considernd declarrile alturate, care dintre struct cerc {float raza; urmtoarele referiri este corect din punct de vedere int x,y;}; sintactic ? (4p.) cerc c; cerc.x b. c.x c. c.cerc.x d. raza.x

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: 3. Se consider graful orientat G cu 6 vrfuri definit cu ajutorul listelor de adiacen alturate. Care este numrul de circuite distincte din graful G? Dou circuite sunt distincte dac difer prin cel puin un arc. (6p.) 4. 1: 2: 3: 4: 5: 6: 2 6 3 3 4 6 3

Se consider o stiv S1, iniial vid, n care s-au introdus n ordine valorile a,b,c,d i o alt stiv S2, iniial vid, n care au fost introduse, n ordine, valorile e,f,g,h. Care va fi elementul din vrful stivei S1 dac 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. (10p.) Exemplu: pentru textul: Pe ecran se va afia: Calculati valoarea expresiei a l c u t i v o r e x p s

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 062 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking pentru afiarea tuturor modalitilor de descompunere a unui numr natural nenul ca o sum de numere naturale nenule, pentru n=3, se obin n ordine soluiile: 1+1+1; 1+2; 3. Folosind aceeai metod pentru n=4, care este soluia generat imediat dup 1+1+2? (4p.) 1+3 1+2+1 1+1+1+1 2+2 b. c. d. a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Considerm subprogramul f, definit alturat. Ce se void f(int n) afieaz pe ecran la apelul f(4962);? (6p.) {int c; if(n!=0) {c=n%10; printf(%d,c);| cout<<c; f(n/10); printf(%d,c);| cout<<c; } } 3. Scriei un program C/C++ care afieaz pe ecran primii 20 de termeni impari ai irului lui Fibonacci (0,1,1,2,3,5,8,13,21,), cte 5 pe o linie. Termenii afiai pe aceeai linie a ecranului vor fi separai ntre ei prin cte un spaiu. (10p.) a) Fiierul date.in conine un ir de cel mult 10000 numere naturale (printre care cel puin un numr par i cel puin un numr impar), cu cel mult 2 cifre fiecare, separate prin cte un spaiu. Fiierul date.in conine.Scriei un program C/C++ care citete numerele din fiierul date.in i scrie n fiierul text date.out valorile distincte citite, separate prin cte un spaiu, respectndu-se regula: pe prima linie vor fi scrise numerele impare n ordine cresctoare, iar pe linia a doua numerele pare, n ordine descresctoare. Alegei o metod eficient din punctul de vedere al timpului de executare. Exemplu: dac pe prima linie a fiierului date.in se afl numerele: 75 12 3 3 18 75 1 3 atunci fiierul date.out va conine: 1 3 75 18 12 (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 063 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Considerm variabilele ntregi i i j. Care dintre urmtoarele secvene de instruciuni C/C++ determin afiarea pe ecran , n urma executrii, a succesiunii de cifre 55? (4p.) a. i=5; j=6; b. i=5; j=6; while(j>4){ while(j>4) printf(%d,i); | cout<<i; printf(%d,j); | cout<<j; j--; j--; } c. j=5; d. j=5; for(i=5;i<=5;i++) for(i=1;i<2;i++) printf(%d,i); | cout<<i; printf(%d,j); | cout<<j; Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) Scriei ce se afieaz dac n=3, d=2, iar valorile citite pentru x sunt, n ordine, 40, 19, 56. (6p.) Pentru n=3 i d=2, scriei 3 valori distincte care pot fi citite n ordine pentru x, astfel nct valorile afiate s fie 0 0. (4p.) Scriei programul algoritmului dat. C/C++ corespunztor (10p.) citete n, d (numere naturale nenule) b0 v0 pentru i1,n execut citete x (numr natural nenul) a 0 auxx ct timp x % d = 0 execut aa+1 x[x/d] dac a>b atunci b a vaux scrie v, ,b

b)

c) d)

Scriei un algoritm pseudocod echivalent cu cel dat n care structura ct timp...execut s fie nlocuit cu o structur repetitiv cu test final. (6p.)

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

Subiectul I

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. a. 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.) Nodurile 1,4 i 6 sunt frai. b. G este conex i prin eliminarea unei muchii oarecare din G, graful obinut nu este conex. Arborele G are 5 frunze.

c. 2.

Prin eliminarea muchiei [6,7] se obine d. un graf parial, conex.

Se consider un tablou bidimensional a, format din numere x=a[n][1]; naturale, cu n linii i n coloane, numerotate de la 1 la n. Ce for(i=n;i>=1;i--) if (x<a[i][n-i+1]) reprezinta valoarea variabilei x, dup executarea secvenei x=a[i][n-i+1]; de program alturate? (4p.) cel mai mare numr de pe diagonalele b. tabloului a cel mai mare numr de pe diagonala d. principal a tabloului a cel mai mare numr de pe diagonala secundar a tabloului a cel mai mare numr din tabloul a

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: 3. Care dintre vrfurile grafului orientat din figura alturat, au gradul interior un num r par? (6p.)

4.

Se consider variabilele s1 i s2 care memoreaz fiecare cte un ir de maximum 50 de caractere. Scriei secvena de instruciuni care afieaz cele dou iruri de caractere n ordinea cresctoare a lungimilor lor. (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 063 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz, prin metoda backtracking, toate partiiile mulimii A={1,2} obinndu-se urmtoarele soluii: {1}{2};{1,2}. Se observ c dintre acestea, prima soluie e alctuit din exact dou submulimi. Dac se folosete aceeai metod pentru a genera partiiile mulimii {1,2,3} stabilii cte dintre soluiile generate vor fi alctuite din exact dou submulimi. (4p.) b. 1 c. 3 d. 4 a. 2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Se consider subprogramul f, definit alturat. Ce valoare int f(int i) 2. are f(3)? (6p.) { if(i>=1) return f(i-1)+i; else return 0; } 3. Subprogramul verif primete prin singurul su parametru, x, un numr natural nenul cu cel mult 9 cifre i returneaz valoarea 1 dac numrul conine cel puin o secven de 3 cifre impare alturate i 0 n caz contrar. Exemplu: dac x=7325972 se va returna valoarea 1. a) Scriei definiia complet a subprogramului verif. (10p.) b) Fiierul text date.txt conine pe prima linie un numr natural nenul n cu cel mult 4 cifre i pe fiecare dintre urmtoarele n linii cte un numr natural, cu exact 6 cifre. Scriei un program C/C++ care citete numerele din fiierul date.txt i le afieaz pe ecran, separate prin cte un spaiu, numai pe acelea care au primele trei cifre impare. Se vor utiliza apeluri utile ale subprogramului verif. Dac nu exist niciun numr cu aceast proprietate, se va afia pe ecran mesajul nu. Alegei o metod eficient din punctul de vedere al memoriei utilizate. Exemplu: dac fiierul date.txt conine numerele alturate, pe ecran 3 se afieaz: 133579 133579 973314 (6p.) 345796 973314 c) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 064 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila ntreag a memoreaz un numr natural format din exact trei cifre, toate cifrele fiind nenule i distincte. Care dintre urmtoarele instruciuni C/C++ atribuie variabilei e suma cifrelor lui a? (4p.) a. c. e=a%10/10+a/100%10+a%10; e=a*10/1000+a/10%10+a%10; b. d. e=a/10+a/100+a/1000; e=a*10/1000+a%100%10+a%10;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete n 2. Se consider algoritmul alturat, descris n (numr natural nenul) pseudocod. k0 pentru i1,n execut a) Scriei ce se afieaz pentru n=4. (6p.) pentru j1,i execut scrie i+j b) Scriei o valoare care poate fi citit pentru kk+1 variabila n astfel nct, n urma executrii algoritmului, valoarea 20 s fie afiat de exact 6 ori. (4p.) scrie k c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) d) Scriei un algoritm pseudocod echivalent cu cel dat n care fiecare structur de tip pentru...execut s fie nlocuite cu cte o structur repetitiv de tip ct timp...execut. (6p.)

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

Subiectul I

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 dintre struct punct{float x,y;}; urmtoarele referiri este corect din punct de vedere struct fig sintactic ? (4p.) { char tip; punct a,b,c;} fig e; e.fig.tip b. a.e c. e.punct.x d. e.a.x Se consider un tablou bidimensional a cu n linii i n x=0; coloane, numerotate de la 1 la n, cu elemente for(i=1;i<=n;i++) x=x+a[i][i]; numere ntregi. Ce reprezinta valoarea variabilei ntregi x, dup executarea secvenei de program alturate? (4p.) Suma elementelor de principal a tabloului a pe diagonala b. d. Suma elementelor de secundar a tabloului a pe diagonala

a. 2.

a. c.

Suma elementelor tabloului a

Cel mai mare element de pe diagonala principal a tabloului a

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: 3. Se consider un graf neorientat reprezentat prin listele de adiacen alturate. Construii matricea de adiacen corespunztoare grafului dat. (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 064 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz, utiliznd metoda backtracking, toate modalitile de aezare a n ture pe o tabl de ah cu n linii i n coloane, astfel nct s nu existe pe tabl ture care se atac ntre ele (dou ture se atac reciproc dac se afl pe aceeai linie sau pe aceeai coloan). O soluie generat are forma (c1,c2,,cn), unde ci reprezint coloana pe care se afl tura de pe linia i. Dac primele 2 soluii generate pentru n=5 sunt (1,2,3,4,5) i (1,2,3,5,4), care este prima soluie generat n care primul numr este 4? (4p.) b. (4, 2, 5, 1, 3) c. (4, 3, 5, 3, 1) d. (4, 1, 2, 3, 5) a. (4, 1, 3, 2, 5)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit void f(int i,int j) alturat. Ce se afieaz pe ecran la { if(j>0) f(i,j-1); apelul f(9,9);? printf(%d*%d=%d\n,i,j,i*j); | cout<<i<<*<<j<<=<<i*j<<endl; (6p.) 3. } Subprogramul diviz primete prin intermediul parametrului n un numr natural nenul (2n200), iar prin intermediul parametrului a, un tablou unidimensional care conine n valori naturale nenule, fiecare dintre acestea avnd cel mult patru cifre. Elementele tabloului sunt numerotate de la 1 la n. Subprogramul returneaz o valoare egal cu numrul de perechi (ai,aj), 1i<jn, n care ai este divizor al lui aj , sau aj este divizor al lui ai. Scriei definiia complet a subprogramului diviz, n limbajul C/C++. Exemplu: pentru n=5 i a=(4,8,3,9,4) subprogramul returneaz valoarea 4. (10p.) Fiierul text date.in conine pe prima linie, separate prin cte un spaiu, cel mult 1000 de numere naturale, fiecare dintre ele avnd maximum 9 cifre. a) Scriei un program C/C++ care citete numerele din fiierul date.txt, determin i afieaz pe ecran numrul de elemente ale celei mai lungi secvene ordonate strict descresctor, formate din valori citite consecutiv din fiier. Alegei o metod de rezolvare eficient din punctul de vedere al timpului de executare. Exemplu: dac fiierul date.in conine pe ecran se afieaz: 5 2 9 4 3 6 3 2 1 0 8 5 (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). ( 4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 065 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele a,b i z sunt reale, iar ab. Care dintre expresiile C/C++ urmtoare are valoarea 1 dac i numai dac valoarea variabilei z nu aparine intervalului nchis determinat de valorile variabilelor a i b ? (4p.) b. (z<a)||(z>b) c. z<a && z>b d. z>=a && z<=b a. (z>a||(z>b)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) b) Scriei valorile care se vor afia dac se citete numrul n=1327. (6p.) Scriei dou valori diferite care pot fi citite pentru variabila n astfel nct, n urma executrii algoritmului, valoarea afiat pentru m s fie 4. (4p.) Scriei programul C/C++ dat. corespunztor algoritmului (10p.) citete n (numr natural nenul) m 0 v n un%10 repet cn%10 vv*10+c dac c=u atunci mm+1 n[n/10] pn cnd n=0 scrie v, m

c) d)

Scriei n pseudocod un algoritm echivalent cu cel dat n care structura repet... pn cnd s fie nlocuit cu o structur repetitiv cu test iniial. (6p.)

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

Subiectul I

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. 1. a. c. 2. a. Se consider un graf G neorientat, conex, cu 54 de noduri i 53 de muchii. Care dintre urmtoarele afirmaii este adevrat? G nu este arbore G nu are cicluri b. d. (4p.)

Prin eliminarea unei muchii din G se menine proprietatea de conexitate Gradul maxim al unui nod din G poate fi 52

Dac variabila s de tip ir de caractere memoreaz irul INFORMATICA atunci strlen(s) are valoarea? (4p.) 10 b. 12 c. TRUE d. 11

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: 3. Un arbore cu rdcin, cu 8 noduri, numerotate de la 1 la 8, este memorat cu ajutorul vectorului de tai T=(0,1,1,1,3,5,3,3). Care sunt fraii nodului 7? (6p.) Se consider o stiv S1, iniial vid, n care s-au introdus n ordine valorile a,b,c,d,e i o alt stiv S2, iniial vid, n care au fost introduse, n ordine, valorile f,g,h. Care va fi elementul din vrful stivei S1 dac se extrag toate elementele din stiva S2 i se adaug n ordinea extragerii n stiva S1? (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.
1 10 2 9 3 8 4 7 5 6

4.

5.

Exemplu: pentru n=4 i m=5 se va afia:

(10p.)

11 12 13 14 15 20 19 18 17 16

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 065 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz, utiliznd metoda backtracking, toate modalitile de aezare a numerelor naturale de la 1 la 5, astfel nct oricare dou numere de aceeai paritate s nu se afle pe poziii alturate. Dac primele 3 soluii generate sunt, n ordine: (1,2,3,4,5), (1,2,5,4,3) i (1,4,3,5,2) care este prima soluie generat ce ncepe cu 3? (4p.) b. (3, 2, 5, 4, 1) c. (3, 4, 1, 2, 5) d. (3, 4, 5, 2, 1) a. (3, 2, 1, 4, 5)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul recursiv alturat este int f(unsigned int a, unsigned int b) definit incomplet. Care este expresia cu { if (...) return a; care se pot nlocui punctele de else suspensie astfel nct subprogramul s if (a>b) return f(a-b,b); returneze cel mai mare divizor comun al else return f(a,b-a); numerelor primite prin intermediul parametrilor a i b. (6p.) } Subprogramul sfx primete prin singurul su parametru, x, un numr natural din intervalul [100,2000000000] i returneaz valoarea 1 dac ultimele trei cifre ale numrului sunt n ordine strict descresctoare sau valoarea 0 n caz contrar. Exemplu: dac x=24973 se va returna valoarea 1. a) Scriei definiia complet a subprogramului sfx. (10p.) b) Fiierul text date.in conine cel mult 10000 de numere naturale de exact 6 cifre fiecare, separate prin cte un spaiu. Scriei un program C/C++ care citete toate numerele din fiier, determin i afieaz pe ecran cte dintre aceste numere au toate cifrele n ordine strict descresctoare. Programul va folosi apeluri utile ale subprogramului sfx. Se va utiliza un algoritm eficient din punctul de vedere al memoriei utilizate. (6p.) Exemplu: dac fiierul date.in conine pe ecran se afieaz: 236543 865210 976532 2 c) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 066 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele x, y i z sunt ntregi, x memoreaz valoarea 7, y memoreaz valoarea 20, iar z memoreaz valoarea 5. Care este rezultatul evalurii x+y+x*z/y expresiei aritmetice C/C++ alturate? (4p.) 28.75 28 29 b. c. d. 27 a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu a%b restul mpririi numrului ntreg a la numrul ntreg nenul b. a) Scriei ce se afieaz n urma executrii algoritmului dac se citesc, n aceast ordine, valorile 10, 13, 46, 70, 35, 0. (6p.) b) Scriei un ir de valori care pot fi citite pentru variabila x astfel nct programul s afieze, n urma executrii, mesajul DA. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura repet...pn cnd cu o structur repetitiv cu test iniial. (6p.) n0 repet citete x (numr natural) dac x0 atunci dac x%5=0 atunci nn+1 altfel nn-1 pn cnd x=0 dac n=0 atunci scrie DA altfel scrie NU

c) d)

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

Subiectul I

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.) produs.denumire[0] p.denumire[0] b. d. denumire.p[0] P->denumire[0]

a. c. 2.

Se consider graful neorientat din figura alturat. Care este numrul minim de muchii care trebuie eliminate astfel nct graful s aib dou componente conexe? (4p.)

a.

b.

c.

d.

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.) Se consider secvena alturat n care mat este un for(j=1;j<=5;j++) tablou bidimensional cu 5 linii i 5 coloane, numerotate {aux=mat[x][j]; de la 1 la 5, iar aux, j, x, y sunt variabile de tip ntreg. mat[x][j]=mat[y][j]; tiind c orice element al tabloului este iniial egal cu mat[y][j]=aux;} numrul de ordine al liniei pe care se afl, precizai care sunt elementele tabloului mat dup executarea secvenei alturate dac x memoreaz valoarea 2 i y memoreaz valoarea 4? (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 066 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul recursiv void bac(int x) definit alturat. Ce se va afia n urma { if (x!=0) { bac(x-1); apelului bac(5);? (4p.) cout<<x; | printf(%d,x); } } b. 54321 c. 12345 d. 11111 a. 55555

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Folosind metoda backtracking, s-au generat toate secvenele formate din 3 cifre, fiecare secven generat avnd numai cifre din mulimea {1,2,3,4}, oricare dou cifre alturate din secven fiind fie ambele pare, fie ambele impare. Scriei secvena care lipsete din ir : 111,113,131,133,311,313,331,333,224,242,244,422,424,442,444 (6p.) S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete prin intermediul parametrului n un numr natural nenul (1n10000), iar prin intermediul parametrului a, un tablou unidimensional care conine n valori ntregi, fiecare dintre aceste valori ntregi avnd cel mult 9 cifre. Subprogramul returneaz cel mai mare divizor comun al elementelor tabloului a. (10p.) Exemplu: n urma apelului, pentru n=5 i tabloul unidimensional (12,36,48,6,60), se va returna 6. 4. Fiierele text A.TXT i B.TXT conin cel mult 10000 de numere naturale cu cel mult 9 cifre fiecare, scrise fiecare pe cte o linie. a) Scriei un program C/C++ care citete numerele din cele dou fiiere i, printr-o metod eficient din punct de vedere al timpului de executare i al spaiului de memorie utilizat, afieaz pe ecran cte dintre numerele din fiierul A.TXT sunt strict mai mici dect toate numerele memorate n fiierul B.TXT. (6p.) 41111 91111 iar fiierul B.TXT are coninutul Exemplu: dac fiierul A.TXT are coninutul alturat, alturat: 81111 91111 11111 61111 91111 91111 51111 91111 111111 81111 31111 61111 431111 91111 61111 201111 atunci programul va afia valoarea 4, deoarece 41111, 11111, 51111, 31111 sunt mai mici dect toate elementele din fiierul B.TXT. b) Descriei succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena acesteia. (4p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 067 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele x, y, z i w sunt ntregi, x memoreaz valoarea 2, y memoreaz valoarea 3, z memoreaz valoarea 5, iar w memoreaz valoarea 7. Care dintre urmtoarele expresii, scrise n limbajul C/C++, are valoarea 1? (4p.) (y>z) || (x>3) (x==z) && ((y==3)||(w==7)) b. a. d. (y>=3) && (w<7) c. (z<=w) && (x>0) || (y>=x)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) b) c) d) Scriei valoarea afiat dac pentru n se citete valoarea 52381. (6p.) Scriei o valoare care poate fi citit pentru variabila n astfel nct s se afieze numrul 0. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv cu test final. (6p.) citete n (numr natural) z 0 ct timp n>0 execut cn%10 n[n/10] dac c<5 atunci zz*10+2*c scrie z

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

Subiectul I

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; p.nume[0] p->nume[0] b. d. persoana.nume[0] nume.p[0]

a. c. 2.

Se consider graful neorientat din figura alturat. Care este numrul minim de muchii care trebuie eliminate astfel nct graful s aib dou componente conexe? (4p.)

a.

b.

c.

d.

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 secvena alturat n care a este o matrice for(i=1;i<=4;i++) ptratic cu 4 linii i 4 coloane, numerotate de la 1 la 4, iar for(j=1;j<=4;j++) i i j sunt variabile de tip ntreg. Care este matricea a if (i<=j) a[i][j]=i; else a[i][j]=j; obinut dup executarea secvenei? (6p.) 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

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 067 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul recursiv void bac(int x) definit alturat. Ce se va afia n urma { if (x) { cout<<x; | printf(%d,x); apelului bac(5);? (4p.) bac(x-1); } } b. 12345 c. 11111 d. 55555 a. 54321

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Folosind metoda backtracking, s-au generat toate secvenele formate din 3 cifre, fiecare 2. secven generat avnd numai cifre din mulimea {1,2,3,4}, oricare dou cifre alturate din secven fiind fie ambele pare, fie ambele impare. Scriei secvena care lipsete din ir : 111,113,131,133,311,313,331,333,222,224,242,244,424,442,444. (6p.) 3. S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete prin intermediul parametrului n un numr natural nenul (1n10000), iar prin intermediul parametrului a un tablou unidimensional care conine n valori ntregi, fiecare dintre aceste valori ntregi avnd cel mult 9 cifre. Subprogramul returneaz numrul de numere prime din tablou. (10p.) Exemplu: pentru n=5 i tabloul unidimensional (12,37,43,6,71) n urma apelului se va returna 3. Fiierul text NUMERE.TXT conine pe prima linie un numr natural n (1n10000) i pe a doua linie un ir cresctor de n numere naturale, fiecare avnd cel mult 9 cifre. Numerele de pe a doua linie sunt separate prin cte un spaiu. a) Scriei un program C/C++ care, utiliznd o metod eficient din punct de vedere al timpului de executare i al spaiului de memorie, afieaz pe ecran elementele distincte ale irului aflat pe a doua linie a fiierului. (6p.) 7 Exemplu: dac fiierul NUMERE.TXT are coninutul alturat 111 111 111 2111 4111 71111 71111 atunci programul va afia pe ecran 111 2111 4111 71111. b) Descriei succint, n limbaj natural, metoda utilizat la punctul a), justificnd eficiena acesteia. (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 068 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele x, y i z memoreaz valori reale, iar x<y. Care dintre expresiile de mai jos, scrise n limbajul C/C++, are valoarea 1 dac valoarea variabilei z este situat n intervalul nchis determinat de valorile memorate n variabilele x i y? (4p.) (z>=x) && (z<=y) (z<=x) && (z<=y) b. a. d. (z<x) || (z>y) c. (y<x) || (z<=x)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. citete x (numr natural) S-a notat cu x%y restul mpririi numrului natural x la nr 0 pentru i1,5 execut numrul natural nenul y. citete n (numr ntreg) a) Scriei valoarea afiat n urma executrii algoritmului dac dac n%x=0 atunci se citesc, n ordine, valorile: 3, 14, 6, 11, 16, 9. (6p.) nrnr+1 b) tiind c valoarea citit pentru x este 7, scriei un ir de numere distincte care pot fi citite n continuare astfel nct valoarea afiat s fie 0. (4p.) scrie nr c) Scriei programul C/C++ corespunztor algoritmului dat. d) (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura pentru...execut cu o structur repetitiv ct timp...execut. (6p.)

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

Subiectul I

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; denumire.m[0] material.denumire[0] b. d. m->denumire[0] m.denumire[0]

a. c. 2.

Se consider graful neorientat din figura alturat. Care este numrul minim de muchii care trebuie eliminate astfel nct graful s aib dou componente conexe? (4p.)

a.

b.

c.

d.

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. 5.

Care este funcia predefinit, n limbajul C/C++, care returneaz lungimea efectiv a unui ir de caractere transmis ca parametru? (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 5 -61 71 -81 (355=5*71). 91 11 21 31 -11 31 -41 0

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 068 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul recursiv definit void bac(int x) alturat. Cte apeluri ale funciei bac au loc { if (x) { bac(x-1); pentru x=5? Se va numra inclusiv apelul din cout<<x;| printf(%d,x); funcia principal. (4p.) } } b. 6 c. 4 d. 3 a. 5

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Folosind metoda backtracking, s-au generat toate secvenele formate din 3 cifre, fiecare secven generat avnd numai cifre din mulimea {1,2,3,4}, oricare dou cifre alturate din secven fiind fie ambele pare, fie ambele impare. Scriei secvena care lipsete din ir : 111,113,131,133,313,331,333,222,224,242,244,422,424,442,444. (6p.) S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete prin intermediul celor doi parametri ai si dou numere ntregi, n i k (1n10000 i 1k5), i returneaz cifra de rang k a numrului n. Rangul unei cifre este numrul su de ordine, numerotnd cifrele de la dreapta la stnga; cifra unitilor are rangul 1. Dac numrul k este mai mare dect numrul de cifre ale lui n, atunci funcia returneaz valoarea -1. (10p.) Exemplu : n urma apelului calcul(9243, 3) se va returna 2. 4. Fiierul text SIR.TXT conine pe prima linie un numr natural n (1n10000) i pe a doua linie, separate prin spaii, un ir cresctor de n numere naturale cu cel mult 9 cifre fiecare. Numim platou ntr-un ir de valori o secven de elemente identice situate pe poziii alturate. Lungimea unui platou este egal cu numrul de elemente care l formeaz. a) Scriei un program C/C++ care citete valorile din fiier i, printr-o metod eficient din punct de vedere al timpului de executare i al spaiului de memorie utilizat, afieaz pe ecran, separate printr-un spaiu, lungimea maxim a unui platou, precum i valoarea care formeaz platoul. n cazul n care sunt mai multe platouri de aceeai lungime se va afia valoarea cea mai mare care formeaz unul dintre aceste platouri. (6p.) dac 10 Exemplu: fiierul SIR.TXT are 111 2111 2111 2111 3111 4111 4111 51111 51111 51111 coninutul alturat, atunci programul va afia pe ecran 3 51111. b) Descriei succint, n limbaj natural, metoda utilizat la punctul a), justificnd eficiena acesteia. (4p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 069 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. x=20; y=5; 1. n secvena de instruciuni C/C++ alturat, variabilele x i y x=x+y; sunt ntregi. Ce valoare va reine variabila x dup executarea y=x-2*y; acesteia? (4p.) x=y+x; a. -10 b. 25 c. 15 d. 40 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) Scriei valoarea afiat dac pentru x se citete valoarea 4589 i pentru y se citete valoarea 723. (6p.) Scriei ce valori pot fi citite pentru x i y astfel nct valoarea afiat s fie 200. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scrie i n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura repet...pn cnd cu o structur repetitiv cu test ini ial. (6p.) citete x,y (numere naturale nenule) t 0 u 1 repet dac x%10 > y%10 atunci z x%10 altfel z y%10 tt+z*u uu*10 x[x/10] y[y/10] pn cnd x=0 i y=0 scrie t

b) c) d)

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

Subiectul I

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.) e->nume[0] elev.nume[0] b. d. e.nume[0] nume.e[0]

a. c. 2.

Se consider graful neorientat din figura alturat. Care este numrul minim de muchii care trebuie eliminate astfel nct graful s aib dou componente conexe? (4p.)

a.

b.

c.

d.

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. 5.

Fie s i t dou variabile de tipul ir de caractere. Scriei o instruciune C/C++ prin care variabilei t i se atribuie irul format din primele n caractere ale lui s. (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

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 069 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul recursiv void bac(int x) definit alturat. Cte apeluri ale funciei { if (x>0) { bac(x-2); bac au loc pentru x=5? Se va numra cout<<x; | printf(%d,x); inclusiv apelul din funcia principal. } (4p.) } b. 3 c. 6 d. 5 a. 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Folosind metoda backtracking, s-au generat toate secvenele formate din 3 cifre, fiecare secven generat avnd numai cifre din mulimea {1,2,3,4}, oricare dou cifre alturate din secven sunt fie ambele pare, fie ambele impare. Scriei secvena care lipsete din ir : 111, 113, 131, 133, 311, 313, 331, 222, 224, 242, 244, 422, 424, 442, 444. (6p.) S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete prin intermediul parametrului ntreg n, un numr natural de cel mult 9 cifre i returneaz valoarea absolut a diferenei dintre numrul de cifre pare i numrul de cifre impare coninute de n. (10p.) Exemplu: n urma apelului calcul(92465) se va returna valoarea 1. 4. Fiierul text NUMERE.TXT conine pe prima linie un numr natural n (1n10000) i pe a doua linie n numere naturale cu cel mult 9 cifre fiecare. Aceste numere sunt dispuse n ordine cresctoare i separate ntre ele prin cte un spaiu. a) Scriei un program C/C++ care citete valorile din fiier i, printr-o metod eficient din punct de vedere al timpului de executare, afieaz pe ecran, separate prin cte un spaiu, n ordine cresctoare, numerele pare de pe a doua linie a fiierului, urmate de cele impare n ordine descresctoare. (6p.) 6 Exemplu: dac fiierul NUMERE.TXT are coninutul alturat, 212 412 5111 71113 81112 101112 atunci programul va afia pe ecran 212 412 81112 101112 71113 5111 b) Descriei succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena acesteia. (4p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 070 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre expresiile C/C++ de mai jos, are valoarea 1 dac valoarea variabilei ntregi x este un numr ntreg par i strict pozitiv ? (4p.) a. !((x%2!=0)||(x<=0)) b. (x%2!=0)||(x<0) d. ((x+1)%2==0)&&(x>=2) c. !((x%2==0)||(x>0))

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. a) n citete x,y (x, y numere naturale nenule, x>y) n0 Scriei ce valori se vor afia dac pentru x se ct timp x>=y execut citete valoarea 19, iar pentru y se citete xx-y valoarea 4. (6p.) nn+1 Scriei o valoare care poate fi citit pentru variabila x i o valoare care poate fi citit pentru variabila y scrie n, x astfel nct valorile afiate n urma executrii algoritmului s fie 2 1, n aceast ordine. (4p.) algoritmul alturat, descris Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv cu test final. (6p.)

b)

c) d)

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

Subiectul I

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 unui elev n forma dat de declararea alturat, indicai { char nume[30]; float nota; care dintre urmtoarele expresii atribuie variabilei reale m media }var1,var2; aritmetic a notelor celor doi elevi. (4p.) m=(var1.nota+var2.nota)/2; m=(var1+var2).nota/2; b. d. m=var1.nota+var2.nota/2; m=nota(var1+var2)/2;

a. c. 2.

Se consider graful neorientat din figura alturat. Care este numrul minim de muchii care trebuie eliminate astfel nct graful s aib dou componente conexe? (4p.)

a.

b.

c.

d.

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.

Considerm s o variabil de tip ir de caractere declarat astfel: char s[100]; Scriei o instruciune n limbajul C/C++, care permite afiarea pe ecran a ultimului caracter memorat n s? (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 070 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul recursiv definit void bac(int x) alturat. Cte apeluri ale funciei bac au loc { if (x>0) { cout<<x; | pentru x=4? Se va numra inclusiv apelul din bac(x-2); funcia principal. } } b. 4 c. 5 a. 6

printf(%d,x);

d. 3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Folosind metoda backtracking, s-au generat toate secvenele formate din 3 cifre, fiecare secven generat avnd numai cifre din mulimea {1,2,3,4}, oricare dou cifre alturate din secven fiind fie ambele pare, fie ambele impare. Scriei secvena care lipsete din ir : 111,113,131,133,311,313,331,333,222,224,242,244,422,424,442 (6p.) S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete prin parametrul n un numr natural nenul de cel mult 9 cifre i furnizeaz prin parametrul x numrul obinut prin citirea cifrelor pare ale lui n de la dreapta la stnga. Dac n nu conine nicio cifr par x primete valoarea 0. (10p.) Exemplu: n urma apelului calcul(9278,x), x primete valoarea 82. 4. Fiierul text NUMERE.TXT conine pe prima linie un numr natural n (1n10000) i pe a doua linie, n numere naturale cu cel mult 9 cifre fiecare, numere nu neaprat distincte. Aceste numere sunt dispuse n ordine cresctoare i separate ntre ele prin cte un spaiu. a) Scriei un program C/C++ care citete valorile din fiier i, printr-o metod eficient din punct de vedere al timpului de executare i al spaiului de memorie utilizat, afieaz pe ecran, cu un spaiu ntre ele, valoarea care apare de cele mai multe ori n fiier i de cte ori apare ea. Dac exist mai multe valori care apar de un num r maxim de ori, se va afia cea mai mic dintre ele. (6p.) 8 Exemplu: dac fiierul NUMERE.TXT are coninutul 711 711 711 11111 11111 11111 191111 231111 alturat, atunci programul va afia pe ecran 711 3. b) Descriei succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena acesteia. (4p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 071 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila ntreag x reine un numr natural cu cel puin dou cifre. Care dintre urmtoarele expresii C/C++ are valoarea egal cu cifra zecilor numrului natural memorat n variabila x? (4p.) b. x (x / 10) * 10 a. x % 10 / 10 d. x (x / 10) % 10 c. x / 10 % 10 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. s 0 2. Se consider algoritmul alturat, descris n citete n (numr natural) pseudocod. pentru i1,n execut S-a notat cu a%b restul mpririi numrului natural a la citete x (numr natural) numrul natural nenul b, iar cu [a/b] ctul mpririi ct timp x>9 execut ntregi a numrului natural a la numrul natural nenul b. x [x/10] a) Scriei valoarea ce se va afia dac se citesc pentru n valoarea 5 i pentru x, n aceast ordine, pentru j1,i-1 execut valorile: 523, 4256, 324, 4, 86935. (6p.) x x*10 b) Dac n = 4, scriei un ir de valori care pot fi citite s s + x pentru x astfel nct s se afieze 1234. (6p.) scrie s c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) d) Scriei n pseudocod un algoritm echivalent cu cel dat care s utilizeze n locul structurii ct timp...execut o structur repetitiv condiionat posterior. (4p.)

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

Subiectul I

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. a. 2. Care este numrul maxim de noduri frunz pe care le poate avea un arbore cu rdcin cu 15 noduri? (4p.) 1 b. 15 c. 0 1 1 0 0 0 14 1 0 1 0 0 0
3

d. 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 d.

Se d graful orientat definit prin matricea de adiacen alturat. Precizai cte noduri ale grafului au gradul interior egal cu gradul exterior. (4p.)

0 1 0 0 1 0

a.

b.

c.

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 struct elev{ char nume[20]; i nota cte unui elev. float nota; 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 elev e1,e2; dou medii sunt egale, se va afia numele elevului reprezentat n variabila e1. (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, numerotate de la 1 la n, care conine numerele naturale, n ordine cresctoare, de la 1 la n2, dispuse pe coloane, n ordine cresctoare. Astfel coloana 1 va conine numerele de la 1 la n, coloana 2 numerele de la n+1 la 2*n, coloana 3 de la 2*n+1 la 3*n i aa mai departe, ca n exemplu. Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a 1 5 9 13 ecranului, elementele fiecrei linii fiind separate ntre ele prin cte un 2 6 10 14 3 7 11 15 spaiu. Exemplu: pentru n = 4 se va afia matricea alturat. (10p.) 4 8 12 16

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 071 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz n ordine cresctoare toate numerele de exact 4 cifre care se pot forma cu elementele mulimii {0,1,2,3,4}. Primele 8 soluii generate sunt, n ordine: 1000, 1001, 1002, 1003, 1004, 1010, 1011, 1012. Care sunt primele trei numere ce se vor genera imediat dup numrul 3443? (4p.) a. 4000,4001,4002 b. 3444,4443,4444 c. 3444,4444,4000 d. 3444,4000,4001

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Ce valoare va avea variabila ntreag x, n urma apelului F(1, x), tiind c, nainte de apel, variabila x are valoarea 0, iar subprogramul F este definit alturat? (6p.) 3. void F(int i, int &x) { if (i <= 10) { if(i%2!=0) x = x + 2; else x = x 1; F(i + 1, x); } }

Un numr natural se numete palindrom dac numrul citit de la stnga la dreapta este egal cu numrul citit de la dreapta la stnga. Scriei definiia complet a subprogramului Palindrom care primete prin intermediul parametrului n un numr natural de cel mult nou cifre i returneaz 1 dac acesta este palindrom i 0 n caz contrar. (10p.) Fiierul text numere.in conine mai multe numere naturale de cel mult 9 cifre fiecare, numerele fiind desprite prin cte un spaiu. Cel puin unul dintre numere este palindrom. a) Scriei un program C/C++ care citete numerele din fiierul numere.in i, folosind apeluri utile ale funciei Palindrom, definit la punctul 3, determin n mod eficient care este cel mai mare numr palindrom citit. Programul scrie n fiierul text numere.out numrul astfel determinat. Exemplu: dac numere.in conine numerele: 23 565 78687 7887 7865 78687 7887 23 78687 98798 atunci numere.out va conine: 78687 (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit (3 4 rnduri). (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 072 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac numrul natural memorat de variabila n este strict mai mare dect 100 i divizibil cu 12? (4p.) b. (n%100/4 == 0) && !(n%3) d. (n%100%4 == 0) && (n%3 == 0)

a. (n%4 == 1) || (n%3 == 1) c. (n%100%4 == 0) && n%3

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete n (numr natural nenul) pseudocod. pentru i1,2*n-1 execut a) Scriei ce se va afia dac pentru n se b 0 dac n-i < 0 atunci citete valoarea 5. (6p.) b) Se nlocuiete prima structur dac...atunci cu atribuirea j4. Modificai condiia logic din cadrul structurii ct timp...execut astfel nct, pentru n=4, algoritmul s afieze:
**** *** ** *

(4p.)

c) d)

Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

ji-n altfel jn-i ct timp j 0 execut scrie * jj-1 b 1 dac b 0 atunci salt la rnd nou (sfrit de rnd)

Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc prima (6p.) structur dac...atunci cu o operaie de atribuire.

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

Subiectul I

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 arborele cu rdcina definit prin urmtoarele muchii: [2,4] [2,6] [5,7] [6,3] [6,8] [7,1] [7,2] [7,9]. Cte lanuri formate din noduri distincte, de lungime 4 exist n acest arbore? (4p.) 4 b. 3 c. 6 d. 5 Variabilele x i s memoreaz iruri cu cel mult 20 de caractere: x memoreaz irul primavara, iar variabila s memoraz irul anotimp. Ce se va memora n variabila s n urma executrii instruciunii de mai jos? strncat(s, x, 5); (4p.) anotimpprima primavara b. d. anotimpprimavara prima

a. 2.

a. c.

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]. Precizai cte componente conexe va avea subgraful obinut prin eliminarea nodului 1. (6p.) Se consider graful orientat cu 5 noduri, numerotate de la 1 la 5, definit prin matricea de adiacen alturat. Indicai numrul minim de arce care trebuie adugate grafului astfel nct, pentru orice dou noduri x i y ale sale, s existe cel puin un drum de la x la y. (6p) 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0

4.

5.

Scriei programul C/C++ care citete de la tastatur o valoare natural n (2n100) i construiete n memorie, apoi afieaz pe ecran o matrice a cu n linii i n coloane, simetric fa de diagonala secundar. Elementele matricei sunt numerele naturale de la 1 la
n(n + 1) . Elementele situate deasupra i pe diagonala secundar sunt dispuse n ordine 2

cresctoare pe linii astfel: prima linie conine numerele de la 1 la n, a doua linie conine numerele de la n + 1 la 2*n 1 i aa mai departe. Matricea se va afia pe ecran, cte o linie a matricei pe o linie a ecranului, elementele unei linii fiind separate ntre ele printr-un spaiu. 1 2 3 4 Exemplu: pentru n = 4 se va obine matricea alturat. (10p.) 5 6 7 3 8 9 6 2 10 8 5 1

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 072 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz n ordine cresctoare toate numerele de 4 cifre, cu cifre distincte, astfel nct diferena n valoare absolut dintre prima i ultima, respectiv a doua i a treia cifr este egal cu 2. Primele 11 soluii generate sunt, n ordine: 1023, 1203, 1243, 1423, 1463, 1573, 1643, 1683, 1753, 1793, 1863. Care dintre urmtoarele numere se va genera imediat naintea numrului 9317? (4p.) a. 9247 b. 9357 c. 9207 d. 8976

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Ce se va afia n urma executrii subprogramului alturat, la apelul F(57);? (6p.) void F(int x) { if(x) { F(x/2); cout << x%2; | } }

printf(%d,x%2);

3.

Scriei n limbajul C/C++ definiia complet a subprogramului Cifre care primete prin parametrii a i b dou numere naturale (0<a<200000000, 0<b<200000000) i returneaz numrul de cifre comune ale celor dou numere. Exemplu: dac a = 123446 i b= 248766 atunci subprogramul va returna 3, iar dac a = 1244 i b = 4456 subprogramul va returna 1. (10p.) Fiierul text numere.in conine pe prima linie a sa dou numere naturale, x, cu cel mult nou cifre, i p, cu exact o cifr, iar pe a doua linie cel mult 1000 de numere naturale de cel mult nou cifre fiecare. a) Scriei programul C/C++ care citete numerele din fiierulu numere.in i, apelnd funcia Cifre, definit la punctul 3, scrie n fiierul text numere.out acele numere de pe a doua linie a fiierului numere.in care au exact p cifre comune cu numrul x. Numerele vor fi scrise pe aceeai linie, desprite prin cte un spaiu. (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit (3 4 rnduri) Exemplu: numere.in numere.out 345638 3 45239 900583 635 123 45239 96583 900583 635 78900 (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 073 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila real x memoreaz numrul 2.682. Care dintre urmtoarele instruciuni C/C++ va atribui variabilei ntregi y valoarea 10? (4p.)

a. y = (x*100)/100 + (x*1000%100/10); b. y = floor(x*100)/100 + floor(x*100%100/10); c. y = floor(x*100) floor(x*10)*10+floor(x); d. y = floor(x*1000)/100 + floor(x*100%100/10); Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete a, b, p pseudocod. (numere naturale nenule, a < b) S-a notat cu x%y restul mpririi numrului nr0 natural x la numrul natural nenul y, iar prin pentru ia,b execut [x/y] ctul mpririi ntregi a numrului natural x i ct timp x0 i x%p0 execut x la numrul natural nenul y. x[x/10] a) Scriei ce se va afia dac se citesc pentru a valoarea 260, pentru b valoarea dac x 0 atunci 288 i pentru p valoarea 9. (6p.) nrnr+1 b) Dac a=110, iar p=18, scriei cel mai mare numr care poate fi citit pentru b, scrie nr astfel nct s se afieze valoarea 0. (4p.) c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

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

Subiectul I

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 vectori 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.) 6, 9, 11 5, 12, 6, 9, 11 struct A { Se consider declarrile alturate. Care este int x; tipul expresiei de mai jos? char y; float z;}; x.x.y (4p.) float b. int c. long b. 1, 2, 7 c. d. 10, 1, 2, 7 struct B { struct A x; long y;}; B x, y;. d. char

a. 2.

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele 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 1 la n (0<n<50), cu elemente numere reale. Cu ce instruciuni se poate nlocui zona punctat din for(i = 0; i < n; i++) secvena alturat, astfel nct, n urma executrii {........} acesteia, s se interschimbe elementele liniei q cu elementele liniei p ale tabloului a (1qn, 1pn). Dac sunt necesare i alte variabile, scriei declarrile acestora. (6p.) Se consider un text avnd maximum 255 de caractere, format numai din litere mici ale alfabetului englez i spaii, n care oricare dou cuvinte alturate n text sunt desprite printr-un singur spaiu. Ultimul caracter din text este diferit de spaiu. Scriei un program C/C++ care citete de la tastatur un text ca cel descris mai sus i afieaz pe ecran, desprite printr-un spaiu, numrul de cuvinte din text i cte dintre acestea au prima liter vocal (a, e, i, o sau u). Exemplu: pentru urmtoarul text ele sunt eleve in clasa a opta se va afia: 7 5 (10p.)

4.

5.

INFORMATIC, limbajul C/C++ Specializarea Matematic-informatic

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 073 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz n ordine cresctoare toate numerele de 4 cifre, cu cifre distincte, astfel nct diferena n valoare absolut dintre ultimele dou cifre ale fiecrui numr generat este egal cu 2. Primele opt soluii generate sunt, n ordine:1024, 1035, 1042, 1046, 1053, 1057, 1064, 1068. Care dintre urmtoarele numere se va genera imediat dup numrul 8975? (4p.) a. 8979 b. 9013 c. 8957 d. 9024

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Ce se va afia n urma executrii subprogramului alturat, la apelul F(56);? (6p.) void F(int x) { if(x) { F(x/2); cout << x%10; } }

printf(%d,x%10);

3.

Scriei definiia complet a subprogramului Insereaza, cu patru parametri, n, x, k i v, care primete prin intermediul parametrului n un numr natural (0<n<1000), prin intermediul parametrului x un tablou unidimensional cu n elemente, numere reale, numerotate de la 1 la n, prin parametrul k un numr natural reprezentnd o poziie din tablou(1kn), iar prin parametrul v un numr real. Subprogramul va insera valoarea v pe poziia k a tabloului x i furnizeaz tabloul modificat, precum i numrul elementelor acestuia, actualizate. (10p.) Fiierul text sir.in conine cel mult 100 numere naturale de maximum patru cifre fiecare, numerele fiind desprite prin cte un spaiu. a) Scriei un program C/C++ care citete numerele din fiierul sir.in i, folosind apeluri ale subprogramului Insereaza, definit la punctul 3, construiete n memorie un tablou unidimensional care va conine toate numerele din fiierul sir.in, iar ntre fiecare dou numere consecutive din fiier insereaz media lor aritmetic. Programul scrie n fiierul text sir.out elementele tabloului obinut, cu cel mult o zecimal, cte 10 elemente pe fiecare rnd (cu excepia ultimului rnd, care poate s conin mai puine), elementele de pe acelai rnd fiind desprite prin cte un spaiu. (6p.) Exemplu: dac fiierul sir.in conine numerele: 7 5 635 456 0 8 587 atunci, dup executarea programului, fiierul sir.out va conine: 7 6 5 320 635 545.5 456 228 0 4 8 297.5 587 b) Descriei succint, n limbaj natural, metoda de rezolvare folosit (3 4 rnduri). (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 074 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac variabila x memoreaz un numr natural ptrat perfect? (4p.) b. sqrt(x) != floor(sqrt(x)) d. x-floor(x)==ceil(x)

a. sqrt(x) == floor(sqrt(x)) c. floor(sqrt(x))!=ceil(sqrt(x))

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete a,b (numere naturale) pseudocod. c 0 p 0 S-a notat cu x%y restul mpririi numrului natural ct timp a + b > 10 execut x la numrul natural nenul y, iar cu [x/y] ctul dac (a%10 = b%10)i(a%10%2=1) mpririi ntregi a numrului natural x la numrul atunci c c*10 + b%10 natural nenul y. altfel p p*10 + a%10 a) Scriei ce se va afia dac se citesc pentru a valorea 625231, iar pentru b valoarea a [a/10] 425271. (6p.) b [b/10] Dac a=12345 scriei o valoare de cinci scrie c, p b) cifre care poate fi citit pentru b, astfel nct s se afieze pentru p valoarea 42. (6p.) c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

Efectuai un numr minim de modificri asupra algoritmului dat astfel nct prin executarea algoritmul obinut s se calculeze n variabila c numrul de cifre impare, comune i aflate pe poziii identice, pe care le au cele dou valori citite. (4p.)

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

Subiectul I

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. Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele 5, 6 i 10. Dac se noteaz cu PUSH x operaia prin care se adaug elementul cu informaia x n stiv, i cu POP operaia prin care se elimin un nod din stiv, care este rezultatul executrii secvenei PUSH 1; POP; POP; PUSH 8; PUSH 6; PUSH 5; POP; POP; (4p.) b. c. d.

a.

2.

Ce se va afia n urma if(strcmp(x, y) > 0) cout << x; | printf(%s,x); executrii secvenei de program alturate dac else if(strcmp(x,y) < 0) variabila x memoreaz cout << y; | printf(%s,y); cuvntul bacalaureat, iar else variabila y memoreaz cout << imposibil; | printf(imposibil); cuvntul banal? (4p.) imposibil banal b. d. bacalaureat bacalaureatimposibil

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele 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. (3p.) b) Cte noduri de tip frunz are acest arbore? (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. 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 fiecare linie conine toate numerele naturale, de la 1 la n , dispuse dup cum urmeaz: pe liniile de indice impar numerele sunt n ordine cresctoare, iar pe cele de indice par sunt n ordine descresctoare, ca n exemplu. Matricea se va afia pe ecran, cte o linie a matricei pe o linie a ecranului, 1 2 3 4 4 3 2 1 elementele unei linii fiind separate ntre ele prin cte un spaiu. Exemplu: pentru n = 4 se va afia matricea alturat. (10p.) 1 2 3 4 4 3 2 1

4.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 074 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. ntr-un spectacol sunt prezentate cinci melodii numerotate cu 1, 2, 3, 4 i 5. Utiliznd metoda backtracking, se genereaz toate posibilitile de a le prezenta pe toate, tiind c melodia 2 trebuie prezentat dup melodia 3, nu neaprat pe o poziie consecutiv, iar melodia 5 va fi prezentat tot timpul prima. Cte asemenea posibiliti exist? (4p.) b. 6 c. 12 d. 4 a. 24

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider funcia Suma, definit alturat. Ce valoare are Suma(8)? Dar Suma(11)? (6p.) int Suma(int x) { if(x == 1 ) return 0; if(x%2==0) return Suma(x-1)+(x-1)*x; return Suma(x-1)-(x-1)*x; }

3.

Scriei definiia complet a subprogramului Cifra, cu doi parametri, n i x, care primete prin intermediul parametrului n un numr natural de cel mult nou cifre i furnizeaz prin parametrul x cea mai mare cifr a numrului transmis prin parametrul n. (10p.) Fiierul text NUMERE.IN conine pe prima linie un numr natural n (0<n<1000), iar pe a doua linie, separate prin cte un spaiu, n numere naturale cu cel mult nou cifre fiecare. a) Scriei un program C/C++ care citete de la tastatur o cifr c, i, folosind apeluri utile ale subprogramului Cifra, definit la punctul 3, determin pentru cte dintre numerele de pe a doua linie a fiierului NUMERE.IN, cifra c reprezint cifra maxim. Programul scrie pe primul rnd al fiierul text NUMERE.OUT mesajul DA dac exist astfel de valori i pe al doilea rnd numrul acestora, iar dac nu exist va scrie n fiier mesajul NU. (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit (3 4 rnduri). (4p.) Exemplu: dac cifra citit este 8 NUMERE.IN conine NUMERE.OUT va conine DA 10 2 725 3695 423 0 7895 0 100 101 870 568

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 075 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele instruciuni C/C++ sunt corecte sintactic dac x i y sunt dou variabile de tip ntreg? (4p.) a. if (x < 2) && (x > - 5) {x=x+1; y=y-1;} c. if x < 2 && x >-5 { x=x+1; y=y-1;} b. if -5 < x < 2 { x=x+1; y=y-1;} d. if (x < 2 && x > -5) {x=x+1; y=y-1;}

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n a0 pseudocod. k0 S-a notat cu [a/b] ctul mpririi ntregi a repet citete x (numr natural) numrului natural a la numrul natural nenul b. ct timp x > 99 execut Scriei ce se va afia dac se citesc, n x [x/10] a) aceast ordine, valorile: 62521, 2571, 2, (6p.) dac x > 9 atunci 56, 614. aa*100 + x Scriei un set de date de intrare pentru care kk+1 b) algoritmul s afieze valoarea 12345678. (6p.) pan cnd k = 4 c) Scriei programul C/C++ corespunztor scrie a algoritmului dat. (10p.) d) Scriei n pseudocod un algoritm echivalent cu cel dat n care structura repet...pn cnd s fie nlocuit cu o structur repetitiv de alt tip. (4p.)

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

Subiectul I

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 for(i = 0; i < strlen(x); i++) if(x[i] >= A && x[i] <=N) de program alturate tiind c i este o x[i] = x[i] + a-A; variabil de tip ntreg, iar variabila x cout << x; memoreaz iniial irul de caractere ExAMeNe? (4p.) exAmeNe b. ExAmene c. EXAMENE d. 1: 3 2: 3 3: 1 4: 2 5: 1 6: 2 d. examene 5 4 6 2 5 6 3 4.
8

a. 2.

Se numete graf complet un graf n care oricare dou noduri sunt adiacente. Se consider graful neorientat cu 6 noduri, numerotate de la 1 la 6 definit prin listele de adiacent alturate. Cte muchii trebuie adugate n acest graf astfel nct el s devin graf complet? (4p.)
16

a.

b.

14

c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare: 3. Se consider o coad n care iniial au fost introduse, n aceast ordine, elementele 1, 2 i 3. Se noteaz cu ADD x operaia prin care se adaug informaia x n coad i cu ELIM operaia prin care se elimin un nod din coad. Completai punctele de suspensie din secvena urmtoare cu operaiile necesare astfel nct n urma executrii secvenei: ADD 4; ELIM; ELIM; ... ADD 6; ... ADD 7; coada s conin, n aceast ordine, elementele: 4, 5, 6, 7. (6p.) 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.) Scriei programul C/C++ care citete de la tastatur dou valori naturale m i n (1<m, n<51) i construiete n memorie i apoi afieaz o matrice cu m linii, numerotate de la 1 la m, i n coloane, numerotate de la 1 la n; liniile matricei, dou cte dou, sunt completate alternativ numai cu 0 sau numai cu 1, ca n exemplu. Astfel, - elementele liniei 1 i 2 sunt egale cu 0; - elementele liniei 3 i 4 sunt egale cu 1; - elementele liniei 5 i 6 sunt egale cu 0; i aa mai departe. Matricea astfel obinut se va afia pe ecran, cte o linie a matricei 0 0 0 0 0 pe o linie a ecranului, cu cte un spaiu ntre elementele fiecrei 0 0 0 0 0 1 1 1 1 1 linii. 1 1 1 1 1 Exemplu: pentru m = 7 i n = 5 se va afia matricea alturat. (10p.) 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 075 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Ce valoare are F(2758), pentru int F(int x) { funcia F, definit alturat? if(x == 0) return 0; (4p.) if(x%10%2 == 0) return 2 + F(x/10); return 10 F(x/10); } 0 b. 20 c. 12 d. 4

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. n secvena alturat, variabila x memoreaz un tablou unidimensional, iar toate celelalte variabile sunt de tip ntreg. Ce se va afia n urma executrii secvenei dac n=6, iar elementele tabloului sunt: x0=10, x1=5, x2=-6, x3=7, x4=0, x5=-2? (6p.) for(int i = 0; i <n/2; i++) { aux = x[i]; x[i] = x[ni-1]; x[n-i-1] = aux; } for(i = 0; i < n; i++) cout << x[i] << ; | printf(%d , x[i]);

3.

Scriei n limbajul C/C++ definiia complet a subprogramului Invers, cu doi parametri, n i


x, care primete prin intermediul parametrului n un numr natural de cel mult nou cifre i furnizeaz prin parametrul x num rul obinut prin inversarea ordinii cifrelor sale, ca n

exemplu. Exemplu: dac n=78904 atunci, dup apel, x=40987. 4.

(10p.)

Un numr natural se numete palindrom dac numrul citit de la stnga la dreapta este egal cu numrul citit de la dreapta la stnga. a) Scriei programul C/C++ care citete de pe prima linie a fiierului text NUMERE.IN un numr natural n (0<n<101), apoi de pe urmtoarea linie n numere naturale de cel mult nou cifre fiecare. Folosind apeluri utile ale funciei Invers, definit la punctul 3, programul scrie n fiierul text NUMERE.OUT numerele palindroame de pe a doua linie a fiierului NUMERE.IN. Exemplu: dac fiierul NUMERE.IN conine 6 125 66 458 64146 323 4589 atunci NUMERE.OUT va conine numerele: 66 64146 323. (6p.) b) Descriei metoda de rezolvare folosit, n limbaj natural (3 4 rnduri). (4p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 076 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac valoarea real memorat de variabila y nu aparine intervalului deschis determinat de valorile reale distincte memorate de variabilele x i z (x<z)? (4p.) b. (z>x) && (z<y) d. (z<x) && (z>y)

a. !((z<x) || (z>y)) c. !((y>x) && (y<z))

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, reprezentat n pseudocod. S-a notat cu x|y relaia x divide pe y sau y este divizibil cu x i cu [z] partea ntreag a numrului real z. a) b) Scriei valoarea care se va afia dac se citete numrul a=245. (6p.) Scriei o valoare care poate fi citit pentru variabila a astfel nct s se afieze o valoare egal cu valoarea citit. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc fiecare structur ct timpexecut cu cte o structur repetitiv de alt tip. (6p.) citete a (numr natural) x2 p1 ct timp a>1 execut c 0 ct timp x|a execut c x a[a/x] dac c0 atunci pp*c xx+1 scrie p

c) d)

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

Subiectul I

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. foaia de examen litera corespunztoare rspunsului corect. 1. Variabila t memoreaz o matrice cu 5 linii i x=0; 5 coloane, numerotate de la 0 la 4, cu for(i=0;i<5;i++) for(j=i+1;j<5;j++) elemente numere ntregi, iar celelalte x=x+t[i][j]; variabile sunt ntregi. Secvena de program alturat determin memorarea n variabila x a sumei elementelor situate: (4p.) deasupra diagonalei principale, inclusiv b. diagonala principal strict sub diagonala principal d. strict deasupra diagonalei principale strict deasupra diagonalei secundare

a. c. 2.

Fie graful orientat cu 8 vrfuri, numerotate de la 1 la 8, i arcele (1,2), (2,3), (3,1), (4,5), (6,5), (5,7), (7,6), (7,4), (8,7). 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 este: (4p.) 2 b. 4 c. 0 d. 1

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. ntr-o stiv ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast ordine, numerele 1,2,3,4. Asupra stivei se efectueaz, n aceast ordine, urmtoarele operaii: se elimin un element, se adaug dou elemente cu valorile 5 i respectiv 6 i apoi se elimin 3 elemente. Care este valoarea memorat n elementul din vrful stivei dup efectuarea acestor operaii? (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 076 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Dac se utilizeaz metoda backtracking pentru a genera toate permutrile de 4 obiecte i primele 5 permutri generate sunt, n aceast ordine, 4 3 2 1, 4 3 1 2, 4 2 3 1, 4 2 1 3, 4 1 3 2, atunci a 6-a permutare este: (4p.) b. 3 4 2 1 c. 1 4 3 2 d. 4 1 2 3 a. 3 2 1 4

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului long sub(long n) sub, stabilii ce valoare are {if (n!=0) if(n%2!=0) return n%10*sub(n/10); sub(132764)? else return sub(n/10); (6p.) else return 1; } Scriei definiia complet a unui subprogram s care primete prin intermediul parametrului n un numr natural de maximum 9 cifre, prin intermediul parametrului c o cifr i furnizeaz prin intermediul parametrului k numrul de cifre ale lui n care aparin intervalului [c-1,c+1]. Exemplu: pentru n=1233 i c=3, k va avea valoarea 3, iar pentru n=650 i c=3, k va avea valoarea 0. (10p.) Pe prima linie a fiierului BAC.TXT se gsete un numr natural n (0<n<1000), pe linia a doua se gsesc n numere naturale, ordonate cresctor, cu cel mult 4 cifre fiecare, iar pe linia a treia un numr natural a (a<10000). Numerele de pe a doua linie a fiierului sunt separate prin cte un spaiu. S se scrie un program care citete toate numerele din fiier i afieaz pe ecran mesajul DA dac num rul a se afl printre cele n numere de pe linia a doua a fiierului, sau mesajul NU n caz contrar. Exemplu: dac fiierul conine: 7 2 3 3 4 5 8 9 8 atunci se va afia: DA a) Descriei n limbaj natural o metod de rezolvare eficient ca timp de executare. b) Scriei programul C/C++ corespunztor metodei descrise la punctul a). (4p.) (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 077 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila ntreag n memoreaz un numr natural de exact 5 cifre. Instruciunea care determin eliminarea din numrul n a primei i ultimei cifre este: (4p.) b. n=n/10%1000; d. n=n%10/1000;

a. n=n%100/10; c. n=n/10%10000;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, reprezentat n citete a (numr ntreg) pseudocod: k0 ct timp a0 execut a) Scriei valoarea care se va afia dac se citesc, n citete b acest ordine, valorile: 2, 4, 6, 5, 7, 3, 9, 8, 0. (6p.) dac a < b atunci kk+1 b) Scriei un ir de date de intrare format din cel puin 3 valori care s determine afiarea valorii 0. (4p.) a b c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) scrie k d) Scriei n pseudocod un algoritm echivalent cu cel dat, algoritm n care s se nlocuiasc structura ct timpexecut cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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. 1. Variabila t memoreaz o matrice cu 8 linii i 8 z=0; coloane, numerotate de la 0 la 7, cu elemente for(i=0;i<8;i++) for(j=0;j<i;j++) numere ntregi, iar variabilele i i j sunt ntregi. z=z+t[i][j]; Secvena de program alturat determin memorarea n variabila ntreag z a sumei tuturor elementelor situate: (4p.) strict sub diagonala principal strict deasupra diagonalei principale b. d. deasupra diagonalei principale, inclusiv diagonala principal strict deasupra diagonalei secundare

a. c. 2. a.

Num rul minim de noduri cu gradul 1 pentru un graf neorientat conex cu 21 noduri i 20 muchii este: (4p.) 11 b. 3 c. 2 d. 1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 4. Cte noduri de grad 1 are arborele cu rdcin, cu 7 noduri, numerotate de la 1 la 7, descris prin urmtorul vector de tai: (5,1,4,5,0,4,3) (6p.) ntr-o stiv ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast ordine, numerele 5,4,3,2,1. Asupra stivei se efectueaz urmtoarele operaii: se elimin 2 elemente, se adaug un element cu valoarea 6 i apoi se elimin 3 elemente. Care este valoarea memorat n elementul din vrful stivei dup efectuarea operaiilor n ordinea precizat? (6p.) 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 a fiecrui cuvnt n majuscul. Exemplu: dac se citete textul azi este examen de bacalaureat se va afia Azi Este Examen De Bacalaureat (10p.)

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 077 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. La un concurs sportiv sunt 5 echipe, iar n fiecare echip sunt cte 10 elevi. Problema determinrii tuturor grupelor de cte 5 elevi, cte unul din fiecare echip, este similar cu (4p.) generarea tuturor: b. submulimilor cu 5 elemente ale mulimii {1,2,,10} d. partiiilor mulimii {1,2,,10}

a. elementelor produsului cartezian AxAxAxAxA, unde A={1,2,,10} c. permutrilor mulimii {1,2,3,4,5}

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului int sub(long n) sub, stabilii ce valoare are {if (n!=0) if(n%2!=0) return n%10+sub(n/10); sub(132764). else return sub(n/10); (6p.) else return 0; } Fiierul text numere.in are pe prima linie un numr natural n (0<n<1000) i pe urmtoarea linie n numere reale. Scriei un program C/C++ care citete numerele din fiier i afieaz pe ecran media aritmetic a numerelor aflate pe a doua linie a fiierului, care au partea ntreag format din cel puin dou cifre. (10p.) a) Scriei doar antetul unui subprogram prim, cu doi parametri, care primete prin intermediul parametrului n un numr natural i furnizeaz prin intermediul parametrului p valoarea 1 dac n este prim i 0 n caz contrar. (2p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural n (3<n<100) i apoi n numere naturale cu maximum 4 cifre fiecare i afieaz pe ecran, desprite prin cte un spaiu, toate numerele prime dintre cele n numere citite, n ordinea invers fa de cum au fost citite, utiliznd apeluri utile ale subprogramului prim. (8p.) Exemplu: pentru n=12 i numerele 1 2 2 3 7 2 9 3 3 9 7 1 se vor afia valorile : 7 3 3 2 7 3 2 2

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 078 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. a. b. c. d. Variabila ntreag n memoreaz un numr natural de exact 7 cifre. Instruciunea care determin eliminarea din numrul n a celor 3 cifre din mijlocul lui este: (4p.) n=n/100000*100+n%100; n=n%10000/100+n/100; n=n/10%10000; n=n/1000;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, reprezentat n citete a (numr ntreg) pseudocod. k0 S-a notat cu x%y restul mpririi numrului natural x la ct timp a0 execut citete b numrul natural nenul y . dac a%10 = b%10 atunci Scriei valoarea care se va afia dac se citesc, n kk+1 a) acest ordine, valorile: 23, 423, 673, 55, 77, 3, 93, 38, 0. (6p.) ab b) Scriei un ir de date de intrare format din cel puin 3 scrie k valori care s determine afiarea valorii 0. (4p.) c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc structura ct timpexecut cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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. Variabila t memoreaz o matrice cu 8 linii i 8 z=0; coloane, numerotate de la 0 la 7, cu elemente for(i=0;i<8;i++) for(j=0;j<8-i;j++) numere ntregi, iar celelalte variabile sunt z=z+t[i][j]; ntregi. Secvena de program alturat determin memorarea n variabila ntreag z a sumei tuturor elementelor situate: (4p.) strict sub diagonala secundar b. deasupra diagonalei principale, inclusiv diagonala principal strict deasupra diagonalei secundare

a. c. 2. a.

deasupra diagonalei secundare, inclusiv d. diagonala secundar

Un graf neorientat are 40 de noduri si 40 de muchii. Numrul minim i numrul maxim de componente conexe ale grafului este (4p.) 1, respectiv 30 b. 1, respectiv 31 c. 1, respectiv 40 d. 2, respectiv 30

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 s nu mai conin circuite? (6p.) ntr-o coad ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast ordine, numerele 1,2,3,4,5. Asupra cozii se efectueaz, n aceast ordine, urmtoarele operaii: se elimin un element, se adaug dou elemente cu valorile 6 i respectiv 7 i apoi se elimin 2 elemente, se adaug elementul cu valoarea 8 i se elimin un element. Care este valoarea ultimului element eliminat? (6p.) Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere, i un cuvnt cu cel mult 15 litere. Pe ecran se va afia irul obinut prin inserarea n textul iniial a caracterului ? dup fiecare apariie a cuvntului citit. Literele textului i ale cuvntului sunt litere mici ale alfabetului englez. Exemplu: dac se citete de la tastatur textul examenul de bacalaureat si examenul de atestat i cuvntul examen se va afia: examenul? de bacalaureat si examenul? de atestat. (10p.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 078 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un program construiete i afieaz elementele produsului cartezian AxBxC pentru mulimile A={1,2,3,4}, B={1,2,3}, C={1,2}. Care dintre urmtoarele triplete NU va fi afiat? (4p.) a. (3,2,1) b. (1,3,2) c. (1,2,3) d. (2,2,2)

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului int sub(long n) sub, stabilii care este valoarea expresiei {if (n!=0) if(n%2!=0) return 1+sub(n/10); sub(123986). else return sub(n/10); (6p.) else return 0; } Se citete de la tastatur un numr natural n, cu cel mult patru cifre, n2. S se scrie n fiierul prime.out, pe aceeai linie, separate prin cte un spaiu, toate numerele prime mai mici sau egale cu n. Exemplu: pentru n=10, n fiierul prime.out vor fi scrise numerele 2 3 5 7 . 4. (10p.) a) Scriei definiia complet a unui subprogram max_neg cu trei parametri, care primete prin intermediul parametrului n (0<n<100) un numr natural, prin intermediul parametrului v un tablou unidimensional cu n numere ntregi cu cel mult 4 cifre fiecare i furnizeaz prin intermediul parametrului max cea mai mare valoare strict negativ dintre numerele din tablou sau valoarea 0 dac nu exist astfel de numere. (4p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural n (3<n<100) i apoi n numere ntregi cu cel mult 4 cifre fiecare i afieaz pe ecran cea mai mare valoare strict negativ i cea mai mic valoare strict pozitiv dintre cele n citite, utiliznd pentru determinarea ambelor valori apeluri utile ale subprogramului max_neg. Dac nu exist valori negative se va afia mesajul NU EXISTA VALORI NEGATIVE, respectiv mesajul NU EXISTA VALORI POZITIVE dac nu exist valori pozitive. Exemplu: pentru n=12 i numerele 11 2 2 -3 2 2 3 -13 2 3 2 10 se va afia: -3 2 (6p.)

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 079 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Stabilii ce se afieaz n urma executrii secvenei y=10.1234; de instruciuni C/C++ alturate, dac y este o x=(int)(y*100)/100; variabil real, iar x o variabil ntreag. (4p.) printf(%d,x); | cout<<x; b. 10.12 c. 0.12 d. 10

a. 1012.34

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. algoritmul alturat, reprezentat n citete a (numr natural) x2 k0 ct timp a>1 execut c0 ct timp x|a execut cx a[a/x] dac c0 atunci kk+x xx+1 scrie k

S-a notat cu x|y relaia x divide pe y sau y este divizibil cu x i cu [z] partea ntreag a numrului real z. a) b) Scriei valoarea care se va afia dac se citete numrul 245. (6p.) Scriei o valoare care poate fi citit pentru variabila a astfel nct s se afieze o valoare egal cu cea citit. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, algoritm n care s se nlocuiasc ambele structuri ct timp...execut cu o structur repetitiv de alt tip. (6p.)

c) d)

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

Subiectul I

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. foaia de examen litera corespunztoare rspunsului corect. 1. Variabila t memoreaz o matrice cu 8 linii i 8 z=0; coloane, numerotate de la 0 la 7, cu elemente for(i=0;i<8;i++) for(j=7-i;j<8;j++) numere ntregi, iar celelalte variabile sunt z=z+t[i][j]; ntregi. Secvena de program alturat determin memorarea n variabila ntreag z a sumei tuturor elementelor situate: (4p.) sub diagonala secundar, diagonala secundar strict sub diagonala principal inclusiv b. d. deasupra diagonalei principale, inclusiv diagonala principal strict deasupra diagonalei secundare

a. c. 2.

Se consider un graf orientat cu 6 vrfuri, numerotate de la 1 la 6, cu proprietatea c exist o muchie cu extremitea iniial n vrful i i extremitea final n vrful j dac i este divizor al lui j. Gradul interior (intern) maxim al vrfurilor din acest graf este: (4p.) 3 b. 5 c. 4 d. 2

a.

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 numerotat 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 conex? (6p.) Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere (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 afia: E*xa*me*nu*l de* ba*ca*la*u*re*a*t. (10p.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 079 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Problema generrii tuturor codurilor formate din exact 4 cifre nenule, cu toate cifrele distincte dou cte dou, este similar cu generarea tuturor: (4p.) b. permutrilor elementelor unei mulimi cu a. aranjamentelor de 9 elemente luate cte 4 4 elemente c. elementelor produsului cartezian d. submultimilor cu 4 elemente ale mulimii {1,2,3,4,5,6,7,8,9} AxAxAxA unde A este o mulime cu 9 elemente

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului f, int f(long x) stabilii ce valoare are expresia f(1209986). { int y,z; if (x==0) return x; (6p.) else {y=x%10; z=f(x/10); if(y>z) return y ; else return z; } } Scriei definiia complet a unui subprogram max_d, cu trei parametri, care primete prin intermediul parametrului n un numr natural cu cel puin dou cifre i cel mult nou cifre i care returneaz prin intermediul parametrilor m1 i m2 cele mai mari dou cifre ale numrului n. (10p.) Se citete de pe prima linie a fiierului text numere.in un numr natural n (0<n<10000) i, de pe a doua linie a fiierului, n numere naturale din intervalul [1,100] i se cere s se afieze pe ecran, desprite prin cte un spaiu, numrul sau numerele ntregi din intervalul [1,100] care nu apar printre numerele citite. Dac pe a doua linie a fiierului apar toate numerele din intervalul precizat, se va afia mesajul NU LIPSESTE NICIUN NUMAR. Alegei un algoritm de rezolvare eficient din punctul de vedere al timpului de executare. Exemplu: pentru fiierul numere.in cu urmtorul coninut 12 4 2 3 1 6 5 7 8 9 11 10 100 se vor afia valorile 12 13 99. a) Explicai n limbaj natural metoda utilizat justificnd eficiena acesteia (4-6 rnduri) (4p.) b) Scriei programul C/C++ ce rezolv problema enunat, corespunztor metodei descrise la punctul a). (6p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 080 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele n, z i u sunt ntregi, iar n memoreaz un numr natural cu cel puin 2 cifre. Secvena C/C++ care determin interschimbarea ultimelor dou cifre din scrierea numrului memorat de n este: (4p.) a. n=(n/100*10+n%10)*10+n%100/10; b. u=n%10; z=n/100%10; n=n/100+u*10+z; c. n=(n/100*10+n%10)*10+n/100%10; d. u=n%10; z=n/100%10; n=n/100*100+z*10+u;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. algoritmul alturat, reprezentat n citete a (numr natural) b0 p1 ct timp a>0 execut ca%10 dac c%20 atunci bb+p*c pp*10 a[a/10] scrie b

S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z. a) b) Scriei valoarea care se va afia dac se citete numrul a=245903. (6p.) Scriei o valoare care poate fi citit pentru variabila a astfel nct s se afieze o valoare egal cu cea citit. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, algoritm n care s se nlocuiasc structura ct timpexecut cu o structur repetitiv de alt tip. (6p.)

c) d)

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

Subiectul I

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, z=0; numerotate de la 0 la 7, cu elemente numere for(i=0;i<8;i++) for(j=8-i;j<8;j++) ntregi, secvena de program alturat z=z+t[i][j]; determin memorarea n variabila ntreag z a sumei tuturor elementelor situate: (4p.) strict deasupra diagonalei principale b. deasupra diagonalei principale, inclusiv diagonala principal strict sub diagonala secundar

a. c. 2.

deasupra diagonalei secundare, inclusiv d. diagonala secundar

Se consider un graf neorientat cu 7 noduri, numerotate de la 1 la 7, cu proprietatea c exist muchie cu extremitile n nodurile i i respectiv j dac numerele i i j sunt de aceeai paritate sau dac i este divizor al lui j. Gradul maxim al unui nod din acest graf este: (4p.) 1 b. 7 c. 4 d. 6

a.

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.) ntr-o coad ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast ordine, numerele 6,5,4,3,2,1. Asupra cozii se efectueaz, n aceast ordine, urmtoarele operaii: se elimin un element, se adaug dou elemente cu valorile 6 i respectiv 7 i apoi se elimin 3 elemente. Care sunt ultimele 3 valori eliminate? (6p.) Scriei un program 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 080 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. O clas de 28 de elevi este la ora de educaie fizic i profesorul dorete s formeze o echip de 4 elevi; ordinea elevilor n cadrul echipei nu are importan. Algoritmul de generare a tuturor posibilitilor de a forma o asfel de echip este similar cu algoritmul de generare a tuturor: (4p.) a. aranjamentelor de 28 de elemente luate b. combinrilor de 28 de elemente luate cte 4 cte 4 d. elementelor produsului cartezian c. partiiilor unei mulimi AxAxAxA, A fiind o mulime cu 28 de elemente

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int sub(long n) 2. Pentru definiia alturat a subprogramului {if (n!=0) sub, stabilii ce valoare are if(n%2!=0) return n%10+sub(n/10); sub(132764). else return sub(n/10); (6p.) else return 0;} 3. Scriei definiia complet a unui subprogram cu numele patrat care primete prin intermediul parametrului n (n<100) un numr natural i prin intermediul parametrului v un tablou unidimensional cu n elemente, numere naturale, i afieaz pe ecran acele elemente ale tabloului care sunt ptrate perfecte. Numerele vor fi afiate cte 10 pe linie, iar pe aceeai linie desprite prin cte un spaiu. Exemplu: pentru n=10 i elementele tabloului v=(3,4,25,100,7,20,64,9,5,50) pe ecran vor fi afiate numerele 4 25 100 64 9. (10p.) 4. a) Scriei definiia complet a unui subprogram cu numele ordonat care primete prin intermediul singurului su parametru, n, un numr natural cu cel mult 9 cifre i returneaz valoarea 1 dac numrul are cifrele ordonate strict cresctor sau strict descresctor i valoarea 0 n caz contrar. (4p.) b) Scriei un program C/C++ care citete de pe prima linie a fiierului text numere.in un numr natural n (0<n<1000) i de pe a doua linie a fiierului n numere naturale cu cel mult 9 cifre i afieaz pe ecran, desprite prin cte un spaiu, toate numerele naturale coninute de a doua linie a fiierului care au cifrele ordonate strict cresctor sau strict descresctor, utiliznd apeluri utile ale subprogramului ordonat . (6p.) Exemplu: dac fiierul numere.in are urmtorul coninut: 5 134 6420 1243 9802 731 pe ecran se va afia: 134 6420 731.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 081 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre expresiile de mai jos are valoarea 1 dup a=11;b=1; executarea secvenei de instruciuni C/C++, scrise for(i=1;i<=5;i++) { b=b+1; alturat, n care toate variabilele sunt ntregi? a=a-1; (4p.) } b. a==b c. a>b d. a+b==6 a. a<b Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y, iar cu [z] partea ntreag a numrului real z. a) b) c) d) Scriei valorile care se vor afia dac se citete numrul n=2545. (4p.) Scrieti o valoare de 5 cifre care poate fi citit pentru n astfel nct s se afieze valorile 8 1. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de un alt tip. (6p.) citete n (numr natural nenul) ok1 aux0 ct timp n>0 execut dac auxn%10 atunci dac aux=n%10 atunci ok0 altfel auxn%10 n[n/10] scrie aux, ,ok

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

Subiectul I

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.) s[0]==s[1] b. s[1]==s[2] c. s[0]==s[2] d. 0 1 1 1 1 d. s[1]==s[3] 1 0 1 1 0 3 1 1 0 1 0 1 1 1 0 1 1 0 0 1 0 Graful neorientat cu 5 noduri numerotate de la 1 la 5, este reprezentat cu ajutorul matricei de adiacen alturate. Numrul maxim de muchii ce pot fi eliminate astfel nct graful parial rezultat s aib 2 componente conexe este: (4p.) 5 b. 4 c. 6

a. 2.

a.

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.) Variabila cuv reine un cuvnt format din cel mult 25 litere mici ale alfabetului englez. Scriei o secven de program C/C++ care afieaz pe ecran litera din mijloc a cuvntului, dac acesta are un numr impar de caractere, sau cele dou litere din mijloc ale cuvntului, dac acesta are un numr par de caractere. Exemplu: dac se citete cuvntul mihai se afieaz litera h. (6p.) Scriei un program C/C++ care citete de la tastatur dou numere naturale n i m (n10, m10), apoi elementele unui tablou bidimensional cu n linii i m coloane, numere ntregi distincte, de maximum 4 cifre fiecare, i care determin cel mai mic i cel mai mare numr din tablou i le interschimb. Matricea modificat va fi afiat pe ecran, cte o linie a matricei pe o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. Exemplu: pentru n=5, 2 3 m=4 i tabloul 4 5 6 24 25 -2 14 57 -5 17 13 12 36 8 9 10 70 43 se va afia tabloul 2 3 4 5 6 24 25 -2 14 57 70 17 13 12 36 (10p.) 8 9 10 -5 43

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 081 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Folosind cifrele {1,2,3} se genereaz, n ordinea cresctoare a valorii, toate numerele pare formate din trei cifre distincte. Astfel, se obin n ordine, numerele: 132, 312. Folosind aceeai metod, se genereaz numerele pare formate din patru cifre distincte din mulimea {1,2,3,4}. Care va fi al 4-lea numr generat ? (4p.) b. 1432 c. 2314 d. 1423 a. 2134

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului f, int f(int x) scriei ce valoare are f(5552). (6p.) { if(x==0) return 0; else return f(x/10)+1; } Subprogramul ordonat are 4 parametri: - n, prin care primete un numr natural (1n100) ; - v, prin care primete un tablou unidimensional cu n elemente, numerotate de la 1 la n, numere naturale cu cel mult patru cifre fiecare; - k1 i k2 dou numere ntregi (1k1k2n). Subprogramul returneaz valoarea 1 dac elementele din tablou, cu indici n intervalul [k1,k2], se afl n ordine cresctoare, i 0 n caz contrar . a) Scriei numai antetul subprogramului ordonat. (4p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural n (1n100) i cele n elemente, numerotate de la 1 la n, ale unui tablou unidimensional. Elementele sunt numere naturale, cu cel mult 4 cifre fiecare. Programul determin i afieaz pe ecran, separate printr-un spaiu, dou valori, k1 i k2, astfel nct secvena format din elementele cu indici n intervalul [k1,k2], pe poziii consecutive n tablou, s fie ordonat cresctor i s aib o lungime maxim. Dac sunt mai multe secvene de lungime maxim se vor afia indicii corespunztori unei valori minime a lui k1. Se vor utiliza apeluri utile ale subprogramului ordonat. (10p.) Exemplu: dac n=7 i tabloul este (4, -6, 1, 2, 1, 4, 5) se va afia 2 4. 4. Fiierul text NUMERE.IN conine, pe fiecare linie a sa, cte dou numere naturale mai mici sau egale dect 10000, desprite printr-un spaiu. Scriei programul C/C++ care s afieze pe ecran, unul sub altul, cel mai mare numr de pe fiecare linie, ca n exemplu. (6p.) 14 12 14 Exemplu: dac atunci pe ecran se 110 fiierul NUMERE.IN 110 12 afieaz: 4 4 -8 are coninutul alturat:

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 082 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele ntregi a i b memoreaz numere naturale. Care dintre expresiile C/C++ de mai jos este echivalent cu expresia alturat? (a+b)%2==0 (4p.) a. (a%2==0) && (b%2==0)&& (a%2==1) && (b%2==1) b. (a%2!=0) && (b%2!=0) && (a%2==1) && (b%2==1) c. (a%2==1) || (b%2==1) || (a%2==0) && (b%2==0) d. (a%2==0) && (b%2==0) || (a%2==1) && (b%2==1) Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. citete m (numr natural, m<10) S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y, iar cu [z] partea ntreag a citete n (numr natural, n>1) numrului real z. pentru i1,n execut a) Scriei valorile care se vor afia dac numerele citite citete x sunt m=5, n=5, apoi, n aceast ordine: 25, 40, 8, 15, (numr natural) 133. (6p.) auxx b) Scriei care este cea mai mare valoare care poate fi ok0 citit pentru m dac n=4, iar pentru x se citesc, n ct timp x>0 execut dac x%10=m atunci ordine, valorile 121, 761, 961, 4481 astfel nct, la ok1 finalul executrii algoritmului, s se afieze valoarea 761. (6p.) x[x/10] c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) dac ok=1 atunci scrie aux d) Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de un alt tip. (4p.)

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

Subiectul I

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 format din noduri distincte, de la nodul 1 la nodul 4? (4p.) 5 b. 6 c. 4 d. 7 Se consider o stiv n care au fost introduse, n aceast ordine, numerele 1, 2 i 3. Care dintre valorile din stiv va fi eliminat prima? (4p.) b. 2 c. 3 d. oricare dintre ele

a. 2.

a. 1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. tiind c variabila s reine un ir de caractere, scriei ce se va afia la executarea secvenei alturate. (6p.) strcpy(s,barba); for(i=0;i<strlen(s);i++) if(s[i]==b) s[i]=t; cout<<s; | printf(%s,s); 1 0 0 0 1 0 0 1 0 0 1 0

4.

Un graf neorientat cu nodurile numerotate de la 1 la 4 este reprezentat 0 prin matricea de adiacen alturat. Scriei numrul de noduri care au 1 grad par i numrul de noduri care au grad impar. (6p.) 1 0

5.

Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n10) i apoi n*n numere ntregi distincte, fiecare avnd cel mult 4 cifre, reprezentnd elementele unui tablou bidimensional cu n linii i n coloane. Programul determin cel mai mic i cel mai mare numr de pe diagonala principal, le interschimb, apoi afieaz pe ecran matricea obinut dup modificare. Fiecare linie a matricei se afieaz pe cte o linie a ecranului, iar elementele unei linii sunt separate prin cte un spaiu. (10p.) 2 24 15 -8 se va afia 73 24 15 -8 Exemplu: pentru n=4 i tabloul: 3 25 17 9 3 25 17 9 4 -2 73 10 4 -2 2 10 5 14 12 10 5 14 12 10

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 082 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Folosind cifrele {1,2,3} se genereaz, n ordinea cresctoare a valorii, toate numerele pare formate din trei cifre distincte. Astfel se obin, n ordine, numerele: 132, 312. Folosind aceeai metod, se genereaz numerele pare formate din patru cifre distincte din mulimea {1,2,3,4}. Care va fi al 5-lea numr generat ? (4p.) 1432 2134 2314 1423 b. c. d. a. Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului f, int f(int x) scriei ce valoare are f(123). (6p.) { if(x==0)return 0; else if(x%2==0)return 1+f(x/10); else return 2+f(x/10); } Scriei n C/C++ definiia complet a subprogramului medie, care are doi parametri: - n, prin care primete un numr natural (1n100) ; - v, prin care primete un tablou unidimensional cu n elemente, fiecare element avnd cel mult patru cifre. Funcia returneaz media aritmetic a elementelor impare din tablou sau valoarea 0 dac nu exist elemente impare. (10p.) Fiierul text NUMERE.IN conine, pe mai multe linii, cel mult 30000 de numere naturale nenule mai mici sau egale dect 500, desprite prin cte un spaiu. a) Scriei programul C/C++ care afieaz pe ecran, n ordine cresctoare, toate numerele care au aprut exact o singur dat n fiierul NUMERE.IN, desprite prin cte un spaiu. Exemplu: dac fiierul NUMERE.IN conine numerele scrise alturat, se vor 2 23 34 3 afia valorile urmtoare: 3 4 5 6 34 . (6p.) 8 9 9 23 6 8 9 2 b) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul a) 4 5 23 9 (3 4 rnduri). (4p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 083 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele ntregi a i b memoreaz numere naturale. Care dintre (a+b)%2==1 expresiile C/C++ de mai jos este echivalent cu expresia alturat? (4p.) a. (a%2==0) && (b%2==1)|| (a%2==1) && (b%2==0) b. (a%2!=0) && (b%2!=0) && (a%2==1) && (b%2==1) c. (a%2==1) || (b%2==1) || (a%2==0) && (b%2==0) d. (a%2==0) && (b%2==0) && (a%2==1) && (b%2==1) Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y, iar cu [z] partea ntreag a numrului real z. a) b) Scriei ce se afieaz la executarea algoritmului dac se citete valoarea x=125. (6p.) Scriei cea mai mare valoare cu exact 3 cifre care poate fi citit pentru x astfel nct s se afieze mesajul nu. (6p.) Scriei programul algoritmului dat. C/C++ corespunztor (10p.) citete x (numr natural, x>1) auxx ok11 ct timp x10 execut dac x%10>[x/10]%10 atunci ok10 x[x/10] dac ok1=1 atunci scrie aux altfel scrie nu

c) d)

Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de alt tip. (4p.)

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

Subiectul I

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. Se consider graful orientat cu nodurile numerotate de la 1 la 5 i arcele (1,2), (1,4), (2,1), (2,5), (3,2), (4,3), (5,1), (5,4). Care este numrul minim de arce care poate fi adugat pentru ca toate nodurile s aib i gradul extern i gradul intern numere par? (4p.) 2 b. 1 c. 0 d. 3 Se consider o coad n care au fost introduse, n aceast ordine, numerele 1, 2 i 3. Care dintre valorile din coad va fi eliminat prima? (4p.) 1 b. 2 c. 3 d. oricare dintre ele

a. 2. a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider un graf neorientat cu 5 noduri, n care nodurile au urmtoarele grade: 2,2,2,1,1. tiind c graful are dou componente conexe, scriei matricea de adiacen a acestuia. (6p.) Variabila cuv reine un cuvnt format din cel mult 25 litere mici ale alfabetului englez. Scriei o secven de program C/C++ care afieaz pe ecran vocalele cuvntului, n ordinea apariiei lor n cuvnt. Exemplu: dac cuv reine cuvntul examen se afieaz eae (6p.) Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n10) i apoi n*n numere ntregi distincte, fiecare avnd cel mult 4 cifre, reprezentnd elementele unui tablou bidimensional cu n linii i n coloane. Programul determin cel mai mic i cel mai mare numr de pe diagonala secundar, le interschimb, apoi afieaz pe ecran matricea obinut dup modificare. Fiecare linie a matricei se afieaz pe cte o linie a ecranului, iar elementele unei linii sunt separate prin cte un spaiu. (10p.) 2 24 15 -8 se va afia 2 24 15 17 Exemplu: pentru n=4 i tabloul: 3 25 17 9 3 25 -8 9 4 -2 73 10 4 -2 73 10 5 14 12 10 5 14 12 10

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 083 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Subprogramul cmmdc are doi parametri i returneaz cel mai mare divizor comun al valorilor celor doi parametri, iar subprogramul max are doi parametri i returneaz cea mai mare dintre valorile celor doi parametri. Care este rezultatul evaluarii expresiei: max(cmmdc(max(194,87),342),3)? (4p.) b. 194 c. 3 d. 2 a. 87 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int f(int x) 2. Pentru definiia alturat a subprogramului f, { if(x==0)return 0; scriei ce valoare are f(123). (6p.) else if(x%2==0)return 3+f(x/10); else return 4+f(x/10); } 3. Scriei n C/C++ definiia complet a subprogramului medie, care are doi parametri: - n, prin care primete un numr natural (1n100) ; - v, prin care primete un tablou unidimensional cu n elemente, numere ntregi, fiecare avnd cel mult patru cifre. Funcia returneaz media aritmetic a elementelor pare din tablou sau valoarea 0 dac nu exist elemente pare. (10p.) 4. Fiierul text NUMERE.IN conine, pe mai multe linii, cel mult 30000 de numere naturale nenule mai mici sau egale dect 500, desprite prin cte un spaiu. a) Scriei programul C/C++ care afieaz pe ecran, n ordine descresctoare, desprite prin cte un spaiu, toate numerele care au aprut exact o singur dat n fiierul NUMERE.IN. Exemplu: dac fiierul NUMERE.IN conine numerele scrise alturat, se vor 2 23 34 3 afia valorile urmtoare: 34 6 5 4 3 (6p.) 8 9 9 23 6 8 9 2 b) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul a) 4 5 23 9 (3 4 rnduri). (4p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 084 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila ntreag n memoreaz un numr natural cu exact 4 cifre. Care dintre expresiile C/C++ de mai jos este echivalent cu cea n/100%10%2==0 alturat? (4p.) b. n%1000%2==0 a. n%100/10%2!=1 c. n/100%2==0 d. n/10%10!=1 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y, iar cu [z] partea ntreag a numrului real z. a) Scriei ce se afieaz dac numrul citit este n=4576. (6p.) b) Scriei cea mai mare valoare cu exact 3 cifre, care poate fi citit pentru n astfel nct s se afieze, n aceast ordine, numerele 8 6. (4p.) c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) d) Scriei n pseudocod un algoritm echivalent cu cel dat care s utilizeze o structur repetitiv de alt tip n locul structurii ct timp...execut. (6p.) citete n (numr natural, n>1) ok0 ct timp n>0 execut cn%10 dac c>5 i c%2=0 atunci ok11 altfel ok10 dac ok1=1 atunci scrie c, ok1 n[n/10] dac ok=0 atunci scrie nu

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

Subiectul I

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], [1,4], [2,3], [3,5], [3,6], [4,5], [5,6]. Cte lanuri, distincte, formate doar din noduri distincte, exist de la nodul 1 la nodul 6 n graful dat? Dou lanuri sunt distincte dac difer prin cel puin o muchie. (4p.) 4 b. 2 c. 6 d. 0 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). Numrul tuturor descendenilor nodului 2 este: (4p.) 3 b. 1 c. 0 d. 2

a. 2. a.

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.) Scriei secvena de program C/C++ care struct elev { char nume[40]; afieaz pe ecran numele, prenumele i char prenume[40]; media unui elev, reinute de variabila el, float mediabac; declarat alturat. (6p.) }el; Scriei programul C/C++ care citete de la tastatur un numr natural n (1n10), apoi n*n numere ntregi, mai mici dect 32000, reprezentnd elementele unui tablou bidimensional cu n linii i n coloane, i care determin i afieaz pe ecran produsul numerelor pare de pe diagonala principal a tabloului sau mesajul imposibil dac nu exist numere pare. (10p.)

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 084 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Folosind cifrele {2,3,4} se genereaz, n ordinea cresctoare a valorii, toate numerele pare formate din trei cifre distincte. Astfel se obin, n ordine, numerele: 234, 324, 342, 432. Folosind aceeai metod, se genereaz numerele pare formate din patru cifre distincte din mulimea {2,3,4,5}. Care va fi al doilea numr generat? (4p.) a. 2354 b. 3254 c. 5432 d. 2534

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului f, int f(int x) { scriei ce valoare are f(0). (6p.) if(x==100)return 1; else return 1+f(x+1); } Scriei programul C/C++ care citete de la tastatur un numr natural n (1n100), un ir de cte n numere ntregi, cu cel mult 5 cifre fiecare, notat a1,a2,a3,an, apoi un al doilea ir de n numere ntregi, cu cel mult 5 cifre fiecare, notat b1,b2,b3,bn. Programul construiete n memorie i afieaz pe ecran un ir c format din n numere calculate astfel: ci=ai+bi, pentru i=1,2,3,n. Numerele afiate vor fi separate prin cte un spaiu. Exemplu: pentru n=4 i numerele 2,3,7,8 respectiv 43,3,1,8 se afieaz 45 6 8 16. (10p.) 4. Se consider subprogramul CMMMC care primete prin cei doi parametri, x i y, dou numere naturale (1x10000, 1y10000) i returneaz cel mai mic multiplu comun al lor. a) Scriei numai antetul subprogramului CMMMC. (4p.) b) Fiierul text NUMERE.IN conine, pe fiecare linie, cte dou numere naturale nenule mai mici sau egale dect 10000, desprite printr-un spaiu. Scriei un program C/C++ care, pentru fiecare linie k din fiierul NUMERE.IN, citete cele dou numere de pe aceast linie i scrie n fiierul text NUMERE.OUT , tot pe linia k, cel mai mic multiplu comun al acestora, ca n exemplu. Se vor utiliza apeluri utile ale subprogramului CMMMC. (6p.) 84 12 14 Exemplu: dac fiierul atunci fiierul 132 11 12 NUMERE.IN are coninutul NUMERE.OUT va avea 8 4 8 alturat: urmtorul coninut:

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 085 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele ntregi n i m memoreaz numere naturale nenule pare, iar n<m. Care dintre expresiile C/C++ de mai jos are valoarea egal cu numrul de valori impare din intervalul nchis [n,m] ? (4p.) (m-n)/2+1 m/2-n/2 (m-n)/2-1 m%2-n%2 b. c. d. a. Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y, iar cu [z] partea ntreag a numrului real z. a) b) Scriei ce se afieaz dac numrul citit este n=9458. (6p.) Scriei cea mai mare valoare cu exact 3 cifre, care poate fi citit pentru n astfel nct s se afieze, n aceast ordine, numerele 9 7. (4p.) Scriei programul algoritmului dat. C/C++ corespunztor (10p.) citete n (numr natural, n>1) ok0 ct timp n>0 execut cn%10 dac c%2=1 atunci ok11 altfel ok10 dac ok1=1 atunci scrie c, ok1 n[n/10] dac ok=0 atunci scrie nu

c) d)

Scriei n pseudocod un algoritm echivalent celui dat n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv de alt tip. (6p.)

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

Subiectul I

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 noduri cu gradul extern par exist n graful dat? (4p.) 3 b. 2 c. 4 d. 0 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). Lungimea celui mai lung lan format din noduri distincte, care pornete din rdcin este: (4p.) 1 b. 5 c. 3 d. 4

a. 2.

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Scriei secvena de program C/C++ care struct persoana citete de la tastatur numele, prenumele i { char nume[40]; char prenume[40]; salariul unei persoane, memorate de variabila int salariu; p, declarat alturat. (6p.) }p; 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.) Scriei un program C/C++ care citete de la tastatur un numr natural n (1n10) i n2 numere ntregi mai mici dect 32000, reprezentnd elementele unui tablou bidimensional A cu n linii i n coloane i n final n2 numere ntregi mai mici dect 32000 reprezentnd elementele unui tablou bidimensional B cu n linii i n coloane. Programul construiete n memorie i afieaz pe ecran tabloul C, cu n linii i n coloane, construit dup regulile de mai jos, ca n exemplu: - elementele de deasupra diagonalei principale sunt comune cu ale matricei A, situate pe acealeai poziii - elementele de pe diagonala principal sunt egale cu cel mai mic dintre elementele situate pe aceleai poziii n matricele A i respectiv B - elementele situate sub diagonala principal sunt egale cu ale matricei B, situate pe aceleai poziii Fiecare linie a matricei se afieaz pe cte o linie a ecranului, iar elementele de pe aceeai linie sunt separate prin cte un spaiu. (10p.) 1 2 3 4 1 2 3 4 i matricea B: 9 12 3 6 se obine Exemplu: 8 2 7 8 8 2 6 5 matricea C: 5 6 7 8 pentru n=4 4 10 11 12 4 10 60 12 9 15 11 12 i matricea A: 0 9 5 3 0 9 5 3 1 8 7 5

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 085 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Folosind cifrele {1,2,3} se genereaz, n ordinea cresctoare a valorii, toate numerele impare formate din trei cifre distincte. Astfel se obin, n ordine, numerele: 123, 213, 231, 321. Folosind aceeai metod, se genereaz numerele impare formate din patru cifre distincte din mulimea {1,2,3,4}. Care va fi al 2-lea numr generat ? (4p.) a. 1423 b. 1243 c. 4321 d. 1234

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int f(int x) 2. Pentru definiia alturat a subprogramului f, { scriei ce valoare are f(30). (6p.) if(x==20)return 20; else if(x%2==1) return 1+f(x-1); else return 2+f(x-1); } 3. Scriei programul C/C++ care citete de la tastatur un numr natural n (1n100), un ir de cte n numere ntregi, cu cel mult 5 cifre fiecare, notat a1,a2,a3,an, apoi un al doilea ir de n numere ntregi, cu cel mult 5 cifre fiecare, notat b1,b2,b3,bn. Programul construiete n memorie i afieaz pe ecran un ir C format din n numere calculate astfel: ci=ai-bi, pentru i=1,2,3,n. Numerele afiate sunt separate prin cte un spaiu. Exemplu: pentru n=4 i numerele 2,3,7,8 respectiv 43,3,1,8 se afieaz: -41 0 6 0. 4. (10p.) Se consider subprogramul CMMDC care primete prin cei doi parametri, x i y, dou numere naturale (1x10000, 1y10000) i returneaz cel mai mare divizor comun al lor. a) Scriei numai antetul subprogramului CMMDC. (4p.) b) Fiierul text NUMERE.IN conine, pe fiecare linie, cte dou numere naturale nenule mai mici sau egale dect 10000, desprite printr-un spaiu, reprezentnd numitorul i numrtorul cte unei fracii. Scriei un program C/C++ care, pentru fiecare linie k din fiierul NUMERE.IN, citete numitorul i numrtorul fraciei de pe aceast linie i scrie n fiierul text NUMERE.OUT , tot pe linia k, numitorul i numrtorul acestei fracii, adus la forma ireductibil, ca n exemplu. Se vor utiliza apeluri apeluri utile ale subprogramului CMMDC. (6p.) 12 14 6 7 Exemplu: dac fiierul atunci fiierul 11 12 11 12 NUMERE.IN are coninutul NUMERE.OUT va avea 2 2 1 1 alturat: urmtorul coninut: 4 8 1 2

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 086 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre instruciunile C/C++ de mai jos determin nlocuirea cu 0 a ultimei cifre a numrului natural, cu cel puin dou cifre, memorat n variabila ntreag n? (4p.) a. n=n*(n%10); b. n=n/10; c. n=n-n%10; d. n=n-n/10;

citete n, k 2. Se consider algoritmul alturat, descris n pseudocod. (numere naturale nenule) S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y, iar cu [z] partea ntreag a pentru i1,n execut numrului real z. dac [i/k]=0 atunci scrie i Scrie i valorile care se vor afi a dac se citesc, n a) ordine, numerele 7 i 5. (6p.) altfel scrie i%k b) Dac n=20, scriei o valoare care poate fi citit pentru k astfel nct n urma executrii algoritmului s se afieze, n ordine, toate numerele naturale din intervalul nchis [1,n]. (4p.) c) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura pentru...execut cu o structur repetitiv cu test final. (6p.)

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

Subiectul I

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. Care este suma gradelor grafului neorientat cu 4 noduri 0 1 1 numerotate de la 1 la 4, reprezentat prin matricea de 1 0 1 1 1 0 adiacen alturat? 1 0 0 (4p.) 4 b. 10 c. 6 d. 1 0 0 0 8

a. 2. a.

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 b. exam c. menn d. men

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.) n secvena alturat, i, j, m i n sunt variabile for(i=1; i<=m; i++) ntregi iar T este o matrice format din m linii i n for(j=1; j<=n; j++) if ((i+j)%2==0) coloane numerotate de la 1 la m, respectiv de la 1 la T[i][j]=(-1)*(i+j); n. Ce valoare are elementul maxim al acestei else T[i][j]=i+j; matrice, n urma executrii secvenei, dac m=3 i n=5? (6p.) 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 pe 1 3 5 7 cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un 8 6 4 2 9 11 13 15 spaiu. Exemplu: pentru n=2 se obine matricea alturat. (10p.) 16 14 12 10

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 086 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. La examenul de bacalaureat, un elev primete un test format dintr-un subiect de tip I, unul de tip II i unul de tip III. Stiind c pentru fiecare tip de subiect sunt elaborate exact 100 de variante, algoritmul de generare a tuturor posibilitilor de a forma un test este similar cu algoritmul de generare a: (4p.) b. aranjamentelor a. elementelor produsului cartezian d. submulimilor c. permutrilor

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce se afieaz la apelul f(4);? (6p.) void f(int n) { cout<<"*"; | printf("*"); if(n>2) { f(n-1); cout<<"#"; | printf("#"); } }

3.

Scriei definiia complet a subprogramului numar, cu doi parametri, care primete prin intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul parametrului c o cifr nenul; subprogramul retuneaz numrul obinut prin nlocuirea fiecrei apariii a cifrei c n numrul n cu partea ntreag a valorii c/2. Dac c nu apare n n, subprogramul returneaz valoarea n. Exemplu: pentru n=1525735, c=5 valoarea returnat va fi 1222732. (10p.) Fiierul text bac.txt conine cel puin dou i cel mult 1000 de numere naturale, distincte. Numerele sunt separate prin cte un spaiu i fiecare dintre ele are cel mult 9 cifre. a) Scriei un program C/C++ care determin cele mai mici dou numere din fiier, utiliznd un algoritm eficient din punct de vedere al timpului de executare i al spaiului de memorie utilizat. Cele dou numere vor fi afiate pe ecran, n ordine cresctoare, separate printr-un spaiu. (6p.) Exemplu: dac fiierul conine numerele: 512 6 860 3 12 300 se va afia: 3 6 b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 087 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. a. c. Care dintre variantele de mai jos declar constanta x astfel nct aceasta s memoreze corect numrul real 3,14? (4p.) const int x=314/100; const char x=3.14; b. const unsigned int x=3.14; const float x=3.14; d.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. a) b) citete a,b,c (numere naturale nenule)

c) d)

Scriei numrul care se va afia dac se citesc, n ordine, valorile 6, 4 i 10. (6p.) ct timp ab sau ac execut xa Scriei cele mai mari trei numere naturale dac x>b atunci nenule, distincte, cu cel mult dou cifre fiecare, xb care pot fi citite pentru a, b respectiv c, astfel nct s se afieze valoarea 7 la finalul dac x>c atunci executrii algoritmului. (4p.) xc Scriei programul C/C++ corespunztor dac xa atunci algoritmului dat. (10p.) aa-x Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura dac xb atunci bb-x repetitiv ct timp...execut cu o structur repetitiv cu test final. (6p.) dac xc atunci cc-x scrie a

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

Subiectul I

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. Cte muchii are graful neorientat cu 6 noduri numerotate de la 1: 2: 1 la 6, reprezentat prin lista de adiacene alturat? 3: (4p.) 4: 5: 6: 5 b. 4 c. 12 2 1 2 2 2 1 d. 6 3 4 5

6 5 6

a. 2.

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 InfoBAC b. d. forma Infor

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 0 1 0 3. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6, 1 0 1 reprezentat prin matricea de adiacen dat alturat. Scriei toate 0 1 0 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 1 0 0 4.

0 1 0 0 0 0

0 1 0 0 0 0

1 0 0 0 0 0

n secvena alturat, i, j i n sunt variabile ntregi, iar for(i=1; i<=n; i++) T este o matrice ptratic format din n linii i n coloane for(j=1; j<=n; j++) if ((i*j)%2==0) numerotate de la 1 la n. Care este suma elementelor de T[i][j]=(i*j)-n; sub diagonala principal (excluznd elementele care se else T[i][j]=i+j; afl pe diagonala principal), n urma executrii secvenei, dac n=5? (6p.) 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. -1 2 4 5 Exemplu: pentru n=4 i matricea alturat se afieaz valoarea 2.5 0 6 3 1 (sunt luate n considerare doar elementele marcate) 2 4 2 0 (10p.) 3 -5 1 -3

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 087 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Trei elevi vor s nfiineze o trup de rock format dintr-un chitarist solo, un basist i un baterist. Toi trei tiu s cnte att la chitar solo, ct i la chitar bas, i se pricep cu toii i la baterie. Algoritmul de generare a tuturor posibilitilor de a forma trupa este similar cu algoritmul de generare a: (4p.) a. aranjamentelor b. permutrilor c. elementelor produsului cartezian d. submulimilor

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce se afieaz la apelul f(4);? (6p.) void f(int n) { if(n>0) { cout<<n; | printf(%d,n); f(n-1); cout<<n; | printf(%d,n); } }

3.

Scriei definiia complet a subprogramului numar, cu doi parametri, care primete prin intermediul parametrilor a i b dou numere naturale, a fiind format din cel mult 9 cifre, iar b fiind un numr natural strict mai mic dect numrul de cifre ale lui a. Subprogramul nlocuiete cu 0 ultimele b cifre ale numrului a i returneaz valoarea astfel obinut. Exemplu: pentru a=184465709 i b=5, valoarea returnat va fi 184400000. (10p.) Fiierul text bac.txt conine un ir de cel mult 2008 numere naturale nenule, cu cel mult 4 cifre fiecare, pe mai multe rnduri, numerele de pe acelai rnd fiind separate prin cte un spaiu. a) Scriei un program C/C++ care citete de la tastatur un numr natural k i afieaz pe ecran cel mai mare numr din fiierul bac.txt care este mai mic sau egal cu numrul natural k, precum i numrul de apariii ale acestuia n fiier, folosind o metod eficient din punctul de vedere al timpului de executare. Cele dou valori vor fi afiate pe o linie a ecranului, separate printr-un spaiu. Dac n fiier nu exist nici un numr mai mic sau egal cu k, se va afia doar valoarea 0. (6p.) Exemplu: dac n fiier avem numerele 31 2 63 71 8 63 5 281 i numrul citit este k=70, atunci pe ecran se vor afia numerele: 63 2. b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 088 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. In secvenele C/C++ urmtoare toate variabilele sunt de tip ntreg i memoreaz numere cu cel mult 3 cifre. Care dintre variantele de mai jos determin interschimbarea valorilor memorate de variabilele a i b? (4p.) aux=b; a=b; b=aux; a=a+b; b=a-b; a=a-b; b. a=b; b=a; a=a+b; b=a-b; a=b-a; d.

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. algoritmul alturat, descris n citete a (numr natural)

S-a notat cu x%y restul mpririi numrului natural x la p 1 numrul natural nenul y, iar cu [z] partea ntreag a b 0 numrului real z. ct timp a0 execut Scriei numrul care se va afia dac se citete ca%10 a) valoarea 123456. (6p.) dac a%2=0 atunci bb+c*p b) Scriei o valoare cu exact 5 cifre care poate fi citit altfel pentru variabila a astfel nct numrul afiat s fie bb*10+c format din toate cifrele lui a, scrise n ordine invers. (4p.) a[a/10] pp*10 c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) d) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp ... execut cu o structur repetitiv cu test final. (6p.) scrie b

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

Subiectul I

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: 2 6 8 1. Care este numrul de noduri de grad 1 ale grafului neorientat 2: 1 3 cu 8 noduri numerotate de la 1 la 8, reprezentat prin listele de 3: 2 4 7 adiacen alturate? 4: 3 5 (4p.) 5: 4 6: 1 7: 3 8: 1 a. 2. 4 b. 8 c. 3 d. 6 Ce valoare are variabila s de tip ir de caractere dup executarea instruciunii de mai jos? s=strstr(strnset("Bacalaureat",' ',strlen("2008")),"la"); a. BAC2008 b. laureat c. Bacal2008 d. aur2008 (4p.)

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

n secvena alturat, i, j i n sunt variabile ntregi, iar for(i=1; i<=n; i++) T este o matrice ptratic format din n linii i n for(j=1; j<=n; j++) coloane, numerotate de la 1 la n. Care va fi suma if ((i*j)%2==0) T[i][j]=(i*j)-n; elementelor de pe diagonala secundar a matricei n else T[i][j]=i+j; urma executrii secvenei, dac n=5? (6p.) 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 0 6 3 1 2.75 (sunt luate n considerare doar elementele marcate) 2 4 2 0 (10p.) 3 -5 1 -3

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 088 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Ionel dorete s ofere cadouri membrilor familiei sale, format din cei doi prini i o sor. Decide s le ofere stilouri de diferite culori. La magazin exist stilouri de 5 culori diferite. Algoritmul de generare a tuturor posibilitilor de a atribui cte un stilou fiecruia dintre cei trei membri ai familiei, fr s se repete vreo culoare, este similar cu algoritmul de generare a (4p.) a. aranjamentelor b. elementelor produsului cartezian c. permutrilor d. submulimilor

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce valoare are f(4)? (6p.) int f(int n) { if (n==0) return 1; else if (n==1) return 2; else return f(n-1)-f(n-2); }

3.

Scriei definiia complet a subprogramului numar, cu patru parametri, care primete prin intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul parametrilor c1 i c2 cte o cifr, cu proprietatea c1<c2; subprogramul furnizeaz prin intermediul celui de al patrulea parametru, x, o valoare egal cu suma cifrelor lui n care aparin intervalului nchis [c1;c2]. Exemplu: pentru n=123, c1=2 i c2=7, valoarea furnizat prin x va fi 5. (10p.) Fiierul text bac.txt conine cel mult 10000 de numere naturale din intervalul nchis [0, 999], aflate pe mai multe linii, numerele de pe aceeai linie fiind separate prin cte un spaiu. a) Scriei un program C/C++ care determin i afieaz pe ecran cel mai mic numr prim a cu proprietatea maxa, unde max este cea mai mare valoare din fiier. Se va utiliza un algoritm eficient din punct de vedere al spaiului de memorie utilizat. (6p.) Exemplu: dac fiierul conine numerele: 5 8 99 5 1 1 2 2 se va afia 101. b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 089 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila ntreg n memoreaz un numr natural format din exact dou cifre nenule. Care dintre urmtoarele instruciuni C/C++ determin memorarea n variabila ntreag t a numrului care are aceleai cifre ca i n, dar n ordine invers? (4p.) a. t=n%10*10+n/10; b. t=n/10*10+n%10; d. t=n%10*10+t/10; c. t=n%10+n/10;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. algoritmul alturat, descris n citete n (numr natural)

S-a notat cu x%y restul mpririi numrului natural x la tn; r0 numrul natural nenul y, iar cu [z] partea ntreag a ct timp t>0 execut numrului real z. dac (t%10)%2=1 atunci a) Scriei num rul care se va afia dac se citete numrul rr*10+1 altfel n=3072941. (6p.) rr*10+t%10 b) Scriei un numr format din exact 5 cifre, ele fiind n ordine strict cresctoare, care poate fi citit astfel nct t[t/10] executarea algoritmului s determine afiarea unui numr egal cu cel citit. (4p.) n 0 ct timp r>0 execut c) Scriei programul C/C++ corespunztor algoritmului dat. nn*10+r%10 (10p.) r[r/10] d) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc fiecare structur ct timp scrie n execut cu cte o structur repetitiv cu test final.(6p.)

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

Subiectul I

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. 1. Enumerai nodurile de grad 1 din graful neorientat cu 8 noduri 1: 3 4 5 6 numerotate de la 1 la 8, reprezentat prin listele de adiacen 2: 3 3: 1 2 7 alturate. 4: 1 (4p.) 5: 1 8 6: 1 7: 3 8: 5 2 3 4 5 6 b. 2 4 7 8 c. 2 4 6 d. 2 4 6 7 8 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 b. informat c. inform d. informBAC

a. 2.

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.) n secvena alturat, i, j i n sunt for(i=1; i<=n; i++) variabile ntregi iar T este o matrice for(j=1; j<=n; j++) ptratic format din n linii i n coloane if ((i*j)%2==0) T[i][j]=(i*j)/2; numerotate de la 1 la n. Care va fi suma else T[i][j]=i+j; elementelor de pe diagonala principal n urma executrii secvenei, dac n=5? (6p.) 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. 1 1 2 Programul afieaz pe ecran matricea obinut, cte o linie a 0 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

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 089 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. O clas format din 28 de elevi dorete s trimit la consftuirea reprezentanilor claselor colii o delegaie format din 3 elevi. Algoritmul de generare a tuturor posibilitilor de a forma o delegaie este similar cu algoritmul de generare a: (4p.) a. permutrilor b. aranjamentelor d. submulimilor c. combinrilor

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. Ce valoare are f(4)? (6p.) long f(int n) { if (n==0) return 0; else return n*n+f(n-1); }

3.

Scriei definiia complet a subprogramului numar, cu trei parametri, care primete prin intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul parametrilor c1 i c2 cte o cifr nenul. Subprogramul caut fiecare apariie a cifrei c1 n n, i dac aceasta apare, o nlocuiete cu c2. Subprogramul furnizeaz tot prin n numrul astfel obinut. Dac cifra c1 nu apare n n, atunci valoarea lui n rmne nemodificat. Exemplu: pentru n=149448, c1=4 i c2=2, valoarea furnizat prin n va fi 129228. (10p.) Fiierul text bac.txt conine pe mai multe rnduri cel mult 50000 de numere naturale din intervalul nchis [0, 99], numerele de pe acelai rnd fiind separate prin cte un spaiu. a) Scriei un program C/C++ care afieaz pe ecran, n ordine cresctoare, acele numere din fiier care au cel puin k divizori, k fiind un numr natural, k<20, citit de la tastatur, utiliznd un algoritm eficient din punct de vedere al timpului de executare. Dac un numr care corespunde cerinei apare de mai multe ori, se va afia o singur dat. Numerele vor fi afiate pe ecran separate prin cte un spaiu. (6p.) Exemplu: dac fiierul conine numerele: 15 36 33 36 1 12 1 24 2, iar pentru k se citete valoarea 5, se vor afia numerele 12 24 36. b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 090 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele instruciuni C/C++ atribuie variabilei ntregi t valoarea -1 dac i numai dac variabilele ntregi a i b sunt nenule i au semne diferite? (4p.) a. if ((a>0)||(b<0)) t=-1; b. if ((a>0)&&(b<0)) t=-1; c. if (a*b<0) t=-1; d. if (a*b>0) t=-1;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y. a) Scriei valorile care se vor afia n urma executrii algoritmului dac se citesc numerele a=105, b=118 i k=7. (6p.) citete a, b, k (numere naturale) t a p 0 ct timp tb execut dac k=t%10 atunci scrie t p1 tt+1 dac p=0 atunci scrie -1

b) Scriei dou seturi distincte de valori care se pot citi pentru variabilele a, b i k, cu a<b, astfel nct numrul afiat s fie -1 n fiecare dintre cele dou cazuri. (4p.) c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

d) Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura ct timp...execut cu o structur repetitiv cu test final. (6p.)

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

Subiectul I

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. Enumerai nodurile cu grad impar ale grafului neorientat cu 6 noduri numerotate de la 1 la 6 i muchiile [1,6], [2,1], [2,6], [3,2], [3,4], [3,6], [4,5], [4,6], [6,5]. (4p.) a. 2. 2 3 4 6 b. 1 3 5 c. 2 4 6 d. 1 3 5 6 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

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 0 1 0 3. Se consider un arbore cu 6 noduri, numerotate de la 1 la 6, 1 0 1 reprezentat prin matricea de adiacen dat alturat. Scriei toate 0 1 0 nodurile care pot fi alese ca rdcin a arborelui astfel nct acesta 0 1 0 s aib un numr par de frunze. 0 1 0 (6p.) 1 0 0 4. n secvena alturat, i, j i n sunt variabile for(i=1; i<=n; i++) ntregi iar T este o matrice ptratic format for(j=1; j<=n; j++) if ((i+j)%3==0) din n linii i n coloane numerotate de la 1 la T[i][j]=(i+j)/3; n. Care va fi suma valorilor de pe diagonala else T[i][j]=i-j; secundar a matricei n urma executrii secvenei, dac n=5? (6p.)

0 1 0 0 0 0

0 1 0 0 0 0

1 0 0 0 0 0

5.

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 3 -5 1 -3 subliniate). (10p.)

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 090 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. La un bal mascat magazia colii pune la dispoziia elevilor 10 pelerine, 10 mti i 10 plrii. Algoritmul de generare a tuturor posibilitilor de a forma un costum format dintr-o plrie, o masc i o pelerin este similar cu algoritmul de generare a (4p.) a. elementelor produsului cartezian b. aranjamentelor c. permutrilor d. submulimilor

Scriei pe foaia de examen rspunsul la urmtoarea ntrebare: 2. Se consider subprogramul f, definit alturat. Ce se afieaz la apelul f('a');? (6p.) void f(char c) { if (c != 'e') { f(c+1); cout<<c; | } }

printf(%c,c);

3.

Scriei definiia complet a subprogramului f, care primete prin intermediul parametrului n un numr natural nenul (2n200), iar prin intermediul parametrului a un tablou unidimensional care conine n valori ntregi, fiecare dintre aceste valori ntregi avnd cel mult patru cifre. Subprogramul returneaz valoarea 1 dac diferena dintre elementul maxim i elementul minim din tablou este mai mare dect 1000, altfel valoarea returnat va fi 0. (10p.) Fiierul text bac.txt conine pe mai multe rnduri cel mult 50000 de numere naturale, numerele aflate pe acelai rnd fiind separate prin cte un spaiu. Fiecare numr are cel mult 4 cifre. a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al timpului de executare i al spaiului de memorie folosit, determin numrul din fiier care are cei mai muli divizori. n cazul n care exist mai multe valori n fiier care au numr maxim de divizori, programul va afia cea mai mic dintre acestea. (6p.) Exemplu: dac fiierul conine valorile 23 12 100 36 atunci se va afia 36, pentru c att 100 ct i 36 au numr maxim de divizori, dar 36 este cel mai mic. b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 091 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. tiind c variabila ntreag nr memoreaz valoarea 5, stabilii ce mesaj se va afia n urma executrii secvenei de instruciuni C/C++ urmtoare. (4p.) //C++ //C if (nr<7) if (nr>3) if (nr<7) if (nr>3) cout<<Bine; printf(Bine); else cout<<Foarte bine; else printf(Foarte bine); else cout<<Rau; else printf(Rau); b. Foarte bine c. Rau d. Bine

a. BineRau

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. citete z S-a notat cu [a] partea ntreag a numrului real a i cu |b| (numr ntreg nenul) valoarea absolut a numrului ntreg b. z|z| a) Scriei valoarea care se va afia pentru z=50. (6p.) x1 repet b) Scriei n pseudocod un algoritm echivalent cu cel dat, y x n care s se nlocuiasc structura repet...pn x[(x+z/x)/2] cnd cu o structur repetitiv cu test iniial. (6p.) pn cnd x=y scrie x c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) d) Scriei de cte ori se execut atribuirea yx n timpul executrii algoritmului obinut din cel dat prin nlocuirea iniializrii cu . (4p.)

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

Subiectul I

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. a. 2. Se consider graful neorientat: cu 60 de noduri i 40 de muchii. Suma gradelor tuturor nodurilor este egal cu : (4p.) 120 b. 80 c. 100 d. 20 Un arbore cu rdcin are 11 noduri, numerotate de la 1 la 11, i 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.) 1, 6 i 10 b. 5 c. 6, 8 i 9 d. 3

a.

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, valorile 1,2,3,4. Dac se noteaz cu PUSH(x) operaia prin care se adaug valoarea x n vrful stivei, i POP operaia prin care se extrage elementul din vrful stivei, care este elementul din vrful stivei n urma operaiilor POP; POP; PUSH(4); PUSH(3); PUSH(5); POP; (6p.) Ce se va afia n urma executrii char c[]="abracadabra"; secvenei alturate de program, n care c[4]='i'; variabila c memoreaz un ir cu cel for(i=4;i>=0;i--) mult 20 de caractere, iar variabila i cout<<c[i]; | printf(%c,c[i]); este de tip ntreg? (6p.) Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m (1n50, 1m50) i apoi n*m valori 0 i 1 reprezentnd elementele unui tablou bidimensional cu n linii, numerotate de la 1 la n, i m coloane, numerotate de la 1 la m; programul determin i afieaz pe ecran numrul de ordine al primei coloane care are un numr maxim de valori 1. (10p.) Exemplu: pentru pentru n=5 i m=4 i tabloul alturat, se va afia 2.

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 091 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz, utiliznd metoda bactracking, numerele cu exact 3 cifre distincte din mulimea {5,1,3}. Dac primele 3 numere generate sunt, n ordine, 513, 531, 153, care este urmtorul numr generat? (4p.) b. 155 c. 315 d. 135 a. 351 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat. void f (int i) Ce se afieaz la apelul f(20)? (6p.) {if(i!=0) { printf(%d,i);|cout<<i; f(i/2); printf(%d,i);|cout<<i; } } Subprogramul par primete prin singurul su parametru, n, un numr natural nenul cu cel mult 4 cifre i returneaz valoarea 1 dac n conine cel puin o cifr par, sau returneaz valoarea 0 n caz contrar. Exemplu: pentru n=723 subprogramul va returna valoarea 1. a) Scriei numai antetul subprogramului par. (2p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n cu cel mult 9 cifre, apoi un ir de n numere naturale, cu exact 8 cifre fiecare, i afieaz pe ecran numrul de valori din irul citit care au cel puin o cifr par printre primele 4 poziii, considerate de la stnga spre dreapta. Se vor utiliza apeluri utile ale subprogramului par. Exemplu: dac n=3, iar irul citit este 12386406, 37152073, 73543157 se va afia 2 (numerele 12386406 i 73543157 respect condiia cerut). (8p.) 4. Fiierul numere.in conine cel mult 5000 de numere reale, cte unul pe fiecare linie. Se cere s se scrie un program care s citesc toate numerele din fiier i s afieze pe ecran numrul de ordine al primei, respectiv al ultimei linii pe care se afl cel mai mare numr din fiier. Cele dou numere vor fi separate printr-un spaiu. Alegei o metod de rezolvare eficient din punct de vedere al spaiului de memorare i al timpului de executare. Exemplu: dac fiierul are coninutul alturat, pe ecran se vor afia numerele 2 6. 3.5 7 a) Descriei succint, n limbaj natural, metoda de rezolvare aleas, explicnd n ce -4 const eficiena ei. (4p.) 7 b) Scriei programul C/C++ corespunztor metodei descrise. (6p.) 2 7 6.3 5

3.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 092 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Stabilii care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul ntreg x, nu aparine intervalului A=(-10,-2)[50,100]? (4p.) a. (x<=-10) || (x<50 && x>=-2) || (x>100) b. (x<=-10) || (x<=50 && x>=-2) || (x>=100) c. (x<-10) || (x<50 && x>-2) || (x>100) d. (x<=-10) || (x<=50 || x>=-2) || (x>100) Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider pseudocod. algoritmul alturat, descris n citete n (numr natural nenul) nr0 y0 pentru i1,n execut repet citete x (numr real) nrnr+1 pn cnd x>=1 i x<=10 yy+x scrie [y/n] scrie nr

S-a notat cu [x] partea ntreag a numrului real x. a) Scriei ce se afieaz dac se citesc, n aceast ordine, valorile: 5, 8, 12, 15, 10, 25, 9, 8, 30, 10. (6p.) Dac pentru n se citete valoarea 3 scriei un ir de date de intrare astfel nct ultima valoare care se afieaz s fie 3. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Scriei un algoritm pseudocod echivalent cu cel dat n care structura repet...pn cnd s fie nlocuit cu o structur repetitiv cu test iniial. (6p.)

b)

c) d)

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

Subiectul I

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 dintre urmtoarele arce aparine grafului orientat cu 4 vrfuri, avnd gradele din tabelul alturat (x,yN)? (4p.) (2,3) 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.) strstr(s,c1+c2)!=0 strchr(strchr(s,c1),c2)!=0 b. d. strchr(s,c1)!=0 || strchr(s,c2)!=0 strchr(s,c1)*strchr(s,c2)!=0

a. 2.

a. c.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Scriei vectorul de tai corespunztor arborelui cu 6 noduri, 1: 4,6 numerotate de la 1 la 6, dat prin lista alturat a 2: descendenilor direci (fiilor). (6p.) 3: 1,5 4: 5: 6: 2 Scriei o expresie logic C/C++ care s struct punct { float x; float y; codifice condiia ca variabila v din }; declaraiile alturate s reprezinte segment { segmentul nul (segmentul care are struct struct punct origine; originea identic cu extremitatea). (4p.) struct punct extremitate; } v; 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 14 6 3 2 7 1 4 9 22 5 14 6 12 3 9 22 8 5

4.

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 092 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Avnd la dispoziie cifrele 0, 1 i 2 se pot genera, n ordine cresctoare, numere care au suma cifrelor egal cu 2. Astfel, primele 6 soluii sunt 2, 11, 20, 101, 110, 200. Folosind acelai algoritm, se genereaz numere cu cifrele 0, 1, 2 i 3 care au suma cifrelor egal cu 4. Care va fi al 7-lea numr din aceast generare? (4p.) a. 130 b. 301 c. 220 d. 103

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. void f(int x) 2. Se consider definit subprogramul f. { a) Ce se va afia n urma apelului if (x<=10) f(14);? cout<<0<< ; | printf("%d ",0); b) Scriei valorile pe care le poate avea x, else astfel nct n urma apelului f(x); s se { f(x-2); afieze pe ecran exact 10 numere. cout<<x<< ; | printf("%d ",x); (6p.) } } 3. Subprogramul ordonare primete prin parametrul x un tablou unidimensional cu cel mult 100 de elemente numere reale, iar prin parametrul n un numr ntreg ce reprezint numrul efectiv de elemente ale tabloului x. Subprogramul ordoneaz cresctor elementele tabloului i furnizeaz tabloul ordonat tot prin parametrul x. a) Scriei numai antetul acestui subprogram. (4p.) b) Scriei un program C/C++ care citete de la tastatur dou numere naturale, n i m (1n100 i mn), i apoi un ir de n numere reale distincte. Folosind apeluri utile ale subprogramului ordonare, programul afieaz pe prima linie a ecranului cele mai mari m elemente din irul citit (n ordine cresctoare a valorilor lor), iar pe a doua linie de ecran, cele mai mici m elemente din ir (n ordine descresctoare a valorilor lor). Numerele afiate pe aceeai linie vor fi separate prin cte un spaiu. (10p.) Exemplu : dac n=9, m=3, iar irul este (14.2, 60, -7.5, -22, 33.8, 80, 4, 10, 3) se va afia pe ecran: 33.8 60 80 3 -7.5 -22 4. Scriei un program C/C++ care scrie n fiierul text SIR.TXT toate irurile formate din dou caractere distincte, litere mari ale alfabetului englez. Fiecare ir va fi scris pe o linie a fiierului. (6p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 093 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabile ntregi x i y memoreaz cte un numr natural, cu x/10==y%10 exact dou cifre. Care este valoarea expresiei x-y tiind c y/10==x%10 fiecare dintre expresiile C/C++ alturate are valoarea 1? (4p.) x/10==x%10+1 a. 0 b. 9 c. 1 d. 11

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat descris n pseudocod. a) b) c) Scriei valoarea care se afieaz dac se citesc numerele n=2 i m=11. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) Dac pentru n se citete valoarea 1 scriei numrul de valori naturale nenule de exact o cifr, care pot fi citite pentru variabila m, astfel nct s se afieze valoarea 0. (6p.) Scriei n pseudocod un algoritm echivalent cu cel dat, care s NU foloseasc structuri repetitive sau recursive. (4p.) citete n,m (numere naturale, nm) s0 ct timp n<m execut ss+n nn+3 dac n=m atunci scrie s+n altfel scrie 0

d)

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

Subiectul I

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. 2.

b.

c.

d.

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.) P.x==0 b. P.y==0 c. P.x+P.y==0 d. P.x==P.y

a.

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 aceasta s aib 4 descendeni direci (fii)? (6p.) 4. Se consider o list liniar simplu nlnuit asupra creia se execut urmtoarea prelucrare: ntre oricare dou elemente ce memoreaz valorile x i y,aflate pe poziii consecutive, se insereaz cel mai mare divizor comun al numerelor x i y. Dac lista conine iniial, n ordine, doar numerele 10,4,2,6 precizai care este numrul maxim de elemente aflate pe poziii consecutive ce vor memora aceeai valoare, dup realizarea prelucrrii menionate. (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 093 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. n cte dintre permutrile elementelor mulimii {I,N,F,O} vocala I apare pe prima poziie? (4p.) a. 1 b. 24 c. 6 d. 12 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul este definit void f (int x,int y) f { if (x<y) alturat. {y=y-1; f(x,y);} Ce se afieaz ca urmare a apelului f(1,4);? else cout<<x<<y; | printf(%d%d,x,y); (4p.) } 3. Scriei programul C/C++ care citete de la tastatur un numr natural n (1n99), impar, i construiete n memorie un tablou unidimensional A=(A1, A2,, An) cu elementele mulimii {1,2,...,n} astfel nct elementele de pe poziii impare formeaz irul cresctor 1,2,...,[(n+1)/2], iar elementele de pe poziii pare irul descresctor n,n-1,..., [(n+1)/2]+1. Exemplu: pentru n=11 se va construi tabloul A : Elementele tabloului se afieaz pe ecran, separate prin cte un spaiu. 4. a) Scriei definiia complet a unui subprogram cmmdc, cu doi parametri, care: - primete prin parametrii a i b dou valori naturale din intervalul [1;30000] - returneaz o valoare natural reprezentnd cel mai mare divizor comun al numerelor a i b Exemplu: dac a=100 i b=120, subprogramul returneaz valoarea 20. (6p.) b) Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (1n100) i pe urmtoarea linie n numere naturale din intervalul [1;30000], separate prin cte un spaiu. Scriei un program C/C++ care citete toate numerele din fiierul NUMERE.IN i determin, folosind apeluri ale subprogramului cmmdc, cel mai mare divizor comun al celor n numere situate pe linia a doua n fiier. Programul afieaz pe ecran numrul cu proprietatea cerut. Exemplu: dac fiierul NUMERE.IN are coninutul: 5 60 72 600 24 48 atunci se afieaz valoarea 12. (10p.) (6p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 094 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. y=1; 1. n secvena alturat de instruciuni, variabilele i,j,k i if (k>0) y sunt de tip ntreg. Pentru care dintre urmtoarele if (i!=j) seturi de valori ale variabilelor i,j i k variabila y va y=0; avea valoarea 1 n urma executrii secvenei? (4p.) else y=2; b. k=10; i=5; j=6 a. k=0; i=5; j=5 k=10; i=5; j=5 c. d. y nu va avea valoarea 1 indiferent de valorile variabilelor i,j i k Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete n 2. Se consider algoritmul alturat, descris n (numr natural nenul) pseudocod. n1 0 S-a notat cu x%y restul mpririi numrului natural x la n2 0 numrul natural nenul y, iar cu [x/y] ctul mpririi ntregi k1 0 a numrului natural x la numrul natural nenul y. ct timp n 0 execut a) Scriei ce va afia algoritmul dac pentru n se dac (n%10)%2=0 atunci n2 n2 * 10 + n%10 citete valoarea 123611. (6p.) altfel b) Scriei cte valori naturale distincte, formate din n1 n1 * 10 + n%10 patru cifre fiecare, pot fi citite pentru variabila n, k1 k1+1 astfel nct, pentru fiecare dintre acestea, valoarea afiat de algoritm s fie divizibil cu 10. (6p.) n [n/10] c) Scriei n pseudocod un algoritm echivalent cu cel p 1 dat care s utilizeze o singur structur repetitiv. pentru i1,k1 execut (4p.) p p * 10 d) Scriei programul C/C++ corespunztor algoritmului x n2*p + n1 dat. (10p.) scrie x

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

Subiectul I

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

Subiectul II (30 de puncte) - Varianta 094 Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde rspunsului corect. 1. Care dintre nodurile grafului neorientat cu 5 noduri 0 1 1 numerotate de la 1 la 5, dat prin matricea de adiacen 1 0 1 alturat, are gradul cel mai mare? (4p.) 1 1 0 0 0 1 0 1 1 4 b. 3 c. 5 d. 0 0 1 0 1 2 0 1 1 1 0

a. 2.

n secvena alturat, i, j i n sunt variabile ntregi, iar a for(i=0; i<8; i++) for(j=0; j<8; j++) este o matrice format din 8 linii i 8 coloane, numerotate a[i][j] = (i+j)%8; de la 0 la 7. Care este suma elementelor de pe ultima linie a matricei, n urma executrii acestei secvene? (4p.) 28 b. 84 c. 36 d. 21

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. 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 ? (6p.) Un graf neorientat cu 5 noduri, numerotate de la 1 la 5, este 1: reprezentat prin listele de adiacen alturate. Transformai acest 2: graf ntr-un graf orientat prin nlocuirea fiecrei muchii cu exact un 3: arc, astfel nct n graful orientat care rezult s existe cel puin un 4: drum de la orice nod x pn la orice nod y, (xy). Scriei 5: reprezentarea grafului orientat pe care l-ai construit, prin liste de adiacen. (6p.) 2, 1, 1, 3, 2, 3 3, 5 2, 4, 5 5 3, 4

4.

5.

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.)

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 094 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un elev realizeaz un program care citete o valoare natural pentru o variabil n i apoi afieaz n fiierul permut.txt, pe prima linie, valoarea lui n, apoi toate permutrile mulimii {1,2,...,n}, cte o permutare pe cte o linie a fiierului. Rulnd programul pentru n=3, coninutul fiierului este cel alturat. Dac va rula din nou programul i va introduce pentru variabila n valoarea 5, cte linii va conine fiierul? (4p.) a. 25 b. 24 c. 121 d. 721 3 3 3 2 2 1 1 2 1 3 1 3 2 1 2 1 3 2 3.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Funcia f este astfel definit nct f(1)=8, iar f(n+1)=2*f(n)-4 (n natural, n>1). a) Ce valoare are f(5) ? (3p.)

b) Care este cea mai mare valoare pe care o poate lua x astfel nct f(x) < 1000 ? (3p.) 3. Se consider funcia f care primete prin intermediul parametrului n un numr natural nenul (2n200), prin intermediul parametrului a un tablou unidimensional care conine n valori ntregi (fiecare dintre aceste valori ntregi avnd cel mult patru cifre), iar prin intermediul parametrilor p1 i p2 dou valori naturale reprezentnd dou poziii din tablou (0p1p2<n). Numerotarea poziiilor din tablou ncepe de la 0. Subprogramul returneaz valoarea -1 dac cele mai multe valori din tabloul a, aflate ntre poziiile p1 i p2 inclusiv, sunt strict negative, valoarea 0 dac cele mai multe valori din a, aflate ntre poziiile p1 i p2 inclusiv, sunt nule, respectiv valoarea 1 dac cele mai multe valori din tabloul a aflate ntre poziiile p1 i p2 inclusiv, sunt strict pozitive. a) Scriei definiia complet a funciei f. (5p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (2n200), apoi valorile celor n componente ale unui tablou unidimensional. Valorile citite sunt numere ntregi de maximum patru cifre fiecare. Programul afieaz pe ecran mesajul negative dac cele mai multe valori din tablou sunt strict negative, mesajul nule dac cele mai multe valori din tablou sunt egale cu 0, mesajul pozitive dac cele mai multe valori din tablou sunt strict pozitive sau mesajul nedecis n celelalte cazuri. Pentru a stabili care dintre mesaje urmeaz s fie afiat, programul va apela funcia f. (5p.) 4. Fiierul text bac.txt conine pe fiecare linie cte un numr ntreg format din cel mult patru cifre. Se tie c fiierul conine cel puin un numr. Scriei un program eficient att din punct de vedere al timpului de executare ct i din punct de vedere al spaiului de memorie utilizat, care citete de la tastatur un numr real x, apoi determin i afieaz acel numr din fiierul bac.txt care are valoarea cea mai apropiat de valoarea lui x. Exemplu: dac fiierul bac.txt are coninutul alturat, iar de la tastatur se 4 -5 citete valoarea -3.85, programul va afia valoarea -5. -6 a) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce -984 const eficiena ei (3 4 rnduri). (4p.) 1345 -1 b) Scriei un program C/C++ care rezolv problema conform metodei descrise. (6p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 095 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. n secvena alturat de instruciuni, variabilele i, j, k, x i if (k>0) if (i!=j) x=0; y sunt de tip ntreg. Pentru care dintre urmtoarele seturi else x=1; de valori ale variabilelor i, j i k variabilele x i y vor primi else x=2; valori diferite ntre ele n urma executrii acestei secvene? if (i!=j) (4p.) if (k>0) y=0; else y=2; else y=1; b. k=0; i=5; j=6 a. x i y primesc aceeai valoare indiferent de valorile variabilelor i,j i k d. k=0; i=5; j=5 c. k=10; i=5; j=5 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. x 0 2. Se consider algoritmul alturat, descris n citete n,k pseudocod. (numere naturale nenule) S-a notat cu a%b restul mpririi numrului natural a la numrul natural nenul b, iar cu [a/b] ctul mpririi ct timp n0 execut ntregi a numrului natural a la numrul natural nenul b. dac n%10<k atunci a) Scriei numrul care se va afia dac se citesc x x*10 + n%10 pentru n valoarea 528791 i pentru k valoarea 6. (6p.) n [n/10] Dac pentru k se citete valoarea 9 scriei toate scrie x valorile formate din exact 5 cifre care se pot citi pentru variabila n, astfel nct rezultatul afiat s fie, de fiecare dat, 2008. (6p.) Scriei programul C/C++ corespunztor algoritmului dat.

b)

c) d)

(10p.)

Scriei n pseudocod un algoritm echivalent cu cel dat care s utilizeze n locul structurii ct timp...execut o structur repetitiv condiionat posterior. (4p.)

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

Subiectul I

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. a. c. 2. Cte valori nule pot s apar ntr-un vector cu legturi de tip tat asociat unui arbore cu rdcin care conine 10 noduri? (4p.) niciuna depinde de configuraia arborelui b. d. exact una exact dou

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 b. 64 c. 24 d. 56

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se d graful orientat cu 5 noduri, numerotate de la 1 la 5, definit 0 prin matricea de adiacen alturat. Determinai un drum de 0 lungime maxim de la nodul 1 la nodul 5 , care s fie alctuit din 0 arce distincte dou cte dou. Scriei lungimea drumului 0 determinat precum i arcele care l compun (lungimea unui drum 0 este egal cu numrul de arce care l compun). (6p.) 1 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0

4.

Scriei listele de adiacen pentru un graf neorientat care are 8 noduri, numerotate de la 1 la 8, i care are urmtoarele proprieti: - are trei componente conexe; - nu are noduri izolate; - are un numr maxim de muchii. (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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 095 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un program citete o valoare natural nenul pentru n i apoi genereaz i afieaz, n ordine cresctoare lexicografic, toate combinaiile formate din n cifre care aparin mulimii {0,1}. Astfel, pentru n=2, combinaiile sunt afiate n urmtoarea ordine: 00, 01, 10, 11. Dac se ruleaz acest program i se citete pentru n valoarea 6, imediat dup combinaia 011011 va fi afiat combinaia: (4p.) 100100 011100 011111 100000 b. c. d. a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int f(int n) 2. Funcia f are definiia alturat. { if (n<=9) return 0; a) Ce valoare are f(10)? (3p.) if (n%5==0) return 0; b) Ce valoare are f(29)? (3p.) return 1+f(n-3); } 3. Funcia f primete prin intermediul parametrului n un numr natural nenul (2n200), iar prin intermediul parametrului a un tablou unidimensional care conine n valori ntregi (fiecare dintre aceste valori ntregi avnd cel mult patru cifre). Funcia returneaz valoarea -1 dac numrul de valori strict negative din tabloul a este strict mai mare dect numrul de valori strict pozitive din tablou, valoarea 0 dac numrul de valori strict negative din a este egal cu numrul de valori strict pozitive din tablou i valoarea 1 dac numrul de valori strict pozitive din tabloul a este strict mai mare dect numrul de valori strict negative din a. Scriei definiia complet a funciei f. (10p.) a) Scriei un program C/C++ care citete de la tastatur un numr natural nenul, S, avnd maximum 9 cifre, i printr-o metod eficient din punct de vedere al timpului de executare, determin i scrie n fiierul rez.dat trei valori naturale a cror sum este egal cu S, i al cror produs este maxim. Cele trei valori vor fi scrise n ordine cresctoare pe prima linie a fiierului rez.dat, separate prin cte un spaiu. Exemplu: dac se citete valoarea 5, fiierul rez.dat va avea o linie cu coninutul 1 2 2. (6p.) b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 096 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. if (k>0) 1. n secvena alturat de instruciuni, variabilele i, j, k i y sunt if (i!=j) y=0; de tip ntreg. Pentru care dintre urmtoarele seturi de valori ale else y=1; variabilelor i, j i k variabila y va avea valoarea 1 n urma else y=2; executrii secvenei? (4p.) a. k=0; i=5; j=5 b. k=10; i=5; j=6 c. k=10; i=5; j=5 d. k=0; i=5; j=6 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n citete n (numr natural nenul) pentru i1,n execut pseudocod. pentru j1,n execut a) Dac se citete pentru n valoarea 10, scriei pentru k1,n execut valorile care se afieaz, n forma rezultat n dac i<j<k atunci (6p.) dac i+j+k=n atunci urma executrii algoritmului, scrie i,' ',j,' ',k b) Scriei o valoare format din exact dou cifre care, salt la rnd nou dac se citete pentru n, determin ca printre tripletele de valori afiate s existe unul alctuit din trei numere consecutive. (6p.) c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) d) Scriei n pseudocod un algoritm echivalent cu cel dat care s utilizeze numai dou structuri repetitive. (4p.)

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

Subiectul I

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. a. c. 2. 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.) cel mult 2 b. 10 9 nu pot s apar valori egale ntr-un vector d. cu legturi de tip tat

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 principal din matricea a, n urma executrii acestei secvene, dac n=8? (4p.)
24

a.

b.

64

c.

56

d.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se d graful orientat cu 5 noduri, numerotate de la 1 la 5, 0 definit prin matricea de adiacen alturat. Scriei arcele 0 din care este alctuit un drum de la nodul 1 la nodul 5, care 0 trece prin toate nodurile grafului. (6p.) 0 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0

4.

Scriei listele de adiacen pentru un graf neorientat, care are 8 noduri, numerotate de la 1 la 8, i care are urmtoarele proprieti: - nu este conex; - nu are noduri izolate; - are un numr minim de muchii. (6p.) 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.)

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 096 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un program citete o valoare natural nenul pentru n i apoi genereaz i afieaz, n ordine descresctoare lexicografic, toate combinaiile de n cifre care aparin mulimii {0,1}. Astfel, pentru n=2, combinaiile sunt afiate n urmtoarea ordine: 11, 10, 01, 00. Dac se ruleaz acest program i se citete pentru n valoarea 8, imediat dup combinaia 10101000 va fi afiat combinaia: (4p.) b. 10100111 c. 01010100 d. 10100100 a. 01010111

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. int f(int n) 2. Funcia f are definiia alturat. Scriei 4 valori de {if (n<=9) return 0; apel pe care le poate avea n astfel nct, pentru if (n%4==0) return 0; cele 4 apeluri, corespunztoare acestor valori, s return 1+f(n-3); se obin 4 valori, disticte dou cte dou. (6p.) } 3. Funcia verif primete prin intermediul a trei parametri, notai a, b i c, trei valori naturale nenule, fiecare de maximum patru cifre. Funcia returneaz valoarea 1 dac cele trei valori pot constitui laturile unui triunghi i valoarea 0 n caz contrar. a) Scriei definiia complet a funciei verif. (5p.) b) Scriei un program C/C++ care citete de la tastatur ase valori naturale nenule, fiecare de maximum patru cifre, apoi verific, utiliznd apeluri utile ale funciei verif, dac primele trei numere citite pot constitui laturile unui triunghi i dac ultimele trei numere citite pot constitui laturile unui triunghi; n caz afirmativ, programul afieaz pe ecran mesajul congruente dac cele dou triunghiuri sunt congruente sau mesajul necongruente dac cele dou triunghiuri nu sunt congruente; dac cel puin unul dintre cele dou triplete de valori nu pot constitui laturile unui triunghi, programul va afia pe ecran mesajul nu. (5p.) 4. Fiierul text BAC.DAT conine pe prima linie, separate printr-un spaiu, dou valori naturale n i m (2n1000, 2m1000), pe a doua linie n valori ntregi, apoi pe urmtoarele m linii cte dou valori, fiecare dintre aceste perechi determinnd un interval nchis (prin interval nchis determinat de dou valori a i b se nelege intervalul [a,b], dac ab sau intervalul [b,a], dac b<a). Valorile de pe a doua i de pe urmtoarele m linii sunt separate ntre ele prin cte un spaiu i au cel mult 4 cifre fiecare. Se cere determinarea i afiarea pe ecran a numrului de intervale, dintre cele citite din fiier, care conin toate valorile aflate pe a doua linie a fiierului. Se va utiliza o metod eficient din punct de vedere al timpului de executare i al memoriei utilizate. Exemplu: dac fiierul BAC.DAT are coninutul 10 4 8 3 -11 17 -8 3 14 5 0 -2 alturat, programul va afia: 2 Explicaie: din cele patru intervale date pe liniile 3, 4, 5 -10 100 i 6, numai dou conin toate valorile de pe a doua -20 50 15 -80 linie a fiierului i anume [-20,50] i [-11,20]. 20 -11 a) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.) b) Scriei un program C/C++ care s rezolve problema conform metodei descrise. (6p.)

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 097 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. x = y + z; 1. Care dintre variabilele ntregi x, y i z vor avea la finalul z = x z; executrii secvenei alturate de instruciuni, aceeai valoare y = z; ca nainte de executare? (4p.) z = x - y; b. numai y i z c. numai x i y d. x, y i z a. numai x i z Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat reprezentat n pseudocod. S-a notat cu x%y restul mpririi numrului ntreg x la numrul ntreg nenul y. a) b) c) d) pentru i 1,3 execut citete x (numr natural) s 0 pentru j 1,i execut s s + x % 10 Scriei ce valori se vor afia dac se citesc, n ordine, valorile 123, 25, 218. (6p.) scrie s Scriei un de set de date de intrare pentru care se vor afia trei valori consecutive. (6p.)

Scriei n pseudocod un algoritm echivalent cu cel dat, care s nu utilizeze nicio structur repetitiv. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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. a. 2. 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.) 2 b. 3 c. 4 d. 5 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.) 3 4 5 b. 1 c. 2 6 d. 1 2 6

a.

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. Se consider o stiv, n care au fost introduse iniial, n aceast ordine, primele trei numere impare 1, 3 i 5. Coninutul stivei este reprezentat n figura alturat. Notm cu PUSH x operaia prin care se adaug informaia x n vrful stivei i cu POP operaia prin care se extrage elementul din vrful stivei. Asupra stivei se efectueaz, exact n aceast ordine, urmtoarele patru operaii: POP; PUSH 4; PUSH 6; POP. Reprezentai, dup modelul din figura alturat, coninutul stivei dup fiecare operaie. (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 (6p.)

5.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 097 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. int f(int x){ Subprogramul recursiv alturat este definit incomplet. if (...) Care dintre urmtoarele expresii poate nlocui punctele return x%10 + x/10; de suspensie astfel nct, n urma apelului, else subprogramul f s returneze suma primelor dou cifre return f(x/10); ale numrului primit prin intermediul parametrului x? Exemplu: n urma apelului f(2318) valoarea returnat } (4p.) este 5. a. x<=100 b. x<=99 c. x==99 d. x!=0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se genereaz, utiliznd metoda bactracking, cuvintele cu exact 3 litere din mulimea {a,x,c,f,g}. Dac primele patru cuvinte generate sunt, n ordine, aaa, aax, aac, aaf, scriei ultimele trei cuvinte care ncep cu litera a, n ordinea n care vor fi generate. (6p.) Subprogramul Suma, cu trei parametri, primete prin intermediul parametrilor x i y dou numere naturale de cel mult 4 cifre fiecare i furnizeaz, prin intermediul parametrului z, suma numerelor pare cuprinse ntre x i y inclusiv. Exemplu: dac la apel sunt transmise valorile x=12 i y=23, atunci subprogramul Suma va returna, prin intermediul parametrului z, valoarea 102. Scriei, n limbajul C/C++, definiia complet a subprogramului Suma. (10p.) Pe prima linie a fiierului text DATE.TXT se afl un numr natural n (0<n10000), iar pe a doua linie un ir de n numere naturale, deprite prin cte un spaiu, fiecare avnd cel mult 4 cifre. a) Scriei un program C/C++ care citete numerele din fiier i afieaz, pe ecran, valorile din ir, n ordinea cresctoare a cifrei unitilor. Dac dou numere din ir au aceeai cifr a unitilor nu conteaz care dintre ele va fi afiat primul. Realizai un program eficient din punct de vedere al timpului de executare. (6p.) pe ecran se va afia: Exemplu: dac fiierul DATE.TXT conine 500 491 32 422 213 26 328 7 32 491 26 328 213 500 422 b) Descriei succint, n limbaj natural, metoda utilizat, justificnd eficiena acesteia. (4p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 098 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabila ntreag x memoreaz o valoare mai mare ca 1000, format doar din cifre distincte. Care dintre urmtoarele instruciuni C/C++ afieaz o singur cifr? (4p.) a. cout<<x/1; | printf("%d",x/1); b. cout<<x/100; | printf("%d",x/100); c. cout<<x%100; | printf("%d",x%100); d. cout<<x%10/1;| printf("%d",x%10/1);

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat reprezentat citete n (numr natural) n pseudocod. i 1 a) Scriei ce valoare se va afia pentru n=10. ct timp i*i n execut (6p.) i i+1 b) Scriei toate valorile care pot fi citite pentru n scrie i-1 astfel nct s se afieze 4. (6p.) c) d) Scriei n pseudocod un algoritm echivalent cu cel dat care s nu utilizeze nicio structur repetitiv. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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.) 2 i 4 b. 4 i 5 c. 1 i 2 d. 3 i 4 Ce se va afia n urma executrii secvene de instruciuni alturate, considernd c s este o variabil ir de caractere, iar n o variabil de tip ntreg? (4p.) En b. Een c.

a. 2.

char a[10]="Examen"; n=strlen(a); strcpy(a+1,a+n-1); cout<<a;| printf("%s",a);

a.

Exam

d.

Exn

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 un tablou bidimensional cu n linii i n coloane care s conin primele n2 numere naturale pare. Prima linie a tabloului 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 098 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul recursiv int Min(int x){ int c; alturat, definit incomplet. if (x==0) return ...; Cu ce valoare trebuie nlocuite punctele de else { suspensie, pentru ca funcia s returneze c=Min(x/10); cifra minim a numrului natural nenul if (c < x%10) return c; transmis prin intermediul parametrului x? else return x%10; (4p.) } } a. -1 b. 1 c. 9 d. 0

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Utiliznd metoda backtracking se genereaz toate submuimile mulimii {3,6,2,5}. Primele ase submulimi generate sunt, n ordine: {3}, {3,6}, {3,6,2}, {3,6,2,5}, {3,6,5}, {3,2}. Care sunt, n ordinea obinerii, ultimele trei submulimi, generate dup aceast regul? (6p.) Scriei n limbajul C/C++ definiia complet a subprogramului numar, cu exact doi parametri, care primete prin intermediul parametrului x un numr natural de cel mult 2 cifre, i prin intermediul parametrului y un numr natural nenul de cel mult 9 cifre. Subprogramul returneaz cel mai mare numr natural z pentru care exist un numr natural k astfel nct z=xk i z<y. Exemplu: pentru y=18 i x=2 subprogramul va returna valoarea 16(=24<18). (10p.) Pe prima linie a fiierului text DATE.TXT se afl un ir de cel mult 10000 de numere naturale, desprite prin cte un spaiu, fiecare avnd exact o cifr. a) Scriei un program C/C++ care citete numerele din fiier i le scrie n fiierul text OUT.TXT, pe o singur linie, n ordine cresctoare a valorilor lor, separate prin cte un spaiu. Se va utiliza un algoritm eficient din punct de vedere al timpului de executare. Exemplu: dac din fiierul DATE.TXT se citete irul: 2 4 3 2 7 4 3 7 2 7 7 2 1 9 1 1 2 3 fiierul OUT.TXT va conine 1 1 1 2 2 2 2 2 3 3 3 4 4 7 7 7 7 9 (6p.) b) Explicai n limbaj natural metoda utilizat, justificnd eficiena acesteia. (4p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 099 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele instruciuni C/C++ este echivalent cu x =(x+y+z)/2; cea alturat, tiind c variabilele x, y i z sunt reale? (4p.) a. x = x/4/2+ y/4/2 + z/4/2; b. x = x + y/2 + z/2; c. x = x + y + z/2; d. x = x/1/2+ y/1/2 + z/1/2;

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. citete x (numr natural) 2. Se consider algoritmul alturat, descris n pseudocod. p 1 pentru i1,x execut S-a notat cu x%y restul mpririi numrului natural x la p (p*4)%10 numrul natural nenul y. scrie p a) Scriei ce se va afia pentru x=8. (6p.) b) c) d) Scriei toate numerele naturale, de cte o singur cifr, care, citite pentru x, determin afiarea valorii 4. (6p.) Scriei n pseudocod un algoritm echivalent cu cel dat care s nu utilizeze nicio structur repetitiv. (4p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

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

Subiectul I

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 arbore cu rdcin, n care fiecare nod are cel mult doi descendeni i x un numr natural (x>2). tiind c rdcina se afl pe nivelul 1, atunci numrul maxim de noduri de pe nivelul x este: (6p.) 2x b. 2x-1 c. 2x+1 d. 2x/2 Considerm variabila x care memoreaz irul de caractere ABAC. Care dintre urmtoarele instruciuni conduc la afiarea caracterului B? (4p.) cout<<x[strlen(x)-3]; | printf("%c",x[strlen(x)-3]); c. cout<<x[2]; | printf("%c",x[2]); d. b. cout<<x[strlen(x)-1]; | printf("%c",x[strlen(x)-1]); cout<<x[strlen(x)]; | printf("%c",x[strlen(x)]);

a. 2. a.

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.(4p.) 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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 099 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul recursiv alturat, S, void S(int x) { cout<<'*'; definit incomplet. if (...) { Cu ce expresie pot fi nlocuite punctele de cout<<'*'; suspensie astfel nct, n urma apelului S(2), s se S(x-1); afieze 3 caractere * ? (4p.) } } x>1 x>2 x>=3 b. c. d. x>0 a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se utilizeaz metoda backtracking pentru a genera toate cuvintele formate din dou litere distincte din muimea {w,x,z,y} astfel nct niciun cuvnt s nu nceap cu litera x i niciun cuvnt s nu conin litera w lng litera z. Cuvintele vor fi generate n ordinea wx, wy, zx, zy, yw, yx, yz. Folosind aceeai metod se genereaz toate cuvintele de dou litere distincte din mulimea {w,x,z,y,t} astfel nct niciun cuvnt s nu nceap cu litera x i niciun cuvnt s nu conin litera w lng litera z. Care este a treia i a patra soluie generat? (6p.) Subprogramul Nr are un singur parametru, k, prin intermediul cruia primete un numr natural de cel puin 3 cifre i cel mult 9 cifre, cu toate cifrele nenule. Subprogramul furnizeaz tot prin intermediul parametrului k, valoarea obinut prin eliminarea primei cifre a numrului transmis la apel. Exemplu: dac subprogramul primete prin intermediul parametrului k valoarea 12438, atunci n urma apelului subprogramului Nr, k va primi valoarea 2438. Scriei, n limbajul C/C++, definiia complet a subprogramului Nr. (10p.) Pe prima linie a fiierului text DATE.TXT se afl un numr natural nenul n (n1000), iar pe a doua linie un ir de n numere ntregi nenule, deprite prin cte un spaiu, fiecare avnd cel mult 9 cifre. a) Scriei un program C/C++ care citete numerele din fiier i ordoneaz cresctor doar numerele pozitive din ir, fr a modifica poziiile numerelor negative. Programul va afia, pe ecran, pe o singur linie, irul obinut dup ordonare, numerele fiind desprite prin cte un spaiu. n locul fiecrui numr negativ din irul citit se va afia valoarea 0. Realizai un program eficient din punct de vedere al spaiului de memorie folosit. (6p.) pe ecran se va afia: Exemplu: dac fiierul DATE.TXT conine: 23 0 32 0 51 213 0 7 32 -491 23 -328 213 51 -4 b) Descriei succint, n limbaj natural, metoda utilizat, justificnd eficiena acesteia. (4p.)

3.

4.

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

Subiectul III

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

EXAMENUL DE BACALAUREAT 2008 Proba scris la INFORMATIC PROBA E, limbajul C/C++ Specializarea Matematic-informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). Subiectul I (30 de puncte) - Varianta 100 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. tiind c iniial variabilele ntregi x, y i z au valorile x=1, y=2 respectiv z=3, n ce ordine trebuie scrise atribuirile urmtoare astfel nct, n final, expresia x+y+z s aib valoarea maxim? (4p.) I) x=x+y-z; II) y=x-y+z; III) z=z-x+y; II I b. I II III c. III I II d. I III
citete a

a. III

II

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider algoritmul alturat, descris n pseudocod. (numr natural, a<109)

S-a notat cu x%y restul mpririi numrului natural x la repet numrul natural nenul y i cu [z] partea ntreag a numrului b0 real z. ct timp a0 execut bb+a%10 a) Scriei care este valoarea afiat n urma executrii algoritmului dac se citete numrul 199. (6p.) a[a/10] b) Scriei cel mai mic i cel mai mare numr, fiecare ab avnd exact 3 cifre, care pot fi citite astfel nct, n pn cnd a<10 ambele cazuri, s se afieze valoarea 7. (6p.) scrie b c) Scriei programul C/C++ corespunztor algoritmului dat. (10p.) d) Scriei n pseudocod un algoritm, echivalent cu cel dat, care s utilizeze o singur structur repetitiv. (4p.)

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

Subiectul I

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. Se consider graful neorientat cu 5 noduri a crui matrice de adiacen are toate elementele 1, cu excepia celor de pe diagonala principal, care sunt nule. Care este numrul minim de muchii care pot fi eliminate astfel nct graful parial obinut s fie format din 3 componente conexe? (4p.) 4 b. 8 c. 6 d. 7 Se consider lista simplu nlnuit memorat static, n tabloul de mai jos, n care fiecrui nod al listei i corespunde cte o coloan a tabloului: pe prima linie se memoreaz informaia din nodul respectiv, iar pe a doua linie se memoreaz indicele coloanei din tablou la care se afl nodul urmtor din list, sau -1 dac nu exist un nod urmtor. Ce informaii se afieaz la parcurgerea nodurilor n ordinea n care apar n list, dac primul nod este memorat n coloana 1? (4p.) 1,3,5,7 b. 1,5,7,3,2 c. 1,5,7 d. 1,4,5,3,7

a. 2.

a.

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,e+strlen(e)-1); 5. (6p.) 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 0 9 8 5 nvecineaz direct cu 6, 9 i 1 i este mai mic dect acestea). (10p.)
1 3 8 6

4.

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

Subiectul II

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

Subiectul III (30 de puncte) - Varianta 100 Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Aplicnd metoda backtracking pentru a genera toate permutrile celor n elemente ale unei mulimi, o soluie se memoreaz sub forma unui tablou unidimensional x1,x2,,xn. Dac sunt deja generate valori pentru componentele x1,x2,,xk-1, iar pentru componenta curent, xk (1<k<n), a fost gsit o valoare convenabil, atunci se ncearc alegerea (4p.) b. unei valori pentru componenta xk+1 a. unei noi valori pentru componenta xk-1 c. unei noi valori pentru componenta xk d. unei noi valori pentru componenta x1

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Ce afieaz subprogramul F, descris void F(int x) 2. { alturat, la apelul F(5);? (6p.) cout<<x; | printf(%d,x);
if(x>=3) F(x-2); }

3.

Scriei definiia complet a subprogramului divizor, cu trei parametri, prin care primete 3 numere naturale nenule cu cel mult 9 cifre fiecare i returneaz numrul divizorilor comuni tuturor celor 3 numere. Exemplu: dac numerele primite ca parametri sunt 24, 20 i 12, subprogramul returneaz valoarea 3 (divizorii comuni sunt 1, 2 i 4). (10p.) Fiierul BAC.TXT conine 10000 de numere naturale (dintre care cel puin dou impare) cu cel mult 9 cifre fiecare. Numerele sunt separate prin cte un spaiu. a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al spaiului de memorare i al timpului de executare, determin i afieaz pe ecran penultimul numr impar din fiier precum i numrul de ordine al acestuia. (6p.) Exemplu: dac fiierul conine valorile alturate, se vor afia numerele 49 9998 (penultimul numr impar este 49 i are numrul de ordine 9998. b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei. (4p.)

4.

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

Subiectul III

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