Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul I Specializarea Matematic-informatic EXAMENUL DE BACALAUREAT 2009 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 alturat? (4p.) n/100%10%2==0 a. n%100/10%2!=1 b. n%1000%2==0 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
Ministerul Educaiei, Cercetrii i Inovrii Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul II Specializarea Matematic-informatic 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 elementare distincte exist de la nodul 1 la nodul 6 n graful dat? Dou lanuri sunt distincte dac difer prin cel puin o muchie. (4p.) a. 4 b. 2 c. 6 d. 0 2. Un arbore cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul vectorului de tai t=(9,3,4,7,3,9,0,7,2). Numrul tuturor descendenilor nodului 2 este: (4p.) a. 3 b. 1 c. 0 d. 2
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.) 4. Scriei secvena de program C/C++ care afieaz pe ecran numele, prenumele i media unui elev, reinute de variabila el, declarat alturat. (6p.) struct elev { char nume[40]; char prenume[40]; float mediabac; }el; 5. 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 ultima cifr a produsului numerelor pare de pe diagonala principal a tabloului sau mesajul imposibil dac nu exist numere pare. (10p.)
Ministerul Educaiei, Cercetrii i Inovrii Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic 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, scriei ce valoare are f(99). Dar f(0)? (6p.)
int f(int x) { if(x==100)return 1; else return 1+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 a 1 ,a 2 ,a 3 ,a n , apoi un al doilea ir de n numere ntregi, cu cel mult 5 cifre fiecare, notat b 1 ,b 2 ,b 3 ,b n . Programul construiete n memorie i afieaz pe ecran un ir c format din n numere calculate astfel: c i =a i +b i , 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.) Exemplu: dac fiierul NUMERE.IN are coninutul alturat: 12 14 11 12 4 8 atunci fiierul NUMERE.OUT va avea urmtorul coninut: 84 132 8