Sunteți pe pagina 1din 3

Ministerul Educaiei, Cercetrii, Tineretului i Sportului

Centrul Naional de Evaluare i Examinare


Examenul de bacalaureat 2011
Proba E. d)
Proba scris la INFORMATIC
Limbajul C/C++
Varianta 3

Filiera teoretic, profilul real, specializrile: matematic informatic


matematic informatic intensiv informatic
Filiera vocaional, profilul militar, 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)


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Expresia C/C++
!(-20>=x) && (x<=-10) || (x>=-5) && !(x>5)
are valoarea 1 dac i numai dac valoarea memorat de variabila real x aparine
reuniunii de intervale: (4p.)
a. (-
,-10] [5, ) b. [-20,-10] (-5,5)
c. (-20,-10) (-5,5) d. (-20,-10] [-5,5]

2. Se consider algoritmul alturat, descris n citete n,m


pseudocod. (numere naturale)
S-a notat cu x%y restul mpririi numrului natural x la dac n<m atunci
numrul natural nenul y i cu [z] partea ntreag a x
n
numrului real z. n
m
m
x
a. Scriei numrul care se afieaz n urma executrii
algoritmului dac pentru variabila n se citete p
1
valoarea 1034, iar pentru variabila m valoarea ct timp m>0 execut
1234. (6p.) c
m%10
b. Scriei toate perechile distincte de valori naturale, m
[m/10]
de cte dou cifre fiecare, valori care pot fi citite n
n-p*c
pentru variabilele n i m astfel nct, n urma p
p*10
executrii algoritmului, pentru fiecare dintre
acestea, numrul afiat s fie 86. (6p.) scrie n
c. Scriei n pseudocod un algoritm care s nu foloseasc structuri repetitive i care s fie
echivalent cu cel dat. (4p.)
d. Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

Prob scris la Informatic Varianta 3


Limbajul C/C++
Filiera teoretic, profilul real, specializrile matematic informatic, matematic informatic intensiv informatic
Filiera vocaional, profilul militar, specializarea matematic informatic
1
Ministerul Educaiei, Cercetrii, Tineretului i Sportului
Centrul Naional de Evaluare i Examinare
SUBIECTUL al II-lea (30 de puncte)
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera corespunztoare
rspunsului corect.
1. Se consider graful orientat cu 6 vrfuri, numerotate de la 1 la 6, 1: 3
reprezentat prin listele de adiacen alturate. Dou drumuri sunt 2: 1, 5, 6
distincte dac difer prin cel puin un arc. 3: list vid
Numrul de drumuri elementare distincte de la vrful 2 la vrful 3 4: 3
este: (4p.) 5: list vid
6: 4, 5
a. 0 b. 1 c. 2 d. 3
2. Frunzele arborelui cu rdcin, avnd 8 noduri, numerotate de la 1 la 8, reprezentat prin
vectorul de tai (6,6,5,0,6,4,4,7) sunt: (4p.)
a. 1,2,3,8 b. 1,2,8 c. 3,7 d. 4,6,7

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


3. Structura cu numele CARTE permite memorarea unui numr real, reprezentnd valoarea
exprimat n euro a unei cri, a unui numr ntreg, reprezentnd numrul de pagini ale
crii, i a unui ir de caractere reprezentnd titlul crii, format din cel mult 50 de
caractere.
Scriei n limbajul C/C++ o definiie a structurii menionate i declarai o variabil x de
acest tip. Denumii sugestiv cmpurile acestei structuri. (6p.)
4. n secvena de program alturat k=a-A;
variabila a memoreaz un ir cu cel strcpy(a,bacalaureat);
mult 100 de caractere, iar variabilele i for(i=0;i<strlen(a);i++)
i k sunt de tip ntreg. if(strchr(aeiou,a[i])!=NULL)
Scriei irul afiat pe ecran n urma a[i]=a[i]-k;
executrii secvenei. (6p.) cout<<a; | printf(%s,a);

5. Scriei un program C/C++ care citete de la tastatur dou numere naturale n i m (2<n 24,
2<m24) i construiete n memorie un tablou bidimensional cu n linii i m coloane, n care
orice element aflat pe ultima linie sau pe ultima coloan are valoarea 1 i oricare alt element
este egal cu ultima cifr a sumei celor dou elemente alturate lui, aflate pe aceeai linie i pe
coloana din dreapta, respectiv pe aceeai coloan i pe linia urmtoare, ca n exemplu.
Programul afieaz pe ecran tabloul obinut, cte o linie a tabloului pe cte o linie a
ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. (10p.)
Exemplu: pentru n=4 i m=5 se afieaz tabloul alturat. 5 0 0 4 1
5 0 6 3 1
5 4 3 2 1
1 1 1 1 1

Prob scris la Informatic Varianta 3


Limbajul C/C++
Filiera teoretic, profilul real, specializrile matematic informatic, matematic informatic intensiv informatic
Filiera vocaional, profilul militar, specializarea matematic informatic
2
Ministerul Educaiei, Cercetrii, Tineretului i Sportului
Centrul Naional de Evaluare i Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Utiliznd metoda backtracking se genereaz n ordine cresctoare numere naturale de cte
patru cifre din mulimea A={1,2,3,4,5}, numere care nu conin dou cifre impare
alturate. Primele opt numere generate sunt, n aceast ordine, 1212, 1214, 1221, 1222,
1223, 1224, 1225, 1232. Numrul de valori generate care au cifra miilor egal cu 2 i cifra
unitilor egal cu 4 este: (4p.)
a. 20 b. 16 c. 12 d. 9

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


2. Scriei ce se afieaz n urma apelului de void f (int x)
mai jos pentru subprogramul f, definit { cout<<*; | printf(*);
alturat. if(x>0) {
f(12345); cout<<x; | printf(%d,x);
(6p.) f(x/100);
cout<<*; | printf(*);
}
}
3. Subprogramul inter are patru parametri:
na, nb prin care primete cte un numr natural (0<na<100, 0<nb<100);
a, b prin care primete cte un tablou unidimensional care memoreaz cte o mulime
de na, respectiv nb numere naturale, fiecare avnd cel mult patru cifre.
Subprogramul returneaz numrul de elemente aparinnd interseciei celor dou mulimi
menionate.
Scriei n limbajul C/C++ definiia complet a subprogramului inter.
Exemplu: pentru na=4, a=(35,149,72,3798), nb=5, b=(72,151,149,9,623), n
urma apelului, subprogramul returneaz valoarea 2. (10p.)
4. Fiierul BAC.TXT conine un ir de cel puin 11 i cel mult un milion de numere naturale,
desprite prin cte un spaiu. Fiecare numr are cel puin dou i cel mult nou cifre.
Primul termen al irului are numrul de ordine 1, al doilea are numrul de ordine 2 etc.
Se citete irul din fiier i se cere ca, utiliznd un algoritm eficient din punct de vedere al
timpului de executare, s se determine i s se afieze pe ecran numrul de ordine al unui
termen al irului care este precedat n fiier de un numr maxim de valori care au cifra
zecilor egal cu a sa. Dac sunt mai muli termeni cu aceast proprietate, se afieaz
numrul de ordine doar al unuia dintre ei.
Exemplu: dac fiierul BAC.TXT conine numerele
12 36 265 18 139 19 32 34 112 14 68
pe ecran se afieaz 10 (numrul de ordine al termenului 14).
a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia. (4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)

Prob scris la Informatic Varianta 3


Limbajul C/C++
Filiera teoretic, profilul real, specializrile matematic informatic, matematic informatic intensiv informatic
Filiera vocaional, profilul militar, specializarea matematic informatic
3

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