Sunteți pe pagina 1din 3

Ministerul Educaiei Naionale i Cercetrii tiinifice

Centrul Naional de Evaluare i Examinare

Examenul de bacalaureat naional 2016


Proba E. d)
Informatic
Limbajul C/C++
Simulare
Filiera teoretic, profilul real, specializarea tiine ale naturii
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 expresia C/C++ care are valoarea 1 dac i numai dac numrul memorat n
variabila ntreag x aparine mulimii {2015, 2016, 2017}.
(4p.)

a.

x==2015 && !(x<2016 || x<2017)

b.

x==2015 && !(x<2016 && x<2017)

c.

x==2015 || !(x<2016 || x>2017)

d.

x==2015 || !(x<2016 && x>2017)

2. Se consider algoritmul alturat, reprezentat n pseudocod.


S-a notat cu a%b restul mpririi numrului natural a la numrul
natural nenul b.
a)
b)

c)

d)

m 0
repet
citete x

(numr natural)
Scriei valoarea afiat dac se citesc, n aceast ordine,
y x
numerele 29678, 125, 1233345, 2, 78664, 0.
(6p.) repet
Scriei un ir de date de intrare, format din numere naturale, c y%10
astfel nct, n urma executrii algoritmului, s se afieze y [y/10]
valoarea 2016.
(4p.) pn cnd cy%10
dac y0 atunci
Scriei n pseudocod un algoritm, echivalent cu cel dat,
m m*10+c
nlocuind a doua structur repet ...pn cnd cu o

structur repetitiv de alt tip.


(6p.) pn cnd x=0
scrie m
Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

Prob scris la informatic


Limbajul C/C++

Simulare

Filiera teoretic, profilul real, specializarea tiine ale naturii

Ministerul Educaiei Naionale i Cercetrii tiinifice


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.

Variabilele x i y sunt de tip ntreg i memoreaz cte un numr natural nenul. Indicai
expresia C/C++ care are valoarea 1 dac i numai dac valorile variabilelor x i y sunt
consecutive.
(4p.)

a.

abs(x+y)

2.

Variabilele n i x sunt de tip ntreg. Pentru ca n urma executrii n=0;


secvenei alturate variabila n s memoreze numrul tuturor while(.........)
n=n+1;
valorilor naturale ptrate perfecte din intervalul [0,x], zona
punctat poate fi nlocuit cu:
(4p.)

a.

n<=x*x

b.

n*n<=x

c.

n<=(x-1)*(x-1)

d.

(n-1)*(n-1)<=x

b.

abs(x-y)

abs(x/y)

c.

d.

abs(x%y)

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


3.

Variabilele ntregi baza1 i inaltime1 memoreaz baza, respectiv, nlimea unui


triunghi, iar variabilele ntregi baza2 i inaltime2 memoreaz baza, respectiv, nlimea
unui alt triunghi.
Scriei o secven de instruciuni C/C++ care afieaz pe ecran mesajul aceeasi arie,
dac cele dou triunghiuri au arie egal, sau mesajul arii diferite, n caz contrar.
(6p.)

4.

Un numr natural nenul se numete sPar dac att el, ct i suma divizorilor si proprii
(divizori diferii de 1 i de el nsui), sunt numere pare.
Se citete un numr natural, n (n
[1,109]), i se cere s se scrie cel mai mic numr
sPar, strict mai mare dect n.
Exemplu: dac n=95 atunci se scrie 98 (att 98, ct i 72=2+7+14+49, sunt numere
pare).
a) Scriei, n pseudocod, algoritmul de rezolvare pentru problema enunat.
(10p.)
b) Precizai rolul tuturor variabilelor care au intervenit n algoritmul realizat la punctul a) i
indicai datele de intrare, respectiv datele de ieire ale problemei enunate.
(6p.)

Prob scris la informatic


Limbajul C/C++

Simulare

Filiera teoretic, profilul real, specializarea tiine ale naturii

Ministerul Educaiei Naionale i Cercetrii tiinifice


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.

n secvena de instruciuni de mai jos toate variabilele sunt de tip ntreg.


for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
if(.......) cout<<"! "; | printf("! ");
else cout<<"? "; | printf("? ");
cout<<endl; | printf("\n");
}

!
?
!
?
!

?
!
?
!
?

!
?
!
?
!

?
!
?
!
?

!
?
!
?
!

Indicai o expresie care poate nlocui punctele de suspensie astfel nct, n urma executrii
secvenei obinute, s se afieze pe ecran valorile din figura de mai sus, n aceast ordine.(4p.)
a.

(i+j)%2==0

b.

i%2+j%2==0

c.

i%2+j==0

d.

i+j%2==0

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


2.

Se consider un tablou unidimensional n care elementele sunt, n aceast ordine,


(2020,2016,2012,2008,2004,2000,1996). Pentru a verifica dac n tablou exist
elementul cu valoarea x, se aplic metoda cutrii binare.
Scriei toate valorile pe care le poate avea x, astfel nct cutarea s se ncheie dup ce x
a fost comparat cu exact dou elemente ale tabloului.
(6p.)

3.

Dou tablouri unidimensionale se numesc anagrame dac elementele lor nenule sunt
egale, dispuse eventual n alt ordine.
Scriei un program C/C++ care citete de la tastatur numere naturale din intervalul
[0,200]: pe prima linie dou numere nenule, n i m, pe linia a doua cele n elemente ale
unui tablou unidimensional, iar pe linia a treia cele m elemente ale unui alt tablou
unidimensional. Numerele aflate pe aceeai linie sunt separate prin cte un spaiu.
Programul afieaz pe ecran mesajul DA, dac cele dou tablouri sunt anagrame, sau
mesajul NU, n caz contrar.
Exemple: dac se citesc, n aceast ordine, numerele:
6 8
5 1 6 0 7 7
7 5 0 0 6 7 0 1
pe ecran se afieaz mesajul DA
iar dac se citesc, n aceast ordine, numerele:
4 4
5 1 6 0
6 5 6 1
pe ecran se afieaz mesajul NU.
(10p.)

4.

Un numr x se numete sufix al unui numr y dac y se poate obine din x prin alipirea,
la stnga sa, a cel puin unei alte cifre.
Fiierul bac.in conine un ir de cel mult 109 numere naturale distincte din intervalul
[0,109]. Numerele din ir sunt separate prin cte un spaiu.
Se cere s se afieze pe ecran, n ordine strict cresctoare, toi termenii irului aflat n
fiier care aparin intervalului [100,999] i sunt sufixe pentru cel puin un alt termen al
aceluiai ir. Numerele sunt afiate cte unul pe linie, iar dac n ir nu exist astfel de
numere, se afieaz pe ecran mesajul Nu exista. Pentru determinarea numerelor cerute
se utilizeaz un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dac fiierul bac.in are coninutul
15502 49 54321 6149 76149 123 502 4321 321
atunci pe ecran se afieaz numerele
321
502
a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia.
(4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris.
(6p.)

Prob scris la informatic


Limbajul C/C++

Simulare

Filiera teoretic, profilul real, specializarea tiine ale naturii