Sunteți pe pagina 1din 3

Ministerul Educaiei Naionale

Centrul Naional de Evaluare i Examinare

Examenul de bacalaureat naional 2017


Proba E. d)
Informatic
Limbajul C/C++
Simulare

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 de lucru efectiv 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).
n programele cerute, datele de intrare se consider corecte, validarea acestora
nefiind necesar.

SUBIECTUL I (30 de puncte)


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Expresia C/C++ alturat are valoarea: (4p.) 17/3/2%17
a. 0 b. 2 c. 10 d. 17

2. Se consider algoritmul alturat, citete n,a,b


reprezentat n pseudocod. (numere naturale nenule, an, bn)
S-a notat cu a%b restul mpririi numrului 0
ok
natural a la numrul natural nenul b. 1
x
a) Scriei ce se afieaz dac se citesc, n ct timp xn execut
aceast ordine, numerele 15, 3 i 4. (6p.) dac x%a=0 i x%b0 sau
x%a0 i x%b=0 atunci
b) Scriei dou seturi distincte de date de scrie x,
intrare astfel nct, n urma executrii 1
ok
algoritmului, pentru fiecare dintre acestea
s se afieze valoarea 0. (4p.) x+1
x
c) Scriei n pseudocod un algoritm echivalent
cu cel dat, nlocuind adecvat structura dac ok=0 atunci
ct timp...execut cu o structur scrie 0

repetitiv de tip pentru...execut. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

Prob scris la informatic Simulare


Limbajul C/C++
Filiera teoretic, profilul real, specializrile: matematic-informatic, matematic-informatic intensiv informatic
Filiera vocaional, profilul militar, specializarea matematic-informatic
1
Ministerul Educaiei Naionale
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. Variabila s din secvena urmtoare permite memorarea unui ir de cel mult 20 de
caractere.
strcpy(s,"tezauriza");
cout<<strstr(s,"za"); | printf("%s",strstr(s,"za"));
n urma executrii secvenei, se afieaz pe ecran: (4p.)
a. 3 b. 2 c. za d. zauriza
2. Matricea de adiacen a unui graf neorientat cu 7 noduri are 10 elemente nenule. Numrul
maxim de componente conexe ale grafului este: (4p.)
a. 2 b. 3 c. 4 d. 5

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


3. Se consider arborele cu 8 noduri, numerotate de la 1 la 8, cu rdcina 5 i muchiile
[1,5], [2,7], [3,7], [3,8], [4,5], [5,7], [6,7]. Enumerai nodurile care sunt
descendeni direci (fii) ai nodului 7. (6p.)
4. Variabila m memoreaz simultan, pentru fiecare dintre cele 20 de maini oferite spre
nchiriere, urmtoarele date: anul fabricaiei mainii (numr natural) i tipul de carburant al
acesteia (ir de maximum 50 de caractere).
tiind c expresiile C/C++ de mai jos au ca valori anul fabricaiei celei de a treia maini,
respectiv tipul de carburant al acesteia, scriei definiia unei structuri cu eticheta masina,
care permite memorarea datelor despre o main, i declarai corespunztor variabila m.
m[2].an
m[2].carburant (6p.)
5. Scriei un program C/C++ care citete de la tastatur un numr natural n (n [2,20]) i
construiete n memorie un tablou bidimensional cu n linii i n coloane n care:
- ultima coloan conine numerele naturale din intervalul [1,n], n ordine strict
descresctoare;
- toate elementele primei linii au valoarea n;
- oricare alt element este obinut prin nsumarea celor dou elemente vecine cu el, unul
aflat pe coloana din dreapta, pe aceeai linie cu el, iar cellalt pe aceeai coloan cu el,
dar pe linia anterioar, ca n exemplu.
Programul afieaz pe ecran tabloul obinut, fiecare linie a tabloului pe cte o linie a
ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 pe ecran se afieaz:
4 4 4 4
15 11 7 3
35 20 9 2
65 30 10 1 (10p.)

Prob scris la informatic Simulare


Limbajul C/C++
Filiera teoretic, profilul real, specializrile: matematic-informatic, matematic-informatic intensiv informatic
Filiera vocaional, profilul militar, specializarea matematic-informatic
2
Ministerul Educaiei Naionale
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. Subprogramul f este definit alturat. void f(int x)
Indicai ce se afieaz n urma { cout<<x; | printf(%d,x);
apelului de mai jos. if(x>3)
f(6); { f(x-2);
(4p.) cout<<x; | printf(%d,x);
}
}
a. 642 b. 6446 c. 64246 d. 642246

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


2. Se utilizeaz metoda backtracking pentru a obine toate buchetele formate din cte trei
tipuri de flori de primvar din mulimea {brndu, iasomie, lalea, liliac,
margaret}, astfel nct iasomia i liliacul nu vor fi plasate n acelai buchet. tiind c n
cadrul unui buchet nu conteaz ordinea de aezare a florilor, primele patru soluii obinute
sunt, n aceast ordine: (brndu, iasomie, lalea), (brndu, iasomie,
margaret), (brndu, lalea, liliac), (brndu, lalea, margaret). Scriei
cea de a cincea i cea de a asea soluie, n ordinea obinerii lor. (6p.)
3. Subprogramul ranguri are un singur parametru, n, prin care primete un numr natural
[0,109]). Subprogramul returneaz numrul de cifre ale lui n care sunt egale cu
(n
poziiile pe care le ocup n scrierea acestuia. Poziiile sunt numerotate de la dreapta la
stnga, iar cifra unitilor ocup poziia 0.
Scriei definiia complet a subprogramului.
Exemplu: dac n=6594270, subprogramul returneaz numrul 4. (10p.)
4. Fiierul bac.in conine pe prima linie dou numere naturale din intervalul [2,104], m i
n, iar pe fiecare dintre urmtoarele dou linii cte un ir de m, respectiv n numere naturale
din intervalul [0,109], ordonate strict cresctor. Numerele aflate pe aceeai linie a
fiierului sunt separate prin cte un spaiu.
Se cere s se afieze pe ecran, n ordine strict descresctoare, numerele pare care apar
n cel puin unul dintre cele dou iruri. Numerele afiate sunt separate prin cte un spaiu,
iar dac nu exist niciun astfel de numr, se afieaz pe ecran mesajul nu exista.
Pentru determinarea numerelor cerute se va utiliza un algoritm eficient din punctul de
vedere al timpului de executare.
Exemplu: dac fiierul conine numerele
5 6
1 4 8 9 10
2 4 10 12 15 18
se afieaz pe ecran
18 12 10 8 4 2
a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia. (2p.)
b) Scriei programul C/C++ corespunztor algoritmului descris. (8p.)

Prob scris la informatic Simulare


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