Documente Academic
Documente Profesional
Documente Cultură
Toate subiectele (I, II i III) 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)
Indicai care dintre expresiile C/C++ de mai jos are valoarea 1 dac i numai dac
numrul natural memorat n variabila ntreag n este divizibil cu 2 i cu 7.
(4p.)
!( (n%2==1) || (n%7!=0) )
b. (n%2==0) && (n%7!=0)
(n%2==0) || !(n%7==0)
d. (n%7==2) && (n%2==7)
m
m*10+c
pn cnd n=0
scrie m
a)
b)
c)
d)
(10p.)
Varianta 10
Limbajul C/C++
SUBIECTUL al II-lea
(30 de puncte)
a.
c.
2.
a.
0 1 0
0 0 1
0 0 0
b.
0 0 1
0 0 1
0 0 0
c.
0 0 0
0 0 1
0 0 1
d.
0 1 0
1 0 1
0 1 0
for(i=0;i<5;i++)
for(j=0;j<5;j++)
.......
(6p.)
4.
5.
Se consider un text cu cel mult 100 de caractere, format din cuvinte i numere, separate
prin unul sau mai multe spaii. Cuvintele sunt formate numai din litere ale alfabetului
englez. Toate numerele sunt reale, pozitive i sunt formate numai din parte ntreag sau
din parte ntreag i parte fracionar, separate prin punctul zecimal (.).
Scriei un program C/C++ care citete de la tastatur textul, pe care l transform,
eliminnd din componena sa toate numerele care au parte fracionar. Programul afieaz
apoi pe ecran textul obinut.
Exemplu: dac textul citit este
Reprezentat cu
4 zecimale PI este 3.1415 si e este 2.7182
se va afia pe ecran textul:
Reprezentat cu
4 zecimale PI este si e este
(10p.)
Varianta 10
Limbajul C/C++
SUBIECTUL al III-lea
(30 de puncte)
a.
b.
(4p.)
d.
Avnd la dispoziie cinci flori diferite, lalea, narcis, mac, frezie, garoaf, se
utilizeaz metoda backtracking pentru a obine toate posibilitile de a forma un
aranjament floral, tiind c se folosesc toate cele cinci flori i conteaz ordinea de aezare
a acestora. Primele patru soluii obinute sunt, n aceast ordine: (lalea, narcis, mac,
frezie, garoaf), (lalea, narcis, mac, garoaf, frezie), (lalea, narcis,
frezie, mac, garoaf), (lalea, narcis, frezie, garoaf, mac). Scriei ultimele
dou soluii generate, n ordinea obinerii lor.
(6p.)
3.
4.
Fiierul BAC.TXT conine, n ordine cresctoare, cel puin dou i cel mult 10000 de
numere naturale. Numerele sunt separate prin cte un spaiu i au cel mult 9 cifre fiecare.
Cel puin un numr din fiier este par.
a) Scriei un program C/C++ care citete toate numerele din fiier i, printr-un algoritm
eficient din punct de vedere al timpului de executare i al memoriei utilizate, determin i
afieaz pe ecran, n ordine strict cresctoare, separate prin cte un spaiu, toate
numerele pare care apar n fiier. Fiecare numr se va afia o singur dat.
(6p.)
Exemplu: dac fiierul are coninutul de mai jos
1 1 2 2 2 7 10 10 10 10 24
pe ecran se afieaz, n aceast ordine, numerele 2 10 24.
b) Descriei n limbaj natural (3-4 rnduri) algoritmul utilizat la punctul a) i justificai
eficiena acestuia.
(4p.)
Varianta 10
Limbajul C/C++