You are on page 1of 3

Ministerul Educaiei, Cercetrii i Inovrii

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

You might also like