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++
Varianta 4

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. Indicai o expresie C/C++ care are valoarea 1 dac i numai dac numrul natural memorat
n variabila ntreag x are exact o cifr. (4p.)
a. x%10==x b. x/10==x c. x%10==x/10 d. (x%10)/10==x

2. Se consider algoritmul alturat, citete n


reprezentat n pseudocod. (numr natural nenul)
a) Scriei ce se afieaz dac se citete pentru i 1,n execut
numrul 3. (6p.) pentru j 1,n execut
dac i=j sau i+j=n+1 atunci
b) Scriei un numr care poate fi citit, astfel scrie #
nct, n urma executrii algoritmului altfel
numrul de simboluri # afiate s fie 100. scrie j
(4p.)


c) Scriei n pseudocod un algoritm echivalent cu cel dat, nlocuind adecvat prima structur
pentru...execut cu o structur repetitiv cu test iniial. (6p.)
d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

Prob scris la informatic Varianta 4


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. Indicai irul afiat pe ecran n urma executrii instruciunii urmtoare:
cout<<strstr(veni,vidi,vici,vi); |
printf(%s,strstr(veni,vidi,vici,vi));
(4p.)
a. vidi b. vidi,vici c. 2 d. 6
2. Se consider un graf neorientat cu 7 noduri i 21 de muchii. Indicai numrul minim de
muchii care pot fi eliminate, astfel nct graful parial obinut s aib dou componente
conexe, cu cel puin dou noduri fiecare. (4p.)
a. 6 b. 8 c. 10 d. 12

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


3. n declararea alturat, variabila x struct elev
memoreaz numele unui elev i cele dou { char nume[30];
medii semestriale obinute de acesta la int media1, media2;
informatic. Scriei o secven de instruciuni } x;
C/C++ n urma executrii creia s se afieze
pe ecran prima liter a numelui i, pe linia
urmtoare, media anual la informatic a
acestui elev. (6p.)
Exemplu: dac elevul are numele Popescu, iar cele dou medii sunt sunt 9, respectiv 10,
se afieaz pe ecran
P
9.5
4. ntr-un graf orientat dou circuite sunt distincte dac ele difer prin cel puin un arc.
Scriei matricea de adiacen a unui graf orientat cu 5 vrfuri i 6 arce, care are dou
circuite elementare distincte. (6p.)
5. Scriei un program C/C++ care citete de la tastatur dou numere naturale din intervalul
[3,50], n i m, i elementele unui tablou bidimensional cu n linii i m coloane, numere
naturale din intervalul [0,104].
Programul modific n memorie tabloul dat, atribuind valoarea elementului aflat pe ultima
linie i pe ultima coloan a tabloului fiecrui element aflat pe conturul acestuia (pe prima
linie, ultima linie, prima coloan, ultima coloan), apoi afieaz pe ecran tabloul modificat,
cte o linie a tabloului pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin
cte un spaiu.
Exemplu: dac n=5, m=4 i tabloul este
0 5 2 11 atunci se obine tabloul urmtor: 5 5 5 5

3 2 10 2 5 2 10 5

7 3 1 4 5 3 1 5

4 5 0 12 5 5 0 5

8 13 7 5 5 5 5 5 (10p.)

Prob scris la informatic Varianta 4


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. Utiliznd metoda backtracking se genereaz, n ordine strict cresctoare, toate numerele
de trei cifre din mulimea {1, 2, 5, 7, 8}, numere cu proprietatea c au cel mult dou cifre
impare. Primele apte numere generate sunt, n aceast ordine: 112, 118, 121, 122, 125,
127, 128. Al optulea numr generat este: (4p.)
a. 151 b. 152 c. 157 d. 158

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


2. Subprogramul f este definit alturat. Scriei int f(int x,int y)
valorile f(3,9) i f(1,1000). (6p.) { if(x*5>y/5)
return x;
return f(x*5,y/5);
}
3. Subprogramul duplicare are un singur parametru, n, prin care primete un numr
natural (n[1,104)). Subprogramul furnizeaz, prin acelai parametru, numrul obinut
din n prin inserarea, dup fiecare cifr par din scrierea lui, a unei cifre egale cu jumtate
din aceasta.
Scriei definiia complet a subprogramului.
Exemplu: dac n=2380 dup apel, n=2138400, iar dac n=35 dup apel, n=35. (10p.)
4. Numim secven par ntr-un ir o succesiune de termeni ai irului cu proprietatea c sunt
numere pare i c se afl pe poziii consecutive n ir; orice secven are cel puin doi
termeni i este maximal n raport cu proprietatea precizat (dac i se adaug un alt
termen, secvena i pierde aceast proprietate). Lungimea secvenei este egal cu
numrul termenilor si.
Fiierul bac.txt conine un ir de cel mult 106 numere naturale din intervalul [0,109].
Numerele din ir sunt separate prin cte un spaiu.
Se cere s se afieze pe ecran numrul de secvene pare de lungime maxim din ir.
Proiectai un algoritm eficient din punctul de vedere al spaiului de memorie utilizat i al
timpului de executare.
Exemplu: dac fiierul bac.txt conine valorile
1 2 3 4 6 10 2 8 5 7 9 4 6 10 121 20 4 11 10 2 5 2 6 8 10 16
se afieaz pe ecran numrul 2.
a) Descriei n limbaj natural algoritmul proiectat, justificnd eficiena acestuia. (2p.)
b) Scriei programul C/C++ corespunztor algoritmului descris. (8p.)

Prob scris la informatic Varianta 4


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