You are on page 1of 60

Ministerul Educaiei, Cercetrii i Tineretului

Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 001
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Variabila x este de tip real. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i
numai dac numrul real memorat n variabila x aparine intervalului (5,8]?
(4p.)

a. (x<8) && (x>=5)

b. (x<=8) || (x>5)

c. (x>8) || (x<=5)

d. (x<=8) && (x>5)

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


2. Se consider algoritmul alturat, descris n pseudocod.
citete n (numr natural)
S-a notat cu x%y restul mpririi numrului ntreg x la numrul z0
p1
ntreg nenul y i cu [a] partea ntreag a numrului real a.
ct timp n>0 execut
a)
Scriei valoarea care se va afia dac se citete cn%10
n=103456.
(6p.) n[n/10]
b)
Scriei toate numere naturale impare, distincte, fiecare dac c%3=0 atunci
avnd exact dou cifre, care pot fi citite pentru variabila zz+p*(9-c)
n astfel nct s se afieze valoarea 3.
(4p.) pp*10

c)
Scriei n pseudocod un algoritm, echivalent cu cel dat,
n care s se nlocuiasc structura ct timp...execut scrie z
cu o structur repetitiv de alt tip.
(6p.)
d)

Scriei programul C/C++ corespunztor algoritmului dat.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 002
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Variabilele x i y sunt tip int. Care dintre expresiile C/C++ de mai jos are valoarea 1
dac i numai dac valorile ntregi nenule memorate n variabilele x i y sunt egale? (4p.)

a. (x%y==0) && (y%x==0) && (x*y>0)

b. (x<=y) && (y<x)

c. (x<=y) || (y<=x)

d. x*x==y*y

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


2. Se consider algoritmul alturat, descris n citete x (numr natural nenul)
ct timp x>0 execut
pseudocod.

citete y (numr natural)


S-a notat cu x%y restul mpririi numrului ntreg x la
dac
x>y atunci
numrul ntreg nenul y.
scrie x%10
a)
Scriei ce se va afia dac se citesc, n aceast altfel
ordine, numerele: 17 22 13 101 2 7 5 0.
scrie y%10
(6p.) (
b)
Scriei un ir de date de intrare, format doar din xy
numere naturale cu cel mult dou cifre fiecare,
care s determine afiarea valorii 9877.

(4p.)

c)

Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura


ct timp...execut cu o structur repetitiv de alt tip.
(6p.)

d)

Scriei programul C/C++ corespunztor algoritmului dat.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 003
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul real
memorat n variabila x se afl n intervalul (-2,2)?
(4p.)

a. x*x-4<=0

b. 4-x*x>0

c. (2<x)&&(x<-2)

d. (x-2)*(x+2)>0

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


2. Se consider algoritmul alturat, descris n citete z,x
(numere naturale nenule)
pseudocod.
ct
timp x>0 execut
S-a notat cu x%y restul mpririi numrului ntreg x la

citete
y (numr natural)
numrul ntreg nenul y.
dac z<y-x atunci
a)
Scriei ce se va afia dac se citesc, n aceast scrie x%10
ordine, numerele: 2 5 16 9 12 13 5 0?
(6p.) altfel

scrie y%10
b)
Scriei un ir de date de intrare, format doar din
numere naturale cu o singur cifr fiecare, care s xy
determine afiarea valorii 7310.
(4p.)
c)

Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc


structura ct timp...execut cu o structur repetitiv de alt tip.
(6p.)

d)

Scriei programul C/C++ corespunztor algoritmului dat.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 004
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Care este rezultatul evalurii expresiei C/C++ alturate?

a. 0

b. 10

c. 1.11

(4p.)

10*2/3*3/2
d. 9

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


2. Se consider algoritmul alturat, descris n
citete a,b (numere ntregi)
pseudocod.
dac a<b atunci
S-a notat cu x%y restul mpririi numrului ntreg x la sa; ab; bs
numrul ntreg nenul y.

a)
Scriei ce se afieaz pentru a=5 i b=17.
(6p.) pentru xa,b,-1 execut
Scriei toate perechile de valori care pot fi citite dac x%2=0 atunci
b)
scrie x,
pentru variabilele a i b, astfel nct s se afieze, n

acest ordine, numerele: 0 -2 -4 -6 -8 -10.

(4p.)
c)

Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc structura


pentru...execut cu o structur repetitiv de alt tip.
(6p.)

d)

Scriei programul C/C++ corespunztor algoritmului dat.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 005
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Variabila x este de tip real. Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i
numai dac numrul real memorat n variabila x nu aparine intervalului (2,9]?
(4p.)

a. (x>2) && (x<=9)

b. (x<=2) && (x>9)

c. (x<=2) || (x>9)

d. (x<2) || (x>9)

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


2. Se consider programul pseudocod
citete x,z (numere naturale)
alturat.
y0
repet
S-a notat cu x%y restul mpririi numrului
ntreg x la numrul ntreg nenul y i cu [a] yy*10+x%10
x[x/100]
partea ntreag a numrului real a.
pn cnd x=0
a)
Scriei ce se va afia dac se citesc, ct timp y*z>0 i y%10=z%10 execut
n aceast ordine, valorile 729385 i y[y/10]
532.
(6p.) z[z/10]
b)
Dac pentru z se citete valoarea 99,
dac y+z=0 atunci
scriei cte numere naturale, cu exact
scrie 1
3 cifre fiecare, pot fi citite pentru x
altfel
astfel nct s se afieze valoarea 0 n scrie 0
fiecare dintre aceste cazuri.
(4p.)
c)

Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se foloseasc o singur


structur repetitiv.
(6p.)

d)

Scriei programul C/C++ corespunztor algoritmului dat.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 006
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
Care dintre urmtoarele expresii C/C++, are ca valoare cel mai mic dintre numerele
naturale nenule, cu cel mult 4 cifre fiecare, memorate n variabilele ntregi x i y?
(4p.)
a. (x+y-abs(x-y))/2

b. x+y-abs(x-y)/2

c. (x+y+abs(x-y))/2

d. (x+y+abs(x+y))/2

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


2. Se consider algoritmul alturat, descris n pseudocod:
citete n (numr natural)
S-a notat cu [c] partea ntreag a numrului real c, iar cu a%b s-1
ct timp n>0 execut
restul mpririi numrului ntreg a la numrul ntreg nenul b.
dac n%10>s atunci
a)
Scriei valoarea care se afieaz, n urma executrii sn%10
algoritmului, dac se citete numrul 9321.
(6p.) altfel
b)
Scriei o valoare care poate fi citit pentru n astfel nct s11
s se afieze valoarea 11.
(4p.)
n[n/10]
c)
Scriei n pseudocod un algoritm echivalent cu cel dat n
care s se nlocuiasc structura ct timp ... execut scrie s
cu o structur repetitiv cu test final.
(6p.)
d)

Scriei programul C/C++ corespunztor algoritmului dat.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 007
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
Fiecare dintre variabilele ntregi x i y memoreaz cte un numr natural. Care dintre
expresiile C/C++ de mai jos are valoarea 1 dac i numai dac numrul memorat n x este
strict mai mare dect 0 i numrul memorat n y este strict mai mare dect 5?
(4p.)
a. x*y-5!=0

b. x*(y-5)!=0

c. x*(y-5)>=0

d. !(x*(y-5)<=0)

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


2. Se consider algoritmul alturat descris n citete n (numr natural nenul)
pseudocod:
nr0
pentru
a9,0,-1 execut
S-a notat cu [c] partea ntreag a numrului

mn
real c, iar cu a%b restul mpririi numrului
ct timp m0 i m%10a execut
ntreg a la numrul ntreg nenul b.
m[m/10]
a)
Scriei valoarea afiat, n urma
executrii algoritmului, dac se citete
dac m0 atunci
pentru n valoarea 232493.
(4p.)
nrnr*10+m%10
b)
Scriei dou valori naturale distincte care
pot fi citite pentru n astfel nct, n urma
scrie nr
executrii algoritmului s se afieze
numrul 9654.
(6p.)
c)

Scriei n pseudocod un algoritm echivalent cu cel dat n care s se nlocuiasc structura


pentru...execut cu o structur repetitiv cu test final.
(6p.)

d)

Scriei programul C/C++ corespunztor algoritmului dat.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 008
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Care dintre urmtoarele expresii C/C++, are ca valoare cel mai mare dintre numerele
naturale nenule memorate n variabilele ntregi a i b?
(4p.)

a. (a+b+abs(a-b))/2

b. a+b+abs(a-b)/2

c. (a+b-abs(a-b))/2

d. (a+b-abs(a+b))/2

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


2. Se consider algoritmul alturat descris n citete n,k (numere naturale nenule)
pseudocod:
nr0
p1
S-a notat cu [c] partea ntreag a numrului real
ct
timp n0 i k0 execut
c, iar cu a%b restul mpririi numrului ntreg a la
dac
n%2=0 atunci
numrul ntreg b.
nrnr+ n%10*p
a)
Scriei valoarea care se afieaz, n urma pp*10
executrii algoritmului, dac se citete altfel
pentru n valoarea 932125 i pentru k kk-1
valoarea 3.
(4p.)
b)
Scriei un set de date de intrare astfel nct, n[n/10]
n urma executrii algoritmului, s se
afieze valoarea 0.
(6p.) scrie nr
c)

Scriei n pseudocod un algoritm echivalent


cu cel dat n care s se nlocuiasc
structura ct timp ... execut cu o
structur repetitiv cu test final.
(6p.)

d)

Scriei programul C/C++ corespunztor algoritmului dat.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 009
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
((a>3) && (a<15)) || (a!=b)
1.
Care dintre expresiile C/C++ de mai jos este
echivalent cu expresia alturat?
(4p.)
a. ((a>3) || (a<15)) && (a==b)

b. !((a<=3) || (a>=15)) || (a!=b)

c. ((a>3) || (a<15)) && (a!=b)

d. !(a<3 || a>15) && (a!=b)

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


2. Se consider algoritmul alturat, descris n pseudocod:
S-a notat cu [c] partea ntreag a numrului real c, iar cu
a%b restul mpririi numrului ntreg a la numrul ntreg nenul
b.
a)

b)
c)

d)

citete n (numr natural)


s10
ct timp n>0 execut
dac n%10<s atunci
sn%10
Scriei valoarea care se afieaz, n urma executrii altfel
algoritmului, dac se citete pentru n valoarea 1239. s-1
(6p.)
Scriei o valoare care poate fi citit pentru n astfel nct n[n/10]

s se afieze valoarea -1.


(4p.)
scrie s
Scriei n pseudocod un algoritm echivalent cu cel dat
n care s se nlocuiasc structura ct timp ...
execut cu o structur repetitiv cu test final.
(6p.)
Scriei programul C/C++ corespunztor algoritmului
dat.
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 010
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Care este valoarea expresiei C/C++ alturate? (4p.)

a. 3

b. 4

c. -3

d. -3.75

9/2*2-5

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


2. Se consider algoritmul alturat, descris n citete n,k
(numere naturale nenule)
pseudocod
nr0
S-a notat cu [c] partea ntreag a numrului real c,
p1
iar cu a%b restul mpririi numrului ntreg a la
ct
timp n0 i k0 execut
numrul ntreg nenul b.
dac n%20 atunci
a)
Scriei valoarea care se afieaz, n urma nrnr + [n/10]%10*p
executrii algoritmului, dac se citete pentru pp*10
n valoarea 23456 i pentru k valoarea 3. (4p.) altfel
b)
Scriei dou seturi distincte de date de intrare, kk-1
astfel nct, pentru fiecare dintre ele, n urma
executrii algoritmului, s se afieze valoarea n[n/10]
234.
(6p.)
scrie nr
c)
Scriei n pseudocod un algoritm echivalent cu
cel dat n care s se nlocuiasc structura ct
timp ... execut cu o structur repetitiv cu
test final.
(6p.)
d)

Scriei programul C/C++ corespunztor algoritmului dat.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 011
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Variabilele x i y sunt de tip ntreg, x memornd valoarea 8, iar y valoarea 6. Care dintre
expresiile C/C++ de mai jos are valoarea 0?
(4p.)
a. 3*x-4*y==0
b. (x+y)/2 > x%y+1
c. !(x/2+2==y)
d. x-y+3!=0

1.

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


2. Se consider algoritmul alturat, descris n citete n,k (numere naturale)
pseudocod.
p1
ct timp n>0 i k>0 execut
S-a notat cu x%y restul mpririi numrului natural x
cn%10
la numrul natural nenul y i cu [z] partea ntreag a
dac c%2=1 atunci
numrului real z.
pp*c
a)
Scriei valoarea care se va afia dac se
citete pentru n valoarea 296385, iar pentru k n[n/10]
valoarea 3.
(6p.) kk-1

b)
Dac se citete pentru k valoarea 4, scriei o scrie p
valoare nenul care poate fi citit pentru n
astfel nct numrul afiat n urma executrii
algoritmului s fie 1.
(4p.)
c)

Scriei programul C/C++ corespunztor algoritmului dat.

d)

Scriei n pseudocod un algoritm echivalent cu algoritmul dat, n care s se nlocuiasc


cu
o
structur
repetitiv
structura
repetitiv
ct
timp...execut,
pentru...execut.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 012
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac variabilele x i
y memoreaz dou numere naturale pare consecutive?
(4p.)
a. (x-y==2) && (y-x==2)
b. (x==2) && (y==4)
c. x-y==2
d. ((x-y==2) || (y-x==2)) && (x%2==0)

1.

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


citete x
(numr natural)
y0
S-a notat cu [c] partea ntreag a numrului real c.
ct timp x0 execut
a)
Scriei valoarea care va fi afiat dac se citesc, n ct timp x>9 execut
x[x/10]
aceast ordine, numerele 12, 7, 354, 9, 630, 0.

(6p.) yy*10+x
b)
Scriei un ir de numere ce pot fi citite astfel nct citete x
valoarea afiat s fie 321.
(4p.)
scrie y
2. Se consider
pseudocod.

algoritmul

alturat,

descris

c)

Scriei programul C/C++ corespunztor algoritmului dat.

d)

Scriei n pseudocod un algoritm echivalent cu cel dat, n care s se nlocuiasc fiecare


dintre cele dou structuri ct timp...execut, cu cte o structur repetitiv cu test
final.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 013
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Care dintre expresiile C/C++ de mai jos este echivalent cu !((a<5)&&(b>7))
expresia alturat?
(4p.)
b. !(a<5) || !(b>7)
a. (a>=5)&&(b<=7)
!(a<5)
&&
!(b>7)
c.
d. !(a>=5) && !(b<=7)

1.

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


2. Se consider
pseudocod.

algoritmul

alturat,

descris

S-a notat cu x%y restul mpririi numrului natural x la


numrul natural nenul y i cu [z] partea ntreag a
numrului real z.
a)

Scriei numrul ce se va afia dac pentru a se


citete valoarea 404, iar pentru b se citete valoarea
413.
(6p.)

b)

Dac pentru variabila a se citete valoarea 58


scriei toate valorile care, citite pentru variabila b,
determin afiarea numrului 3.
(4p.)

c)

Scriei programul C/C++ corespunztor algoritmului


dat.
(10p.)

d)

Scriei n pseudocod un algoritm echivalent cu


algoritmul dat n care s se nlocuiasc structura
repetitiv pentru...execut cu o structur
repetitiv de un alt tip.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

citete a,b
(numere naturale, ab)
k0
pentru ia,b execut
ni; c0
ct timp n>0 execut
dac n%2=1 atunci
cc+1

n[n/10]

dac c>0 atunci
kk+1

scrie k

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 014
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Pentru care dintre perechile de valori (a%100==b%100) && (a>99) || (b>99)


de mai jos expresia C/C++ alturat
are valoarea 1?
(4p.)

a. a=1003 i b=3
c. a=1100 i b=10

b. a=35 i b=35
d. a=1234 i b=12

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


2. Se consider
pseudocod.

algoritmul

alturat,

descris

S-a notat cu x%y restul mpririi numrului natural x la


numrul natural nenul y i cu [z] partea ntreag a
numrului real z.
a)

Scriei valoarea ce se va afia dac se citesc, n


aceast ordine, numerele 12, 7, 354, 9, 1630, 0. (6p.)

b)

Scriei un set de date de intrare care s determine, n


urma executrii algoritmului, afiarea valorii 752. (4p.)

c)

Scriei programul C/C++ corespunztor algoritmului


dat.
(10p.)

d)

Scriei n pseudocod un algoritm echivalent cu cel dat,


n care s se nlocuiasc fiecare structur ct
timp...execut, cu cte o structur repetitiv cu
test final.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

citete x
(numr natural)
n0
ct timp x0 execut
yx; c0
ct timp y>0 execut
dac y%10>c atunci
cy%10

y[y/10]

nn*10+c
citete x

scrie n

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 015
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Variabilele x i y sunt de tip ntreg, x memornd valoarea 4, iar y valoarea 2. Care dintre
expresiile C/C++ de mai jos are valoarea 0?
(4p.)

a. x-y!=0

b. x+y>x%y+1

c. x-2*y==0

d. !(x==2*y)

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


2. Se consider algoritmul alturat, descris n pseudocod.
S-a notat cu x%y restul mpririi numrului natural x la
numrul natural nenul y.

citete a,n
(numere naturale)
pentru i1,n execut
dac i%2=0 atunci
aa-i*i
altfel
aa+i*i

scrie a

a)

Scriei valoarea care se afieaz dac pentru a se


citete valoarea 25, iar pentru n se citete valoarea 6.
(6p.)

b)

Scriei programul C/C++ corespunztor algoritmului


dat.
(10p.)

c)

Dac pentru variabila a se citete valoarea 18, scriei valoarea care trebuie citit pentru
variabila n, astfel nct s se afieze numrul 8.
(6p.)

d)

Dac se citete pentru a valoarea 0, cu ce instruciune de atribuire trebuie nlocuit


atribuirea aa-i*i n algoritmul dat, astfel nct algoritmul obinut s afieze valoarea
expresiei n2 dac numrul citit pentru n este impar i respectiv 0 dac numrul citit
pentru n este par.
(4p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 016
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Care dintre urmtoarele instruciuni C/C++ determin inserarea cifrei 7 n faa ultimei cifre a
unui numr natural, cu mai mult de 2 cifre, memorat n variabila x?
(4p.)

a. x=(x/10*10+7)*10+x%10;

b. x=x/10+7+x%10;

c. x=(x%10*10+7)*10+x/10;

d. x=(x/10+7)*10+x%10;

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


2. Se consider algoritmul alturat, descris n
pseudocod.
S-a notat cu cu x%y restul mpririi numrului natural x la
numrul natural, nenul, y.
a)

b)

citete n (numr natural nenul)


pentru i1,n-1 execut
dac i%2=0 atunci
scrie #

Scriei caracterele care se vor afia n urma pentru ji+1,n execut


executrii algoritmului dac se citete valoarea 4.
scrie *

(6p.)

Scriei o valoare care poate fi citit pentru variabila


n, astfel nct caracterul * s fie afiat de exact 66
de ori.
(4p.)

c)

Scriei
programul
algoritmului dat.

d)

Scriei n pseudocod un algoritm echivalent cu cel


dat, n care s se nlocuiasc fiecare structur
repetitiv pentru...execut cu cte o structur
repetitiv ct timp...execut.
(6p.)

C/C++

corespunztor
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 017
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Care este valoarea pe care poate s o aib y=0;


iniial variabila ntreag x dac, la sfritul do
{ x=x/10;
executrii secvenei alturate, variabila
y=y+1;
ntreag y are valoarea 2?
(4p.)
} while(x%100==0);

a. 300

b. 5000

c. 120

d. 0

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


2. Se consider algoritmul alturat, descris n pseudocod.
a)

Scriei succesiunea de caractere pe care le va afia


algoritmul dac se citesc, n aceasta ordine, valorile 2,
respectiv 9.
(6p.)

b)

Scriei numrul de perechi de valori aparinnd


intervalului [1,20], care pot fi citite pentru variabilele x
i y, astfel nct rezultatul afiat s fie format din exact
12 caractere ?
(4p.)

c)

Scriei programul C/C++ corespunztor algoritmului


dat.
(10p.)

d)

Scriei n pseudocod un algoritm echivalent cu cel dat,


n care s se nlocuiasc structura repetitiv ct
timp...execut cu o structur repetitiv de alt tip.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

citete x,y
(numere naturale)
dac x<y atunci
xx-y
yx+y
xy-x

ct timp xy execut
scrie A
xx-y
scrie B

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 018
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Care dintre urmtoarele instruciuni C/C++ determin eliminarea cifrei din mijloc a unui
numr natural, cu exact 5 cifre, memorat n variabila x?
(4p.)

a. x=x/1000*100+x%100;

b. x=x%1000*100+x/100;

c. x=x/100*100+x%100;

d. x=x/1000+x%100;

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


citete x,y
2. Se consider algoritmul alturat, descris n pseudocod.
(numere naturale)
S-a notat cu a%b restul mpririi numrului natural a la
dac
x>y atunci
numrul natural, nenul, b i cu ab interschimbarea
yx
valorilor reinute de variabilele a i b.

Scriei succesiunea de caractere care se vor afia n dac x%2=0 atunci


a)
urma executrii algoritmului dac se citesc, n acest xx+1
ordine, valorile 2 i 9.
(6p.)
tiind c pentru variabila y se citete valoarea 79, ct timp xy execut
b)
xx+2
scriei 2 valori distincte care pot fi citite pentru variabila
scrie *
x, astfel nct s fie afiat de exact 40 de ori caracterul
*.
(4p.)
c)

Scriei programul C/C++ corespunztor algoritmului


dat.
(10p.)

d)

Scriei n pseudocod un algoritm echivalent cu cel dat,


n care s se nlocuiasc structura repetitiv ct
timp...execut cu o structur repetitiv de alt tip.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 019
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Cte atribuiri se execut, n total, n p=1; n=279;


secvena alturat, dac n i p sunt while (n>=100)
variabile de tip ntreg?
(4p.) { p=p*10;
n=n-100;
}

a. 4

b. 6

c. 2

d. 8

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


citete a,b
(numere naturale)
a[a/10]%10*10+a%10
b[b/10]%10*10+b%10
pentru ia,b execut
dac[i/10]=i%10 atunci
Scriei numerele care se vor afia n urma scrie i%10
executrii algoritmului dac se citesc valorile
a=312 i b=1354.
(6p.)

2. Se consider algoritmul alturat, descris n


pseudocod.
S-a notat cu cu x%y restul mpririi numrului natural x la
numrul natural nenul y i cu [z] partea ntreag a
numrului real z.
a)

b)

Scriei cte o valoare care poate fi citit pentru


variabila a, respectiv b, astfel nct algoritmul s
afieze exact 2 valori.
(4p.)

c)

Scriei
programul
algoritmului dat.

d)

Scriei n pseudocod un algoritm echivalent cu cel


dat, n care s se nlocuiasc structura
pentru...execut cu o structur repetitiv de
alt tip.
(6p.)

C/C++

corespunztor
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

EXAMENUL DE BACALAUREAT 2008


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
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) - Varianta 020
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Care este valoarea tiprit de secvena de


program C/C++ alturat, tiind c x i y
sunt variabile ntregi, iar z este o variabil
real?
(4p.)

a. 5

b. 5.833333

x=30;
y=5;
z=(x+y)/6.0;
z=floor(z*100);
z=z/100;
cout<<z; | printf(%0.2f,z);
c. 5.83
d. 583

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


2. Se consider algoritmul alturat, descris n pseudocod.
citete n (numr natural)
an%10
S-a notat cu cu x%y restul mpririi numrului natural x la
ma
numrul natural nenul y i cu [z] partea ntreag a
ct
timp n>9 execut
numrului real z.
n[n/10]
Scriei valoarea pe care o va afia algoritmul dac se bn%10
a)
citete numrul 16389.
(6p.) dac a>b atunci
Scriei cea mai mic valoare de patru cifre distincte mm*10+b
b)
care poate fi citit pentru variabila n, astfel nct s se ab
afieze valoarea 0.
(4p.)

Scriei programul C/C++ corespunztor algoritmului


scrie m
c)
dat.
(10p.)
d)

Scriei n pseudocod un algoritm echivalent cu cel dat,


n
care
s
se
nlocuiasc
structura
ct
timp...execut cu o structur repetitiv de alt tip.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul I

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 001


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Se consider o coad n care iniial au fost introduse, n aceast ordine, elementele cu


1

valorile 1 i 2:
. Se noteaz cu AD(x) operaia prin care se adaug elementul cu
valoarea x n coad i cu EL operaia prin care se elimin un element din coad. Cte
elemente va conine coada n urma executrii secvenei de operaii:
AD(4);EL;EL;AD(5);EL;AD(3)?
(4p.)
a.

2.

Care este numrul maxim de componente conexe pe care le poate avea un graf neorientat
cu 20 noduri i 12 muchii?
(4p.)

a.

b.

b.

12

c.

c.

10

d.

d.

15

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


3.

n declararea alturat, cmpurile x i y ale nregistrrii pot struct punct


{
memora coordonatele carteziene ale unui punct din planul xOy.
float x,y;
Scriei o secven de instruciuni prin executarea creia se
}
A,B;
calculeaz i se afieaz pe ecran distana dintre dou puncte ale
float
d;
cror coordonate sunt memorate de variabilele A i B.
(6p.)

4.

Pentru arborele reprezentat prin vectorul de tai T=(6,6,5,0,6,4,4,7), scriei care este
nodul cu cei mai muli fii i care sunt frunzele arborelui.
(6p.)

5.

Scriei un program C/C++ care citete de la tastatur dou numere naturale nenule n i m
(2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii
(numerotate de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare
element Aij memoreaz cea mai mic dintre valorile indicilor i i j (1in, 1jm).
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele
fiecrei linii fiind separate prin cte un spaiu.
1 1 1 1 1
Exemplu: pentru n=4 i m=5 se va afia matricea alturat.
1 2 2 2 2
1 2 3 3 3
1 2 3 4 4
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 002


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Cte grafuri neorientate, distincte, cu 3 vrfuri se pot construi? Dou grafuri se consider
distincte dac matricele lor de adiacen sunt diferite.
(4p.)

a.

23

2.

Variabila d, declarat alturat, memoreaz n cmpurile


struct dreptunghi
a i b limea i, respectiv, lungimea unui dreptunghi.
{
Care dintre urmtoarele instruciuni atribuie cmpului p
float a,b,p;
al variabilei d valoarea perimetrului dreptunghiului
}d;
respectiv?
(4p.)

a.

p.d=2*(d.a+d.b);

b.

p.d=2*a.d+2*b.d;

c.

d.p=2*d.a+2*d.b;

d.

d.p==2*d.a+2*d.b;

b.

c.

32

d.

16

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


3.

Se consider o stiv n care iniial au fost introduse, n aceast ordine,


elementele cu valorile 1, 2 i 3, ca n figura alturat. Se noteaz cu
AD(x) operaia prin care se adaug elementul cu valoarea x n vrful
stivei i cu EL operaia prin care se elimin elementul din vrful stivei.
Care sunt valorile ultimelor dou elemente eliminate din stiv n urma
executrii secvenei de operaii: AD(4);EL;EL;AD(5);EL;EL?
(6p.)

vrf

2
1

baza

4.

n secvena alturat, variabila a memoreaz o matrice


cu n linii i n coloane (numerotate de la 0 la n-1) cu s = 0;
elemente numere ntregi, iar toate celelalte variabile sunt for(j = 0; j < n; j++)
ntregi. tiind c n este un numr natural nenul, scriei
.............
instruciunile ce pot nlocui punctele de suspensie din printf("%d",s);|cout<<s;
secvena de program alturat astfel nct, n urma
executrii acesteia, s se afieze suma elementelor
numere ntregi impare de pe linia k a matricei a. (6p.)

5.

Scriei un program C/C++ care citete de la tastatur un cuvnt format din cel mult 20 de
caractere, doar litere ale alfabetului englez. Programul determin transformarea cuvntului
citit prin nlocuirea fiecrei litere mici a cuvntului cu litera mare corespunztoare, restul
literelor nemodificndu-se, ca n exemplu. Programul afieaz pe ecran cuvntul obinut.
Exemplu: pentru cuvntul: bACAlaUrEaT se va afia pe ecran: BACALAUREAT
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 003


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Se consider un graf orientat cu 6 noduri numerotate de la 1 la 6 i cu mulimea arcelor


format doar din arcele:
- de la fiecare nod numerotat cu un numr neprim i (i>1) la toate nodurile numerotate cu
numere ce aparin mulimii divizorilor proprii ai lui i (divizori diferii de 1 i de i)
- de la nodul numerotat cu 1 la nodul numerotat cu 6
- de la fiecare nod numerotat cu un numr prim i la nodul numerotat cu i-1
Pentru graful dat, cte dintre nodurile grafului au gradul exterior strict mai mare dect gradul
interior?
(4p.)

a.

2.

Cte frunze are arborele cu rdcin descris prin urmtorul vector de tai:
(6,5,5,2,0,3,3,3,8,7,7)?
(4p.)

a.

b.

b.

c.

c.

d.

d.

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


3.

n declararea alturat, cmpurile x i y ale nregistrrii pot struct fractie


{
memora numrtorul, respectiv numitorul unei fracii. Scriei
int x,y;
secvena de instruciuni prin executarea creia se construiete
}f,f1,f2;
n variabila f o fracie obinut prin nsumarea fraciilor
memorate n variabilele f1 i f2.
(6p.)

4.

n secvena de instruciuni de mai jos, variabila s memoreaz un ir de caractere format


doar din litere ale alfabetului englez, iar variabilele i i n sunt de tip int. tiind c n urma
executrii secvenei s-a afiat succesiunea de caractere eeleeeneee scriei care este
irul de caractere memorat de variabila s.
(6p.)
n=strlen(s);
for(i=0;i<n;i++)
printf("%c%c",s[i],e); | cout<<s[i]<<'e';

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2n24) i


construiete n memorie o matrice cu n linii i n coloane ale crei elemente vor primi valori
dup cum urmeaz:
- elementele aflate pe diagonala principal a matricei vor primi valoarea 0
- elementele de pe prima coloan, cu excepia celui aflat pe diagonala principal vor primi
valoarea n
- elementele de pe a doua coloan, cu excepia celui aflat pe diagonala principal vor primi
valoarea n-1
...
- elementele de pe ultima coloan, cu excepia celui aflat pe diagonala principal vor primi
valoarea 1
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei 0 3 2 1
pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii (ca n 4 0 2 1
4 3 0 1
exemplu).
Exemplu: pentru n=4 se va afia matricea alturat.
(10p.) 4 3 2 0

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 004


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Se consider un graf orientat cu 6 noduri numerotate de la 1 la 6 i cu mulimea arcelor


format doar din arcele:
- de la fiecare nod numerotat cu un numr neprim i (i>1) la toate nodurile numerotate cu
numere ce aparin mulimii divizorilor proprii ai lui i (divizori diferii de 1 i de i)
- de la nodul numerotat cu 1 la nodul numerotat cu 6
- de la fiecare nod numerotat cu un numr prim i la nodul numerotat cu i-1
Pentru graful dat, cte dintre nodurile grafului au gradul exterior egal cu gradul interior? (4p.)

a.

2.

Cte frunze are arborele cu rdcin, cu 8 noduri, numerotate de la 1 la 8, descris prin


urmtorul vector de tai: (6,5,5,2,0,3,3,3)?
(4p.)

a.

b.

b.

c.

c.

d.

d.

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


3.

Se consider o stiv n care iniial au fost introduse, n aceast ordine,


elementele cu valorile 1, 2 i 3, ca n figura alturat. Se noteaz cu
AD(x) operaia prin care se adaug elementul cu valoarea x n vrful
stivei i cu EL operaia prin care se elimin elementul din vrful stivei.
Reprezentai, dup modelul alturat, coninutul stivei rezultat n urma
executrii secvenei de operaii: AD(4);EL;EL;AD(5);EL?
(6p.)

vrf

2
1

baza

4.

Fie s o variabil ce memoreaz un ir de caractere,


format doar din litere ale alfabetului englez, i i o
variabil de tip int. Scriei instruciunile ce pot
nlocui punctele de suspensie din secvena de
program alturat astfel nct executarea ei s
determine nlocuirea tuturor literelor mici din irul s
cu litera W i apoi afiarea irului obinut.
(6p.)

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2n24) i


construiete n memorie o matrice cu n linii i n coloane ale crei elemente vor primi valori
dup cum urmeaz:
- elementele aflate pe diagonala secundar a matricei vor primi valoarea 0
- elementele de pe prima linie, cu excepia celui aflat pe diagonala secundar vor primi
valoarea n
- elementele de pe a doua linie, cu excepia celui aflat pe diagonala secundar vor primi
valoarea n-1
...
- elementele de pe ultima linie, cu excepia celui aflat pe diagonala secundar vor primi
valoarea 1
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei 4 4 4 0
pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii (ca 3 3 0 3
n exemplu).
2 0 2 2
Exemplu: pentru n=4 se va afia matricea alturat.
(10p.)
0 1 1 1

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

i=0;
while (i<strlen(s))
{
...............
}
printf("%s",s);| cout<<s;

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 005


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

ntr-un graf neorientat cu 10 muchii, fiecare nod are gradul un numr nenul. Doar trei dintre
noduri au gradul un numr par, restul nodurilor avnd gradele numere impare. Care este
numrul maxim de noduri pe care poate s le aib graful?
(4p.)

a.

14

2.

Variabila d, declarat alturat, memoreaz n cmpurile a i


b limea i, respectiv, lungimea unui dreptunghi. Care dintre
urmtoarele instruciuni atribuie cmpului aria al variabilei d
valoarea ariei dreptunghiului respectiv?
(4p.)

b.

17

c.

10

d.

16

struct dreptunghi
{
float a,b,aria;
}d;

a.

d.aria==d.a*d.b;

b.

aria.d=a.d*b.d;

c.

aria.d=d.a*d.b;

d.

d.aria=d.a*d.b;

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


3.

Se consider un arbore cu rdcin n care doar 13 dintre nodurile arborelui au exact 2


descendeni direci (fii), restul nodurilor avnd cel mult un descendent direct (fiu). Care este
numrul frunzelor arborelui?
(6p.)

4.

Fie s o variabil ce memoreaz un ir de caractere, c i d dou variabile ce memoreaz


cte un caracter, iar n i i variabile ntregi. Scriei instruciunile ce pot nlocui punctele de
suspensie din secvena de program de mai jos astfel nct executarea ei s determine
nlocuirea tuturor apariiilor caracterului memorat
n=strlen(s);
de variabila c n irul s cu caracterul memorat de
for(i=0;i<n;i++)
variabila d i apoi afiarea irului obinut. (6p.)
...............
printf("%s",s);| cout<<s;

5.

Scriei un program C/C++ care citete de la tastatur dou numere naturale n i m


(2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii
(numerotate de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare
element Aij memoreaz cea mai mare dintre valorile indicilor i i j (1in, 1jm).
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele
fiecrei linii fiind separate prin cte un spaiu.
(10p.)
Exemplu: pentru n=4 i m=5 se va afia matricea alturat.
1 2 3 4 5
.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.) 2 2 3 4 5
3 3 3 4 5
4 4 4 4 5

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 006


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

n declararea alturat, cmpul a al structurii memoreaz struct p{


int a,b;} x,y;
numratorul, iar cmpul b memoreaz numitorul unei fracii.
int
t;
Care dintre urmtoarele secvene de instruciuni determin,
n urma executrii, interschimbarea numitorului fraciei x cu
numitorul fraciei y?
(4p.)

a.

t=x.b; x.b=y.b; y.b=t;

b.

t=b.x; b.x=b.y; b.y=t;

c.

x.b=y.b;

d.

b.x=b.y;

2.

Se consider un graf neorientat cu 10 noduri i 7 muchii. Care este numrul maxim de


componente conexe din care poate fi format graful?
(4p.)

a.

b.

c.

d.

10

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


3.

Care este numrul de muchii ale unui arbore cu 15 noduri?

4.

n secvena alturat se consider c variabila a


memoreaz un tablou bidimensional cu n linii i n
coloane, numerotate de la 0 la n-1, iar toate
celelalte variabile sunt ntregi. Ce valoare se va afia
n urma executrii secvenei, dac n=4, iar tabloul
are coninutul de mai jos?
1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7
(6p.)

5.

Se consider un text cu maximum 255 de caractere n care cuvintele sunt separate prin
unul sau mai multe spaii. Primul caracter din textul citit este o liter, iar cuvintele sunt
formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care citete
de la tastatur textul i l transform nlocuind prima liter a fiecrui cuvnt cu litera mare
corespunztoare, restul caracterelor rmnnd nemodificate. Textul astfel transformat va fi
afiat pe ecran.
Exemplu: dac de la tastatur se introduce textul: mare
frig rosu
se va afia pe ecran: Mare
Frig Rosu
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(6p.)

p=0; u=n-1; s=0;


while (p<=u)
{ s=s+a[p][p]+a[u][u];
p=p+1; u=u-1;
}
cout<<s; | printf(%d,s);

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 007


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Se consider tabloul bidimensional a cu n linii p=0;


numerotate de la 0 la n-1 i m coloane for (i=1;i<m;i++)
if (a[n-1][p]<a[n-1][i])
numerotate de la 0 la m-1. Ce reprezint
p=i;
elementul
a[n-1][p]
dup
executarea
secvenei de program alturate?
(4p.)

a.

cel mai mare element de pe linia n-1

b.

cel mai mic element de pe linia n-1

c.

cel mai mare element de pe coloana n-1

d.

cel mai mic element de pe coloana n-1

2.

Care dintre urmtoarele valori pot reprezenta gradele nodurilor unui graf neorientat cu 6
noduri?
(4p.)

a.

3 2 2 2 3 3

b.

4 2 2 2 3 2

c.

5 2 2 2 0 3

d.

5 2 2 2 1 2

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


3.

Considerndu-se declararea alturat, scriei o secven de struct elev


instruciuni prin executarea creia s se afieze, pe o singur { char nume[50];
int clasa;
linie a ecranului, coninutul variabilei x.
(6p.)
float medie;
}x;

4.

Se consider graful neorientat cu mulimea vrfurilor {1,2,3,4,5,6} i mulimea muchiilor


{[1,2],[2,3],[3,4],[3,5],[4,5],[1,3],[2,6],[2,4],[4,6]}.
Care este numrul minim de muchii ce trebuie eliminate astfel nct graful parial obinut s
nu mai fie conex?
(6p.)

5.

Se consider un text cu maximum 255 de caractere, format din litere mici ale alfabetului
englez i spaii. Textul conine cel puin o consoan. Scriei un program C/C++ care citete
de la tastatur textul i afieaz pe ecran numai ultima consoan care apare n text.
Exemplu: dac de la tastatur se introduce textul mare frig saci
pe ecran se va afia: c
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 008


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Cte frunze are arborele cu 8 noduri i rdcina 1, 0 1


reprezentat prin matricea de adiacen alturat?
(4p.) 1 0
0 1
0 0
1 0
0 0
0 0
0 0

0
1
0
1
0
0
0
0

a.

d.

2.

Care este numrul maxim de vrfuri de grad 0 pe care le poate avea un graf neorientat cu
10 noduri i 7 muchii?
(4p.)

a.

b.

b.

c.

c.

d.

0
0
1
0
0
0
0
0

1
0
0
0
0
1
0
1

0
0
0
0
1
0
1
0

0
0
0
0
0
1
0
0

0
0
0
0
1
0
0
0

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


3.

Ce se afieaz n urma executrii secvenei de program urmtoare, dac variabila s


memoreaz irul de caractere abcdefgh?
strcpy(s+2,s+4);
cout<<s<< <<strlen(s); | printf(%s %d ,s,strlen(s));

4.

(6p.)

Se consider un graf orientat cu 6 noduri care are urmtoarele proprietti:


- suma gradelor externe ale tuturor vrfurilor grafului este egal cu 6
- sunt doar 3 vrfuri care au gradul intern egal cu 1
Care este valoarea maxim pe care o poate avea gradul extern al unui vrf din graful dat?
(6p.)

5.

Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p


(2n20, 1p20) i construiete n memorie un tablou bidimensional cu n linii i p
coloane. Tabloul va fi construit astfel nct, parcurgnd tabloul linie cu linie de sus n jos i
fiecare linie de la stnga la dreapta, s se obin irul primelor n*p ptrate perfecte
impare, ordonat strict cresctor, ca n exemplu. Tabloul astfel construit va fi afiat pe ecran,
fiecare linie a tabloului pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei
linii.
Exemplu: pentru n=2, p=3 programul va afia 1 9 25
tabloul alturat:
(10p.) 49 81 121

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 009


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Considernd declararea alturat, care dintre urmtoarele secvene de struct {


instruciuni realizeaz n mod corect citirea de la tastatur a valorilor int a, b;
celor dou cmpuri ale variabilei x?
(4p.) } x;

a.

cin>>x;

scanf(%d, &x);

b.

cin>>a.x>>b.x;

scanf(%d %d, &a.x,&b.x);

c.

cin>>x.a>>x.b;

scanf(%d %d, &x.a,&x.b);

d.

cin>>a->x>>b->x;

scanf(%d %d, &a->x,&b->x);

2.

Se consider graful neorientat G cu 8 noduri, care are urmtoarele proprieti:


- suma gradelor tuturor nodurilor este 12
- graful are exact 3 noduri cu gradul 1
Care este numrul maxim de noduri de grad 0 ale grafului G?

a.

b.

c.

d.

(4p.)

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


3.

Ce se afieaz n urma executrii secvenei de n=strlen(s);


program alturate, dac variabila s memoreaz irul s[n-1]=s[0];
de caractere abcdef iar variabila n este de tip cout<<s; | printf(%s ,s);
ntreg?
(6p.)

4.

Se consider graful orientat G reprezentat prin listele de


adiacen alturate. Care este numrul maxim de arce ale
unui drum n graf format din noduri distincte?
(6p.)

5.

Se consider tabloul bidimensional cu n linii i n coloane ce conine numere naturale cu cel


mult patru cifre fiecare. Scriei programul C/C++ care citete de la tastatur numrul natural
n (2n23) i cele n*n elemente ale tabloului i apoi afieaz pe ecran elementele
primului ptrat concentric, separate prin cte un spaiu. Ptratul este parcurs n sensul
acelor de ceasornic ncepnd din colul su stnga-sus, ca n exemplu. Primul ptrat
concentric este format din prima i ultima linie, prima i ultima coloan a tabloului.
Exemplu: pentru n=5 i tabloul alturat, se va 1 2 3 4 5
afia:
6 7 8 9 1
1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6
2 3 4 5 6
(10p.) 7 8 9 1 2
3 4 5 6 7

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 010


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Considernd declararea alturat, care dintre urmtoarele secvene de struct {


int a, b;
instruciuni afieaz valorile memorate n cele dou cmpuri ale
} x;
variabilei x, separate printr-un spaiu?
(4p.)

a.

cout <<x.a<< <<x.b;

printf(%d %d, x.a,x.b);

b.

cout<<a.x<< <<b.x;

printf(%d %d, a.x,b.x);

c.

cout<<x;

printf(%d, x);

d.

cout<<a->x<< <<b->x;

printf(%d %d, a->x,b->x);

2.

Se consider declarrile de mai jos:

a.

aace

i=0;
while (i<strlen(s)-1)
char s[]=abbacdde;
if (s[i]==s[i+1])
int i;
{ strcpy(s+i,s+i+2);
if (i>0) i=i-1;
Ce ir reine variabila s dup executarea secvenei de
}
instruciuni alturate?
(4p.)
else i=i+1;
b.

ace

c.

ce

d.

acde

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


3.

Care este gradul maxim pe care l poate avea un nod al unui graf neorientat cu 6 muchii i
6 noduri dintre care exact dou au gradul 0?
(6p.)

4.

Se consider graful neorientat cu 80 de noduri i 3160 muchii. Care este numrul de muchii
ce pot fi eliminate astfel nct graful parial obinut s devin arbore?
(6p.)

5.

Scriei un program C/C++ care citete de la tastatur dou numere naturale n i p


(1<n20, 1p20) i construiete n memorie un tablou bidimensional cu n linii i p
coloane. Tabloul va fi construit astfel nct parcurgnd matricea de la prima linie ctre ultima
i fiecare linie de la stnga la dreapta s se obin irul primelor n*p ptrate perfecte pare
ordonat strict cresctor. Tabloul astfel construit va fi afiat pe ecran, fiecare linie a tabloului
pe cte o linie a ecranului, cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=2, p=3 programul va afia 0 4 16
tabloul alturat:
(10p.) 36 64 100

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 011


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Se consider graful orientat reprezentat prin matricea de


adiacen alturat. Care este lungimea maxim a unui drum de
la vrful 4 pn la vrful 6 format din vrfuri distincte dou cte
dou (lungimea unui drum este egal cu numrul de arce care
compun acel drum)?
(6p.)

0
0
0
0
1
1

a.

d.

2.

Pentru a memora simultan numele i media la informatic a unui elev n variabila e, se


poate utiliza declararea:
(4p.)

a.

struct e{
string nume; float media;}

b.

char e.nume[40];
float e.media;

c.

float e;

d.

struct {char a[40]; float b;} e;

b.

c.

1
0
0
0
1
0

1
0
0
1
0
1

0
0
0
0
0
0

0
1
0
1
0
0

0
1
0
0
1
0

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

strcpy(s,abracadabra);

3.

Ce se afieaz pe ecran n
i=0;
urma executrii secvenei de
cout<<strlen(s); | printf("%d",strlen(s));
program alturate, n care
while (i<strlen(s))
variabila s memoreaz un ir cu
if (s[i]=='a')
cel mult 12 caractere, iar i este
strcpy(s+i,s+i+1);
de tip ntreg?
else
i++;
(6p.)
cout<<" "<<s; | printf(" %s",s);

4.

Cte grafuri neorientate distincte, fr bucle, cu 4 vrfuri, se pot construi? Dou grafuri sunt
distincte dac matricele lor de adiacen difer.
(4p.)

5.

Scriei un program C/C++ care citete de la tastatur dou valori naturale nenule m i n
(m10, n10) i apoi m*n numere naturale nenule cu cel mult 4 cifre fiecare, reprezentnd
elementele unei matrice cu m linii i n coloane. Programul determin apoi valorile minime de
pe fiecare linie a matricei i le afieaz pe o linie a ecranului separate prin cte un spaiu.
3 6 5 4 7

Exemplu: pentru m=3, n=5 i matricea 9 6 12 9 10 , se afieaz pe ecran valorile


5 13 7 2 3

3 6 2 (cea mai mic valoare de pe prima linie a matricei este 3, cea mai mic valoare de pe
linia a doua este 6, cea mai mic valoare de pe linia a treia este 2).
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 012


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Un graf neorientat este reprezentat prin matricea de 0 1 1


adiacen alturat. Care sunt vrfurile care au gradul 1 0 1
1 1 0
maxim?
(4p.)
0 1 1
0 0 0
0 1 0

0
1
1
0
1
1

a.

d.

2.

Pentru care dintre urmtorii arbori cu rdcin, memorai cu ajutorul vectorilor de tai,
nodurile 4, 6 i 9 sunt singurii descendeni direci (fii) ai nodului 3?
(6p.)

a.

tata=(2,0,2,3,2,3,4,4,3)

b.

tata=(3,3,4,0,2,3,4,4,4)

c.

tata=(6,4,9,0,3,3,3,3,3)

d.

tata=(0,3,1,3,2,3,4,4,3)

b.

2, 4

c.

0
0
0
1
0
1

0
1
0
1
1
0
1, 3, 6

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


3.

O variabil e este folosit pentru a memora simultan numele unui elev precum i cele 3 note
obinute de acesta la un concurs de atletism. tiind c notele sunt numere ntregi cu
maximum dou cifre, numele este un ir cu maximum 30 de caractere, iar punctajul total al
elevului se calculeaz folosind atribuirea:
total=e.nota1+e.nota2+e.nota3;
scriei declararea variabilei e.

(6p.)

4.

Scriei ce se afieaz pe ecran n urma char s[13]="abcdefghoid";


executrii secvenei de program alturate, cout<<strlen(s);
| printf("%d",strlen(s));
n care variabila s memoreaz un ir cu cel
for
(int
i=0;i<strlen(s);i++)
mult 12 caractere, iar i este de tip ntreg.
if (s[i]=='a' || s[i]=='e' ||
(4p.)
s[i]=='i' || s[i]=='o' ||
s[i]=='u')
s[i]= s[i]-'a'+'A';
cout<<" "<<s;
| printf(" %s",s);

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<50) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei
elemente primesc valori dup cum urmeaz:
- elementele aflate pe diagonala secundar sunt toate nule;
- elementele de pe linia i (1in), aflate deasupra diagonalei secundare, au valoarea egal
cu i;
- elementele de pe coloana n-i+1 (1in), aflate sub diagonala secundar, au valoarea
egal cu i.
Programul va afia matricea astfel construit pe ecran, cte o linie a 1 1 1 0
matricei pe cte o linie a ecranului, elementele fiecrei linii fiind separate 2 2 0 1
3 0 2 1
prin cte un spaiu.
Exemplu: pentru n=4 se va afia matricea alturat.
(10p.) 0 3 2 1

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 013


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Care este vectorul "de tai" pentru arborele cu rdcin


din figura alturat?
(6p.)

a.

0 0 5 7 6 5 1

b.

1 0 0 7 6 5 0

c.

7 4 5 0 4 5 4

d.

7 4 5 0 4 5 7

2.

Cte grafuri neorientate distincte, cu 5 noduri, numerotate de la 1 la 5, se pot construi,


astfel nct nodul 1 s aib gradul 1? Dou grafuri sunt distincte dac matricele lor de
adiacen sunt diferite.
(4p.)

a.

32

b.

256

c.

15

d.

24

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


3.

Pentru a memora denumirea unui medicament i preul acestuia se folosete variabila m.


Scriei declararea variabilei m tiind c denumirea medicamentului este un ir cu maximum
30 de caractere, preul acestuia este un numr real, iar majorarea cu 10% a preului se face
folosind urmtoarea atribuire:
m.pret=m.pret*1.1;

(4p.)

4.

Scriei ce se afieaz pe ecran n urma char s[13]="abcdefghoid";


executrii secvenei de program alturate, i=0;
n care variabila s memoreaz un ir de cel cout<<strlen(s);
| printf("%d",strlen(s));
mult 12 caractere, iar variabila i este de tip
while (i<strlen(s))
ntreg.
if (s[i]=='a' || s[i]=='e' ||
(6p.)
s[i]=='i' || s[i]=='o' ||
s[i]=='u')
strcpy(s+i,s+i+1);
else i++;
cout<<" "<<s;
| printf(" %s",s);

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<50) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotare de la 1 la n, ale crei
elemente primesc valori dup cum urmeaz:
- elementele aflate pe diagonala secundar sunt toate nule;
- elementele aflate deasupra diagonalei secundare sunt toate 1;
- elementele aflate sub diagonala secundar sunt toate 2.
Programul afieaz pe ecran matricea construit, cte o linie a matricei pe 1 1 1 0
cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un 1 1 0 2
spaiu.
1 0 2 2
Exemplu: pentru n=4 se va afia matricea alturat.
(10p.) 0 2 2 2

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 014


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Se consider un graf neorientat cu 5 noduri, etichetate cu literele a, b, c, d, e, n care orice


nod etichetat cu o vocal este adiacent cu toate nodurile etichetate cu consoane i numai
cu acestea, iar orice nod etichetat cu o consoan este adiacent numai cu nodurile
etichetate cu vocale. Cte muchii are acest graf?
(4p.)

a.

12

2.

ntr-o stiv au fost introduse, n aceast ordine, valorile 10, 5, 4, ca n


figura alturat. Dac se noteaz cu PUSH(x) operaia prin care se
adaug valoarea x n vrful stivei, i cu POP operaia prin care se
extrage elementul din vrful stivei, care este coninutul stivei dup
executarea urmtoarelor operaii?

b.

c.

POP; PUSH(7); POP; POP; PUSH(9);


a.

b.

c.

d.

(6p.)
d.

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


char s[11]="abcduecda";
cout<<strlen(s); | printf(%d, strlen(s));
i=0; j=strlen(s)-1;
k=0;
while (i<j)
{ if (s[i]==s[j])
k=k+1;
i=i+1; j=j-1;
}
cout<<" "<<k; | printf(" %d",k);

3.

Ce se afieaz pe ecran n
urma executrii secvenei de
program alturate, n care
variabila s memoreaz un ir
cu cel mult 10 caractere, iar
variabilele i, j i k sunt de
tip ntreg?
(4p.)

4.

Care sunt etichetele nodurilor de tip frunz ale arborelui cu rdcin, avnd 7 noduri,
numerotate de la 1 la 7, i urmtorul vector de tai: (5,1,5,1,0,7,5)?
(6p.)

5.

Scriei un program C/C++ care citete de la tastatur un numr natural nenul cu exact 4
cifre, construiete n memorie i afieaz apoi pe ecran o matrice avnd 4 linii i 4 coloane,
completat astfel: elementele de pe prima coloan a matricei vor fi toate egale cu cifra
unitilor numrului dat, elementele de pe a doua coloan a matricei vor fi toate egale cu
cifra zecilor numrului dat, elementele de pe a treia coloan a matricei vor fi toate egale cu
cifra sutelor numrului dat, iar elementele de pe a patra coloan a matricei vor fi toate egale
cu cifra miilor numrului dat.
Matricea va fi afiat pe ecran, cte o linie a matricei pe cte o linie a
ecranului, iar elementele fiecrei linii vor fi separate prin cte un spaiu.
Exemplu: dac se citete numrul 1359, matricea construit va fi cea
alturat.
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 015


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Ci frai are nodul 1 din arborele cu rdcin cu 7 noduri, numerotate de la 1 la 7, avnd


urmtorul vector de tai: (5,1,5,1,0,7,5)?
(6p.)

a.

2.

Stiva este o structur de date care poate fi descris astfel:

a.

oricare element poate fi extras

b.

ultimul element introdus n stiv este


ultimul care poate fi extras

c.

primul element introdus n stiv este d.


primul care poate fi extras

primul element introdus n stiv este


ultimul care poate fi extras

b.

c.

d.

3
(4p.)

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


3.

Ce se afieaz pe ecran n urma i=0; char s[11]="abaemeiut";


executrii secvenei de program cout<<strlen(s); | printf("%d",strlen(s));
alturate, n care variabila s while (i<strlen(s))
memoreaz un ir cu cel mult 10 if (s[i]=='a' || s[i]=='e' ||
s[i]=='i' || s[i]=='o' ||
caractere, iar variabila i este de
s[i]=='u)
tip ntreg?
(4p.)
{ strcpy(s+i,s+i+1); i=i+1; }
else
i=i+2;
cout<<" "<<s; | printf(" %s",s);

4.

Se consider graful neorientat cu 8 noduri, numerotate de la 1 la 8, i muchiile [1,2],


[1,6], [1,7], [2,3], [2,6], [3,6], [3,4], [4,5], [4,8], [5,6], [7,8]. Care este
gradul minim al unui nod din acest graf? Care sunt nodurile care au acest grad minim? (6p.)

5.

Scriei un program C/C++ care citete de la tastatur un numr natural cu exact 5 cifre i
construiete n memorie o matrice cu 5 linii i 5 coloane, numerotate de la 1 la 5, format
astfel:
- elementele de pe linia 1, au toate valoarea egal cu cifra unitilor numrului citit;
- elementele de pe linia 2, au toate valoarea egal cu cifra zecilor numrului citit;
- elementele de pe linia 3, au toate valoarea egal cu cifra sutelor;
- elementele de pe linia 4, au toate valoarea egal cu cifra miilor;
- elementele de pe linia 5, au toate valoarea egal cu cifra zecilor de mii.
Programul afieaz pe ecran matricea astfel construit, cte o linie a 1 1 1 1 1
matricei pe cte o linie a ecranului, elementele de pe aceeai linie fiind 3 3 3 3 3
7 7 7 7 7
separate prin cte un spaiu.
Exemplu: dac se citete numrul 28731 matricea construit va fi cea 8 8 8 8 8
alturat.
(10p.) 2 2 2 2 2

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 016


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Numrul de muchii ale unui graf neorientat cu 12 noduri, n care fiecare nod este adiacent
cu exact 11 noduri, este :
(4p.)

a.

144

2.

Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan vrsta n ani mplinii i media la bacalaureat a unui elev?
(4p.)

a.

struct {float media;


int varsta;} x;

b.

struct x {float media;


int varsta;};

c.

float x.media;
int x.varsta;

d.

struct elev {float x.media;


int x.varsta};

b.

66

c.

78

d.

11

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


3.

4.

ntr-o stiv au fost introduse n aceast ordine, numerele


5, 7, 3, 8, ca n figura alturat. Precizai numrul minim
de elemente care trebuie extrase din stiv pentru a fi
siguri c s-a extras inclusiv elementul cu valoarea 3 i
care este elementul aflat n vrful stivei dup extragerea
acestui element?
(6p.)
Ce
va
afia
secvena
alturat, tiind c variabila a
memoreaz un ir cu cel mult
100
de
caractere,
iar
variabila i este de tip ntreg?

strcpy(a,clasa a-XII-a A);


cout<<a<<endl; | printf(%s\n,a);
for(i=0;i<strlen(a);i++)
if(a[i]>=a&&a[i]<=z)
cout<<a[i]; | printf(%s,a[i]);

(6p.)
5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<16),


construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, n care
elementele de pe cele dou diagonale sunt egale cu 4, iar restul elementelor sunt egale cu
3. Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe cte o linie a
ecranului cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: pentru n=5 se va afia matricea alturat.
(10p.) 4 3 3 3 4
3 4 3 4 3
3 3 4 3 3
3 4 3 4 3
4 3 3 3 4

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 017


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Care este gradul maxim posibil i care este gradul minim posibil pentru un nod dintr-un graf
cu n noduri, care este arbore?
(4p.)

a.

n-1 i 1

b.

n i 1

c.

n i 0

d.

n-1 i 0

2.

Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan codul de identificare al unui candidat la un examen, exprimat ca un
numr natural de cel mult 4 cifre i media obinut de acesta la examen, exprimat ca un
numr real?
(4p.)

a.

struct x { int cod;


float media;};

b.

struct { int cod;


float media;} x;

c.

int x.cod ;
float x.media;

d.

struct candidat { int x.cod;


float x.media;};

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


3.

ntr-o stiv au fost introduse, n aceast ordine,


numerele 5, 7, 3, 8, ca n figura alturat. Scriei
care este numrul minim de elemente care trebuie
extrase din stiv pentru a fi siguri c s-a extras
inclusiv elementul cu valoarea 7 i care este
numrul de elemente rmase n stiv dup
extragerea acestui element.
(6p.)

4.

Ce va afia secvena
program,
tiind
c
memoreaz un ir cu cel
caractere, iar variabila i
ntreg?

5.

alturat de
variabila
a
mult 100 de
este de tip
(6p.)

strcpy(a,bacalaureat);
n=strlen(a);
cout<<n<<endl;| printf(%d\n,n);
cout<<a[0]<<*<<a[n-1];|
printf(%c*%c,a[0],a[n-1]);

Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20),


construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, n care
fiecare element de pe diagonala secundar are valoarea n, fiecare element aflat deasupra
diagonalei secundare este mai mic cu o unitate dect vecinul aflat pe aceeai linie n
dreapta lui i fiecare element aflat sub diagonala secundar este mai mare cu o unitate
dect vecinul aflat pe aceeai linie n stnga lui.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 1 2 3 4 5
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 2 3 4 5 6
Exemplu: pentru n=5 se va afia matricea alturat.
(10p.) 3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 018


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Un arbore binar este un arbore cu rdcin n care fiecare nod are cel mult 2 descendeni
direci (fii), iar nlimea arborelui este reprezentat de numrul maxim de muchii ale unui
lan elementar ce unete rdcina cu un vrf terminal (frunz). Pentru un arbore binar cu
exact 8 noduri, precizai care este nlimea minim posibil?
(4p.)

a.

2.

Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan coordonatele reale (abscisa i ordonata) ale unui punct n planul
xOy?
(4p.)

a.

struct punct {float ox,oy;} x;

b.

char x[2];

c.

struct x {float ox,oy;};

d.

float x;

b.

c.

d.

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


3.

Care va fi valoarea elementului aflat n vrful unei stive iniial vid i care este numrul de
elemente rmase n stiv, dup efectuarea, n aceast ordine, a urmtoarelor operaii:
se introduce valoarea 3; se introduce valoarea 7; se introduce valoarea 5; se extrage un
element; se introduce valoarea 2; se introduce valoarea 4; se extrage un element. (6p.)

4.

5.

n secvena alturat, variabila a strcpy(a,informatica);


memoreaz un ir cu cel mult 100 de for(i=0;i<strlen(a);i++)
if(...)
caractere, iar variabila i este de tip
cout<<...;
|
printf(...);
ntreg.
else
Completai punctele de suspensie din
cout<<...;
|
printf(...);
secven astfel nct aceasta s afieze
irul de caractere *nf*rm*t*c*. (6p.)
Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20),
construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate
de la 1 la n. Fiecare element din matrice aflat pe o linie impar va fi egal cu numrul liniei pe
care se afl i fiecare element aflat pe o linie par va fi egal cu numrul coloanei pe care se
afl.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 1 1 1 1 1
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 1 2 3 4 5
Exemplu: pentru n=5 se va afia matricea alturat.
(10p.) 3 3 3 3 3
1 2 3 4 5
5 5 5 5 5

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 019


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Un graf neorientat este complet dac oricare dou noduri distincte ale sale sunt adiacente.
Care este numrul de muchii care trebuie eliminate dintr-un graf neorientat, complet, cu 7
noduri, astfel nct graful parial obinut s fie arbore?
(4p.)

a.

15

2.

Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan partea real i partea imaginar a unui numr complex?
(4p.)

a.

struct x {float im,re;};

b.

char x[2];

c.

struct complex{

d.

float x;

b.

c.

d.

21

float im, re;} x;

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


3.

Ce va afia secvena alturat de strcpy(x,bac2008);


program, tiind c variabila x for(i=3;i<strlen(x);i++)
cout<<x[i]; | printf(%c,x[i]);
memoreaz un ir cu cel mult 100 de
cout<<x<<endl;
| printf(%s\n,x);
caractere, iar variabila i este de tip
ntreg?
(6p.)

4.

Care vor fi valorile primului i ultimului element extras dintr-o coad iniial vid, dac se
efectueaz urmtoarele operaii, n aceast ordine: se introduce valoarea 5; se introduce
valoarea 4; se extrage un element; se introduce valoarea 2; se introduce valoarea 7; se
extrage un element.
(6p.)

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<20),


construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate
de la 1 la n, n care fiecare element aflat pe o coloana impar este egal cu suma dintre
numrul liniei i numrul coloanei pe care se afl i fiecare element aflat pe o coloan par
este egal cu numrul liniei pe care se afl.
Elementele matricei vor fi afiate pe ecran, cte o linie a matricei pe 2 1 4 1 6
cte o linie a ecranului cu cte un spaiu ntre elementele fiecrei linii. 3 2 5 2 7
Exemplu: pentru n=5 se va afia matricea alturat.
(10p.) 4 3 6 3 8
5 4 7 4 9
6 5 8 5 10

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul II (30 de puncte) - Varianta 020


Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.

Suma gradelor interne ale tuturor vrfurilor unui graf orientat este ntotdeauna egal cu:
(4p.)

a.

numrul valorilor de 1 aflate sub b.


diagonala principal n matricea sa de
adiacen

produsul gradelor externe ale tuturor


vrfurilor grafului

c.

suma tuturor valorilor aflate deasupra d.


diagonalei principale n matricea sa de
adiacen

suma gradelor
vrfurilor grafului

2.

Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan numrtorul i numitorul unei fracii ireductibile:
(4p.)

a.

struct fractie{int n1,n2;} x;

b.

char x[2];

c.

struct x{int n1,n2;};

d.

float x;

externe

ale

tuturor

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


3.

Care vor fi valorile primului i ultimului element ale unei cozi iniial vide, dac se
efectueaz urmtoarele operaii, n aceast ordine: se introduce valoarea 2; se introduce
valoarea 5; se extrage un element; se introduce valoarea 9; se introduce valoarea 7; se
extrage un element.
(6p.)

4.

n secvena alturat, variabila a memoreaz strcpy(a,Bac 2008 iulie);


un ir cu cel mult 100 de caractere, iar variabila for(...)
cout<<a[i];
i este de tip ntreg. Completai punctele de
| printf(%c,a[i]);
suspensie, astfel nct aceasta s afieze
caracterele irului memorat n variabila a, n
ordine invers celei n care se gsesc n ir.
(6p.)

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<10),


construiete n memorie i afieaz pe ecran o matrice cu n linii i n coloane, numerotate
de la 1 la n, n care fiecare element aflat pe prima linie sau pe prima coloan din matrice
este egal cu suma dintre numrul liniei i numrul coloanei pe care se afl, iar fiecare dintre
celelalte elemente este egal cu suma dintre elementul vecin aflat pe aceeai linie cu el, dar
pe coloana din stnga sa i elementul vecin aflat pe aceeai coloan cu el, dar pe linia de
deasupra sa.
5
6
Elementele matricei vor fi afiate pe ecran, cte o linie a 2 3 4
3
6
10
15
21
matricei pe cte o linie a ecranului cu cte un spaiu ntre
4 10 20 35 56
elementele fiecrei linii.
Exemplu: pentru n=5 se va obine matricea alturat. 5 15 35 70 126
(10p.) 6 21 56 126 252

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul II

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 001


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru
litere din mulimea A={a,b,c,d}, cuvinte care nu conin dou vocale alturate. Primele
trei cuvinte generate sunt, n ordine: abab, abac, abad. Care este cel de-al aselea
cuvnt generat?
(4p.)
a. abbb
b. abbc
c. abba
d. abbd
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2.

Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului


f(121,1);?
(6p.)
//C

//C++

void f(long n, int i)


{ if(n==0) printf("%d",i);
if(n%3>0) f(n/3,i+1);
}

void f(long n, int i)


{ if(n==0) cout<<i;
if(n%3>0) f(n/3,i+1);
}

3.

Fiierul text bac.txt conine, pe o singur linie, cel mult 1000 de numere naturale nenule
cu cel mult 4 cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un program
C/C++ care citete de la tastatur un numr natural nenul n (n999) i numerele din fiierul
bac.txt i care afieaz pe ecran, separate prin cte un spaiu, toate numerele din fiier
care sunt divizibile cu n. Dac fiierul nu conine niciun astfel de numr, atunci se va afia
pe ecran mesajul NU EXISTA.
Exemplu: dac fiierul bac.txt conine numerele: 3 100 40 70 25 5 80 6 3798,
pentru n=10 atunci pe ecran se va afia: 100 40 70 80
(10p.)

4.

Subprogramul sub, cu trei parametri, primete prin intermediul parametrului:


v un tablou unidimensional cu cel mult 100 de componente ce memoreaz numere
ntregi cu cel mult 4 cifre;
n un numr natural nenul mai mic sau egal cu 100 ce reprezint numrul efectiv de
componente ale tabloului primit prin intermediul parametrului v;
a un numr ntreg cu cel mult 4 cifre.
Subprogramul sub returneaz numrul componentelor tabloului primit prin intermediul
parametrului v ale cror valori sunt egale cu valoarea parametrului a.
Exemplu: pentru valorile n=5, v=(1,21,9,21,403), a=21 ale parametrilor, n urma
apelului, subprogramului sub va returna valoarea 2.
a) Scriei definiia complet a subprogramului sub.

(4p.)

b) Scriei un program C/C++ care s citeasc de la tastatur un numr natural nenul n


(n100) i n numere ntregi, fiecare avnd cel mult 4 cifre, i care, folosind apeluri utile ale
subprogramului sub, s afieze pe ecran mesajul DA dac oricare dou dintre cele n
numere citite sunt distincte dou cte dou, sau mesajul NU n caz contrar.
Exemplu: pentru n=6 i cele n numere citite de la tastatur: 47 183 69 8 134 -56
se va afia pe ecran mesajul DA
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 002


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru
litere din mulimea A={a,b,c,d}, cuvinte care nu conin dou vocale alturate. Primele
cinci cuvinte generate sunt, n ordine: abab, abac, abad, abba, abbb. Care este ultimul
cuvnt generat?
(4p.)
a. ddcd
b. dcba
c. abcd
d. dddd

1.

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


2.
Pentru
definiia
alturat
a void f(int n)
subprogramului f, ce se afieaz ca { cout<<n%10; | printf(%d,n%10);
if(n!=0)
urmare a apelului f(125);? (6p.)
{ cout<<n%10; | printf(%d,n%10);
f(n/100);
}
}
3.

Fiierul text NR.TXT conine pe o singur linie, separate prin cte un singur spaiu, cel mult
100 de numere ntregi, fiecare numr avnd cel mult 4 cifre. Scriei un program C/C++ care
citete numerele din fiierul NR.TXT i afieaz pe ecran, separate prin cte un spaiu, n
ordine cresctoare, toate numerele naturale nenule din fiier. Dac nu exist astfel de
numere se va afia pe ecran mesajul NU EXISTA.
Exemplu: dac fiierul NR.TXT conine numerele: -3 -10 0 7 -5 7 51 -800 6 3798,
atunci pe ecran se va afia: 6 7 7 51 3798
(10p.)

4.

Un numr n se numete extraprim dac att el, ct i orice numr obinut prin permutarea
cifrelor lui n, sunt numere prime. De exemplu, numrul 113 este un numr extraprim
deoarece 113, 311, 131 sunt numere prime.
a) Scriei definiia complet a unui subprogram f, cu un parametru, subprogram care:
- primete prin intermediul parametrului a un numr natural cu cel mult 2 cifre (a>1)
- returneaz suma exponenilor divizorilor primi din descompunerea n factori primi a valorii
parametrului a.
Exemplu: pentru a=90 subprogramul va returna valoarea 4, deoarece a=2*32*5 i
1+2+1=4.
(4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n, 2n99, i
care determin i afieaz pe ecran, folosind apeluri utile ale subprogramului f, mesajul DA
dac n este un numr extraprim, iar altfel afieaz mesajul NU.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 003


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru
litere din mulimea A={a,b,c,d}, cuvinte care nu conin dou vocale alturate. Primele
patru cuvinte generate sunt, n ordine: abab, abac, abad, abba. Care este antepenultimul
cuvnt generat?
(4p.)
a. dddb
b. ddcd
c. ddba
d. dcdd

1.

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


2.
Pentru
definiia
alturat
a void f (int x)
subprogramului f, ce se afieaz ca { if(x>0)
{ cout<<'x'; | printf("%c",'x');
urmare a apelului f(26);?
(6p.)
f(x/3);
cout<<'y'; | printf("%c",'y');
}
}
3.

Fiierului text NR.TXT conine pe o singur linie, separate prin cte un singur spaiu, cel
mult 100 de numere naturale, fiecare numr avnd cel mult 4 cifre. S se scrie un program
C/C++ care citete toate numerele din fiier i scrie pe ecran, pe o singur linie, separate
prin cte un spaiu, n ordine cresctoare, toate numerele din fiier care au cel puin 3 cifre.
Dac fiierul nu conine astfel de numere se va afia pe ecran mesajul NU EXISTA. (10p.)

4.

Subprogramul cif, cu doi parametri, primete prin intermediul parametrului a un numr


natural cu cel mult 8 cifre i prin intermediul parametrului b o cifr; subprogramul returneaz
numrul de apariii ale cifrei b n scrierea numrului a.
Exemplu: pentru a=125854 i b=5, subprogramul va returna valoarea 2.
a) Scriei definiia complet a subprogramului cif.

(4p.)

b) Scriei un program C/C++ care citete de la tastatur un numr natural n cu cel mult 8
cifre, dintre care cel puin una impar, i care determin i afieaz pe ecran, folosind
apeluri utile ale subprogramului cif, cel mai mare numr natural care poate fi obinut
utiliznd toate cifrele impare ale numrului n.
Exemplu: dac n=2152331 atunci se va afia pe ecran numrul 53311.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 004


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru


litere din mulimea A={a,b,c,d}, cuvinte care nu conin dou vocale alturate. Primele
trei cuvinte generate sunt, n ordine: abab, abac, abad. Care este penultimul cuvnt
generat?
(4p.)
a. dcdb
b. dcba
c. dddc
d. ddcd

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


2.
Pentru subprogramul f definit void f (int n, int x)
alturat, ce se afieaz ca urmare { if(x>n)
cout<<*; | printf(%c,*);
a apelului f(15,2);?
(6p.)
else
{ f(n,x+4);
cout<<x%10; | printf(%d,x%10);
}
}
3.

Fiierul text NR.TXT conine pe o singur linie, separate prin cte un singur spaiu, cel mult
100 de numere naturale, fiecare numr avnd cel mult 4 cifre. Scriei un program C/C++
care citete numerele din fiierul NR.TXT i afieaz pe ecran, separate prin cte un spaiu,
n ordine descresctoare, toate numerele din fiier care au cel mult 2 cifre. Dac fiierul nu
conine astfel de numere se va afia pe ecran mesajul NU EXISTA.
(10p.)

4.

Subprogramul cif, cu doi parametri, primete prin intermediul parametrului a un numr


natural cu cel mult 8 cifre i prin intermediul parametrului b o cifr; subprogramul returneaz
numrul de apariii ale cifrei b n scrierea numrului a.
Exemplu: pentru a=125854 i b=5, subprogramul va returna valoarea 2.
a) Scriei definiia complet a subprogramului cif.

(4p.)

b) Scriei un program C/C++ care citete de la tastatur un numr natural n cu cel mult 8
cifre, dintre care cel puin una impar, i care determin i afieaz pe ecran, folosind
apeluri utile ale subprogramului cif, cel mai mic numr natural care poate fi obinut
utiliznd toate cifrele impare ale numrului n.
Exemplu: dac n=2152331 atunci se va afia pe ecran numrul 11335.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 005


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Folosind modelul combinrilor se genereaz numerele naturale cu cte trei cifre distincte din
mulimea {1,2,3,4}, numere cu cifrele n ordine strict cresctoare, obinndu-se, n ordine:
123, 124, 134, 234. Dac se utilizeaz exact aceeai tehnic pentru a genera numerele
naturale cu cte patru cifre distincte din mulimea {1,2,3,4,5}, cte dintre numerele
generate au prima cifr 1 i ultima cifr 5?
(4p.)
b. 2
c. 6
d. 3
a. 4

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


2.

3.

Pentru definiia de mai jos a subprogramului


f(10);?
//C
void f (int b)
{ if(3<=b)
{f(b-2); printf(%c,*);}
else printf(%d,b);
}

Scriei un program C/C++ care citete de la tastatur un numr natural n cu cel mult 8 cifre
(n10) i care creeaz fiierul text NR.TXT ce conine numrul n i toate prefixele nenule
ale acestuia, pe o singur linie, separate prin cte un spaiu, n ordine descresctoare a
valorii lor.
Exemplu: pentru n=10305 fiierul NR.TXT va conine numerele:
10305 1030 103 10 1

4.

f, ce se afieaz ca urmare a apelului


(6p.)
//C++
void f (int b)
{ if(3<=b)
{ f(b-2); cout<<*;}
else cout<<b;
}

(10p.)

Subprogramul f, cu un parametru:
- primete prin intermediul parametrului a un numr natural cu cel mult 8 cifre (a>1)
- returneaz cel mai mic divizor prim al valorii parametrului a.
Exemplu: pentru valoarea 45 a parametrului a, subprogramul va returna valoarea 3
deoarece a=32*5, iar cel mai mic divizor prim al su este 3.
a) Scriei definiia complet a subprogramului f.

(4p.)

b) Scriei un program C/C++ care s citeasc de la tastatur un numr natural nenul n


(n100) i un ir de n numere naturale de cel mult 8 cifre fiecare, toate numerele din ir
fiind strict mai mari dect 1. Folosind apeluri utile ale subprogramului f, programul va
determina i va afia pe ecran toate numerele prime din irul citit. Numerele determinate se
vor afia pe o singur linie a ecranului, separate prin cte un spaiu. Dac nu exist astfel
de numere se va afia pe ecran mesajul NU EXISTA.
Exemplu: pentru n=8, irul: 1125, 2, 314, 101, 37, 225, 15, 12 se va afia:
2 101 37

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(6p.)

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 006


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Se consider subprogramul cu definiia


alturat. Ce valoare se va afia n urma
executrii instruciuni de mai jos?
cout<<f(12); |
printf(%d,f(12));
(4p.)

a. 11002

b. 20011

int f (int n){


int c;
if (n!=0)
{if (n%2==1)
c=1+f(n/2);
else c=f(n/2);
cout<<n%2; | printf(%d,n%2);
return c;
}
else return 0;
}
c. 10102
d. 00112

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


2.

Utiliznd metoda backtracking sunt generate numerele de 3 cifre, avnd toate cifrele
distincte i cu proprietatea c cifrele aflate pe poziii consecutive sunt de paritate diferit.
tiind c primele ase soluii generate, sunt n aceast ordine, 103, 105, 107, 109, 123,
125 care este a noua soluie generat?
(6p.)

3.

Se consider definite urmtoarele subprograme:


- s1, cu doi parametri: a, b dou numere ntregi cu cel mult 4 cifre fiecare; subprogramul
interschimb valorile a dou variabile transmise prin intermediul parametrilor a i b.
- s2, cu trei parametri: a, un tablou unidimensional cu exact 100 de elemente, numere
ntregi cu cel mult 4 cifre fiecare, p, un numr natural (p100), q, un numr natural
(q100). Subprogramul caut primul element divizibil cu 5 n secvena ap,ap+1, ..., aq,
i returneaz poziia acestuia, dac exist un astfel de element, sau valoarea -1 n caz
contrar.
a) Scriei numai antetul subprogramului s1.
(4p.)
b) Scriei definiia complet a subprogramului s2.

(6p.)

c) Scriei programul C/C++ care citete de la tastatur o valoare natural n (0<n<100) i


apoi un tablou unidimensional a, cu n elemente, numere ntregi cu cel mult 4 cifre fiecare.
Programul determin, folosind apeluri utile ale subprogramului s2, primul element divizibil
cu 5 (dac exist) i ultimul element divizibil cu 5 (dac exist) al tabloului a, interschimb
valorile elementelor gsite, folosind apelul subprogramului s1, i apoi scrie pe prima linie a
fiierului text BAC.TXT elementele tabloului a, astfel transformat, separate prin cte un
spaiu, sau valoarea 0 dac tabloul nu conine 2 elemente divizibile cu 5.
Exemplu: pentru n=7 i tabloul a=(6,10,4,15,2,5,8), programul va scrie n fiier:
6 5 4 15 2 10 8

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 007


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
void f(long int n){
Se consider subprogramul
if (n!=0){
cu definiia alturat. Ce se
if (n%2==0)
va afia n urma apelului
cout<<n%10; | printf(%d,n%10);
f(12345);?
(4p.)
f(n/10);
if (n%2!=0)
cout<<n%10;| printf(%d,n%10);
}
else cout<<endl; | printf(\n);
}
a. 315
b. 24
c. 513
d. 42
24
135
42
135
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2.

Folosind tehnica bactracking un elev a scris un program care genereaz toate numerele de
cte n cifre (0<n9), cifrele fiind n ordine strict cresctoare. Dac n este egal cu 5, cte
numere vor fi generate de program?
(6p.)

3.

Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n100)i cele
3*n elemente ale tabloului unidimensional v, numere naturale cu cel mult patru cifre fiecare.
Tabloul este mprit n trei zone, cu cte n elemente fiecare: prima zon conine primele n
elemente din tablou, a doua zon conine urmtoarele n elemente din tablou, restul
elementelor fiind n zona a treia. Programul va interschimba elementele zonei unu cu
elementele zonei trei i va afia pe ecran toate elementele tabloului, astfel transformat,
separate prin cte un spaiu.
De exemplu, pentru n=3 i v=(1 2 3 4 5 6 7 8 9), se va afia pe ecran :
7 8 9 4 5 6 1 2 3
(10p.)

4.

Se consider irul definit de urmtoarea


relaie de recuren:
a) Scriei numai antetul unui subprogram p, care primete prin intermediul parametrului n
un numr natural de maximum 8 cifre, i care returneaz cel mai mare termen al irului de
mai sus mai mic sau cel mult egal cu n.
Exemplu: dac n=83 atunci subprogramul va returna valoarea 80.

(4p.)

b) Scriei un program C/C++ care citete de la tastatur un numr natural s (s10000000)


i realizeaz scrierea lui s ca sum de termeni distinci ai irului dat, folosind apeluri utile ale
subprogramului p. Numerele se vor scrie n fiierul Numere.txt, pe prima linie a acestuia,
separate prin cte un spaiu.
Exemplu: dac valoarea citit de la tastatur este 63, atunci fiierul Numere.txt va avea
urmtorul coninut: 40 20 3.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 008


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Se consider subprogramul f cu void f(long int n){


if (n!=0){
definiia alturat. Ce se va afia n
if (n%2!=0)
urma apelului f(12345);?
(4p.)
cout<<n%10; | printf(%d,n%10);
f(n/10);
if (n%2==0)
cout<<n%10;| printf(%d,n%10);
}
else cout<<endl; | printf(\n);
}

a. 135
24

b. 135

c. 531

42

24

d. 531
42

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


2.

Utiliznd metoda backtracking sunt generate numerele de 3 cifre, avnd toate cifrele
distincte i cu proprietatea c cifrele aflate pe poziii consecutive sunt de paritate diferit.
tiind c primele trei soluii generate sunt, n aceast ordine, 103, 105, 107, cte dintre
numerele generate au suma cifrelor egal cu 6?
(6p.)

3.

Scriei un program C/C++ care citete de la tastatur un numr natural n (n50) i care
afieaz pe prima linie a fiierului BAC.TXT primele n numere pare, pe a doua linie primele
n-1 numere pare, ..., pe linia n primul numr par. Numerele vor fi afiate pe fiecare linie n
ordine cresctoare i vor fi separate prin cte un spaiu.
(10p.)
Exemplu: dac n=3 fiierul BAC.TXT va 0 2 4
0 2
avea coninutul alturat:
0

4.

Se consider definite urmtoarele subprograme:


- p1 care primete prin intermediul parametrului n un numr natural cu cel mult 8 cifre i
returneaz suma cifrelor numrului primit prin parametrul n
Exemplu: dac n este egal cu 1234 valoarea returnat de subprogram va fi 10.
-p2 care primete prin intermediul parametrului n un numr natural cu cel mult 8 cifre,
elimin ultima cifr a acestui numr i returneaz noul numr obinut.
Exemplu: dac n este egal cu 1234 valoarea returnat de subprogram va fi 123.
a) Scriei numai antetul subprogramelor p1 i p2.

(4p.)

b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n cu cel
mult 8 cifre i determin, prin apeluri utile ale subprogramelor p1 i p2, fr a accesa
cifrele numrului n, numrul de cifre egale cu 0 din scrierea lui n. Programul va afia pe
ecran numrul obinut.
Exemplu: dac n este 102030, programul va afia valoarea 3.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 009


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
Se consider subprogramul cu definiia int f (int n){
int c;
alturat. Ce valoare se va afia n urma
if (n!=0)
executrii instruciunii de mai jos?
{if (n%2==0)
cout<<f(8); |
c=1+f(n/2);
printf(%d,f(8));
(4p.)
else c=f(n/2);
cout<<n%2; | printf(%d,n%2);
return c;
}
else return 0;
}
a. 10003
b. 30001
c. 10013
d. 00112
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2.

Utiliznd metoda backtracking sunt generate toate numerele de 3 cifre, avnd cifrele n
ordine cresctoare, iar cifrele aflate pe poziii consecutive sunt de paritate diferit. tiind c
primele cinci soluii generate sunt, n aceast ordine, 123, 125, 127, 129, 145, care este
cel de al 8-lea numr generat?
(6p.)

3.

Se consider definite dou subprograme:


- Subprogramul s1, cu 3 parametri, care primete prin intermediul parametrului a un tablou
unidimensional cu exact 100 de elemente, numerotate de la 0 la 99, numere ntregi de cel
mult 4 cifre fiecare, iar prin intermediul parametrilor p i q (0p<q<100) poziiile a dou
elemente ale tabloului. Subprogramul furnizeaz prin intermediul parametrului p poziia
primului element par (dac exist), i prin intermediul parametrului q poziia ultimului
element impar (dac exist), din secvena ap,ap+1, ..., aq. Dac aceast secven nu
conine niciun element par subprogramul va furniza prin intermediul lui p valoarea -1, iar
dac nu conine niciun element impar, va furniza prin intermediul lui q valoarea -1.
- Subprogramul s2, cu doi parametri, a i b, dou numere ntregi cu cel mult 4 cifre fiecare;
subprogramul interschimb valorile a dou variabile transmise prin intermediul parametrilor
a i b.
a) Scriei numai antetul subprogramului s2.

(4p.)

b) Scriei definiia complet a subprogramului s1.

(6p.)

c) Scriei un program C/C++ care:


- citete de la tastatur un numr natural nenul n (0n<100), apoi cele n elemente ale unui
tablou a. Fiecare dintre aceste elemente este un numr ntreg cu cel mult 4 cifre i cel puin
un element al tabloului este par;
- determin plasarea la sfritul tabloului a a tuturor elementelor pare, folosind apeluri utile
ale subprogramelor s1 i s2;
- scrie elementele tabloului rezultat n urma acestei transformri pe o singur linie a fiierului
text BAC.TXT, separate prin cte un spaiu.
Exemplu: pentru n=5 i a=(2,4,3,5,7) fiierul va avea coninutul:
7 5 3 4 2.
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 010


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
int f(int n,int y)
Se consider subprogramul cu definiia
{ if(n!=0)
alturat. Ce valoare are f(3,1)? (4p.)
{ y=y+1;
return y+f(n-1,y);
}
else return 0;
}
8
9
a.
b.
c. 7
d. 6
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2.

Folosind tehnica bactracking un elev a scris un program care genereaz toate numerele de
cte n cifre(0<n9), cifrele fiind n ordine strict cresctoare. Dac n este egal cu 5, cte
numere care au prima cifr 4 vor fi generate de program?
(6p.)

3.

Scriei un program C/C++ care citete de la tastatur un numr natural n (n100) i apoi
cele n elemente, numere naturale cu cel mult 4 cifre fiecare, ale unui tablou unidimensional
a. Programul determin i afieaz pe prima linie a ecranului suma celor n elemente ale
tabloului, pe a doua linie a ecranului suma primelor n-1 elemente i aa mai departe astfel
nct pe linia n-1 se va afia suma primelor 2 elemente, iar pe linia n primul element al
tabloului.
10
Exemplu: dac n=4, iar tabloul are elementele
6
a=(1,2,3,4) programul va afia valorile
3
alturate:
(10p.)
1

4.

a) Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n1000000)


i apoi n numere naturale nenule (cu cel mult 7 cifre fiecare) ordonate cresctor i, utiliznd
un algoritm eficient din punct de vedere al memoriei utilizate i al timpului de executare,
determin pentru fiecare numr citit cea mai mic valoare mai mare sau egal cu acesta ce
reprezint o putere a lui 2. Un numr natural x este putere a lui 2 dac exist un numr
natural k astfel nct x=2k.
Numerele astfel determinate vor fi scrise n fiierul BAC.TXT, separate prin cte un spaiu.
Exemplu: dac n=5 i cele 5 numere citite au valorile 3 5 8 9 12 fiierul BAC.TXT va
avea coninutul:
4 8 8 16 16
(6p.)
b) Descriei succint, n limbaj natural, algoritmul pe baza cruia a fost scris programul de la
punctul a), explicnd n ce const eficiena metodei folosite.
(4p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 011


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Un algoritm de tip backtracking genereaz, n ordine lexicografic, toate irurile de 5 cifre 0
i 1 cu proprietatea c nu exist mai mult de dou cifre 0 pe poziii consecutive. Primele 7
soluii generate sunt: 00100, 00101, 00110, 00111, 01001, 01010, 01011. Care este a
8-a soluie generat de acest algoritm?
(4p.)
a. 01110
b. 01100
c. 01011
d. 01101

1.

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


2.

Ce valoare are f(23169), pentru funcia f int f(int n){


definit alturat?
(6p.) if (n==0) return 0;

else
if (n%2==0)
return n%10+f(n/10);
else return f(n/10);

3.

a) Scriei definiia complet a unui subprogram P cu 3 parametri, care primete prin


intermediul primului parametru, a, un tablou unidimensional de cel mult 100 de numere
ntregi, prin intermediul celui de al doilea parametru, k, un numr natural (k<101) i
furnizeaz prin intermediul celui de al treilea parametru al su, max, cea mai mare dintre
valorile a1, a2,..., ak din tablou.
Exemplu: pentru k=5 i tabloul a=(7,3,8,4,6,9), n urma apelului P(a,k,max)
valoarea variabilei max este 8.
(4p.)
b) S se scrie un program C/C++ care citete de la tastatur un numr natural n (n<101),
apoi n numere ntregi, avnd maximum 4 cifre fiecare i construiete n memorie i afieaz
apoi pe ecran un tablou unidimensional de n numere ntregi, cu proprietatea c valoarea
termenului de pe poziia i (i=1,2,,n) din acest tablou este egal cu cea mai mare dintre
primele i valori din irul dat. Se vor folosi apeluri utile ale subprogramului P.
Exemplu: dac se citesc de la tastatur n=12 i valorile 4 6 3 7 8 1 6 2 7 9 10 8
se va afia pe ecran tabloul 4 6 6 7 8 8 8 8 8 9 10 10.
(6p.)

4.

Scriei un program C/C++ care citete de la tastatur un numr natural nenul n i apoi n
numere naturale, cu maximum 9 cifre fiecare. Programul calculeaz i afieaz pe ecran, cte
numere prime conine irul citit.
Exemplu: pentru n=5 i valorile 12 3 9 7 1 se va afia pe ecran valoarea 2 (n irul dat
exist dou numere prime i anume 3 i 7).
(10p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 012


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Se consider subprogramul P, definit alturat. void P(int &x)
tiind c valoarea variabilei ntregi a este nainte { x=x+5; }
de apel 4, care este valoarea ei dup revenirea din
apelul P(a)?
(4p.)
10
4
c. 9
a.
b.
d. 5

1.

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


2.

Pentru a scrie valoarea 10 ca sum de numere prime se folosete metoda backtracking i


se genereaz, n aceast ordine, sumele distincte: 2+2+2+2+2, 2+2+3+3, 2+3+5, 3+7,
5+5. Folosind exact aceeai metod, se scrie valoarea 9 ca sum de numere prime. Care
sunt primele trei soluii, n ordinea generrii lor?
(6p.)

3.

Se citesc de la tastatur dou valori naturale m i n (m<=100, n<=100), iar apoi m+n numere
ntregi de cel mult 9 cifre fiecare. Dintre cele m+n numere citite, primele m sunt ordonate
strict cresctor, iar urmtoarele n sunt, de asemenea, ordonate strict cresctor. Se cere s
se afieze pe ecran cte din cele m+n numere au fost citite o singur dat.
Exemplu: pentru m=6 i n=9 i valorile 1, 2, 3, 4, 7, 20, 3, 5, 7, 8, 9, 10, 12, 20, 24, se va
afia valoarea 9 (numerele care au fost citite o singur dat sunt 1 2 4 5 8 9 10 12 24).
a) Descriei un algoritm de rezolvare a acestei probleme, eficient din punct de vedere al
timpului de executare i al spaiului de memorie utilizat, explicnd n ce const eficiena
acestuia.
(4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris.
(6p.)

4.

Se consider subprogramul nr cu doi parametri, care primete prin parametrul n un numr


natural cu maximum 8 cifre, i prin parametrul c o cifr zecimal. Subprogramul va returna
numrul de apariii ale cifrei c n scrierea numrului n.
Exemplu: dac n=15356, iar c=5, subprogramul va returna valoarea 2.
a) Scriei doar antetul subprogramului nr.

(3p.)

b) Scriei programul C/C++ care citete de la tastatur un numr natural n, cu cel mult 8 cifre,
i afieaz pe ecran numrul de cifre distincte ale numrului n. Se vor folosi apeluri utile ale
funciei nr.
(7p.)
Exemplu: pentru n=15356 se va afia valoarea 4 deoarece numrul conine 4 cifre distincte
i anume 1, 3, 5 i 6.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 013


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Fie subprogramul fct definit alturat. Se tie c a, b i c sunt void fct(....)
variabile ntregi. Iniial a=8, b=31 i c=9, iar dup apelul { x=x+1;
y=y-1;
fct(a,b,c), valorile celor trei variabile sunt a=9, b=31 i c=39.
z=x+y;
Care poate fi antetul complet al subprogramului fct?
(4p.)
}
a. void fct(int &x,int &y,int &z)
b. void fct(int x,int &y,int &z)
c. void fct(int x,int y,int z)
d. void fct(int &x,int y,int &z)

1.

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


2.

Trei biei, Alin, Bogdan i Ciprian, i trei fete, Delia, Elena i Felicia, trebuie s
formeze o echip de trei copii, care s participe la un concurs. Echipa trebuie s fie mixt
(adic s conin cel puin o fat i cel puin un biat). Ordinea copiilor n echip este
important deoarece aceasta va fi ordinea de intrare a copiilor n concurs (de exemplu
echipa Alin, Bogdan, Delia este diferit de echipa Bogdan, Alin, Delia). Cte echipe
se pot forma, astfel nct din ele s fac parte simultan Alin i Bogdan?
(6p.)

3.

Scriei un program C/C++, care citete de la tastatur un numr natural n (n1000) i


afieaz pe ecran, separai prin cte un spaiu, primii n termeni ai irului:
1, 2,1, 3,2,1, 4,3,2,1, ...
construit astfel: prima grup este format din numrul 1, a doua grup este format din
numerele 2 i 1, etc. Grupa a k-a, este format din numerele k, k-1,..., 1.
Exemplu: pentru n=8 se vor afia valorile 1 2 1 3 2 1 4 3.

4.

(10p.)

Se consider subprogramul P care primete ca parametri un numr natural n cu maximum 9


cifre i o cifr c i care va elimina din numrul n toate apariiile cifrei c, furniznd tot prin
parametrul n numrul obinut.
a) Scriei definiia complet a subprogramului P.
(4p.)
b) Pe prima linie a fiierului text BAC.IN se gsesc, separate prin cte un spaiu, mai multe
numere naturale de cel mult 9 cifre fiecare. Scriei un program C/C++ care citete numerele
din acest fiier, elimin toate cifrele impare din fiecare dintre aceste numere i apoi scrie n
fiierul text BAC.OUT numerele astfel obinute, separate prin cte un spaiu. Se vor folosi
apeluri utile ale subprogramului P. Dac un numr din fiierul BAC.IN nu conine nicio cifr
par nenul, acesta nu va mai aprea deloc n fiierul de ieire.
(6p.)
Exemplu: dac fiierul BAC.IN conine numerele 25 7 38 130 45127 0 35 60 15,
atunci BAC.OUT va avea coninutul: 2 8 42 60.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 014


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Care dintre urmtoarele variante reprezint antetul corect al unui subprogram care primete
prin parametrii x i y dou numere ntregi i returneaz, prin parametrul m, cea mai mic
dintre cele dou valori x i y?
(4p.)
a. int minim(int x,int y,int m)
b. void minim(int x,int y,int &m)
c. int minim(int x,int y)
d. void minim(int x,int y,int m)

1.

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


2.

Ce valoare are f(4063) pentru funcia f, definit long f(long n)


alturat?
(6p.) { if (n==0) return 1;

else
if (n%10==0)
return f(n/10);
else
return (n%10) * f(n/10);

3.

Fiierul text BAC.TXT conine mai multe numere naturale cu cel mult 6 cifre fiecare, cte un
numr pe fiecare linie a fiierului. Scriei un program C/C++ care afieaz pe ecran toate
numerele din fiier, cte 5 numere pe fiecare linie, separate prin cte un spaiu, cu excepia
ultimei linii care poate conine mai puin de 5 numere.
(10p.)

4.

Se consider subprogramul prim care primete ca parametru un numr natural n


(n32000) i care returneaz 1 dac n este numr prim i respectiv 0 n caz contrar.
a) Scriei definiia complet a subprogramului prim.

(4p.)

b) Scriei programul C/C++ care, utiliznd apeluri utile ale subprogramului prim, afieaz
pe ecran toate numerele prime de dou cifre care, citite invers (de la dreapta la stnga),
sunt tot prime. Un astfel de numr este de exemplu 13 pentru c att 13 ct i 31 sunt
numere prime.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 015


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Cte numere de trei cifre pot fi construite folosind doar cifre pare?
a. 125
b. 100
c. 64

(4p.)
d. 128

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


2.

Care este valoarea lui long f(long x) {


if (x==4) return x;
f(34) pentru funcia f
else
definit alturat?
(6p.)
{ if (x%10==4 || x%10==0) return x+f(x/10);
else return x+f(x*2);
}
}

3.

S se scrie un program C/C++ care citete de la tastatur mai multe numere naturale de cel
mult 9 cifre fiecare. Citirea se termin la ntlnirea valorii 0. Programul determin i afieaz
pe ecran de cte ori apare cifra 5 n scrierea tuturor numerelor citite.
Exemplu: dac se citesc numerele 12 5 6535 1 86 573 0, se va afia valoarea 4.
(10p.)

4.

n fiierul text BAC.IN se gsesc, pe o singur linie, separate prin cte un spaiu, mai multe
numere naturale de cel mult 6 cifre fiecare. Se cere s se determine i s se afieze pe
ecran ultimul numr impar din fiierul BAC.IN. Dac n fiier nu exist niciun numr impar
se va scrie pe ecran mesajul Nu exist numere impare.
Exemplu: dac fiierul BAC.IN conine valorile: 12 6 25 68 13 8 24 31 42 se va
afia 31.
a) Descriei n limbaj natural un algoritm eficient, din punct de vedere al spaiului de
memorie i al timpului de executare, pentru rezolvarea acestei probleme, explicnd n ce
const eficiena acestuia.
(4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris.

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(6p.)

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 016


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Funcia F are definiia alturat. Ce valoare int F(int n)
{ if(n==0 || n==1) return 1;
are F(3)?
(4p.)
else
return 2*F(n-1)+2*F(n-2);
}
a. 1
b. 12
c. 6
d. 10

1.

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


2.

Un algoritm genereaz n ordine cresctoare toate numerele de n cifre, folosind doar cifrele
3, 5 i 7. Dac pentru n=5, primele 5 soluii generate sunt 33333, 33335, 33337,
33353, 33355, precizai care sunt ultimele 3 soluii generate, n ordinea generrii.
(6p.)

3.

Scriei programul C/C++ care citete de la tastatur elementele unui tablou unidimensional
cu exact 10 numere naturale, mai mici dect 1000, determin i afieaz pe ecran,
separate prin cte un spaiu, numrul de elemente din ir care sunt multipli ai numrului 13
i, n continuare, poziiile pe care acestea se gsesc n ir. Elementele tabloului sunt
numerotate de la 1 la 10.
Exemplu: dac irul citit este 2, 6, 26, 14, 130, 11, 8, 23, 39, 52, se vor afia numerele 4 3
5 9 10.
(10p.)

4.

Subprogramul cifrak are 2 parametri, n, prin care primete un numr natural cu maximum
9 cifre, i k, prin care primete un numr natural (k9). Subprogramul returneaz numrul
de cifre ale numrului n care sunt egale cu valoarea k.
Exemplu: dac n=233433, iar k=3, subprogramul va returna valoarea 4.
a) Scriei definiia complet a subprogramului cifrak.

(4p.)

b) n fiierul numere.txt sunt memorate mai multe numere naturale (maximum 1000 de
numere cu maximum 9 cifre fiecare). Fiecare linie a fiierului conine cte un numr. Scriei
programul C/C++ care, folosind apeluri ale subprogramului cifrak, afieaz pe ecran,
separate prin cte un spaiu, toate numerele din fiier care conin exact 3 cifre de 0.
Exemplu: dac fiierul numere.txt conine
260070
39008
70009
se vor afia numerele 260070 70009.
(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 017


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
Subprogramul f are definiia void f(long n)
alturat. Ce se va afia n {if (n>9)
{cout<<n/100; | printf(%d,n/100);
urma apelului f(12345);?
f(n/10);
(4p.)
}
}
a. 1231210
b. 123121
c. 1234123121
d. 123
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2.

Un algoritm genereaz n ordine descresctoare toate numerele de 5 cifre, fiecare dintre ele
avnd cifrele n ordine strict cresctoare. tiind c primele 5 soluii generate sunt 56789,
46789, 45789, 45689, 45679, precizai care sunt ultimele 3 soluii generate, n ordinea
generrii.
(6p.)

3.

Scriei definiia complet a subprogramului interval care are 2 parametri prin care
primete un tablou unidimensional cu maximum 100 de numere naturale mai mici dect
1000 i numrul de elemente din tabloul unidimensional. Subprogramul returneaz
numrul de elemente din tabloul unidimensional care aparin intervalului nchis determinat
de primul i respectiv ultimul element al tabloului. Exemplu: dac tabloul are 6 elemente i
este de forma (12,27,6,8,9,2), subprogramul va returna valoarea 5.
(10p.)

4.

Pe prima linie a fiierului numere.txt sunt memorate cel mult 90 de numere naturale, mai
mici dect 1000 fiecare, separate prin cte un spaiu. Se cere s se determine, apelnd
subprogramul interval definit la punctul anterior, numrul de elemente din fiier care sunt
mai mici sau egale cu ultimul numr din fiier. Numrul determinat se afieaz pe ecran.
Exemplu: dac fiierul numere.txt conine, n aceast ordine, numerele 6 267 13 45
628 7 79 101 se va afia 6.
a) Descriei succint, n limbaj natural, strategia de rezolvare.

(4p.)

b) Scriei programul C/C++ corespunztor algoritmului ales.

(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 018


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Funcia f are definiia alturat. void f(long n, int i)
Ce se va afia n urma apelului {if (i<n%10)
{cout<<n%10; |
printf(%d,n%10);
f(12345,0);?
f(n/10,i+1);
(4p.)
}
}
a. 54321
b. 543
c. 54
d. 5432

1.

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


2.

Un algoritm genereaz, n ordine lexicografic, toate irurile alctuite din cte n cifre binare
(0 i 1). tiind c pentru n=5, primele 4 soluii generate sunt 00000, 00001, 00010, 00011,
precizai care sunt ultimele 3 soluii generate, n ordinea obinerii lor.
(6p.)

3.

Subprogramul count are 2 parametri prin care primete un tablou unidimensional cu


maximum 100 de numere reale i numrul de elemente din tabloul unidimensional.
Subprogramul returneaz numrul de elemente din tabloul unidimensional care sunt mai
mari sau cel puin egale cu media aritmetic dintre primul i ultimul element al tabloului.
Exemplu: dac tabloul are 6 elemente i este de forma (12, 7.5, 6.5, 8.5, 7.5, 3),
subprogramul va returna valoarea 4.
Scriei definiia complet a subprogramului count.
(10p.)

4.

n fiierul numere.txt sunt memorate cel mult 90 de numere reale, separate prin cte un
spaiu. Se cere s se determine, folosind subprogramul count definit la punctul anterior, i
s se afieze pe ecran, numrul de elemente din ir care sunt mai mari sau cel puin egale
cu jumtate din valoarea ultimului element al irului.
Exemplu: dac fiierul numere.txt conine, n aceast ordine, numerele 6 12.5 5
12.5 11.2 45 25 se va afia 4.
a) Descriei succinct, n limbaj natural, strategia de rezolvare.

(4p.)

b) Scriei programul C/C++ corespunztor algoritmului ales.

(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 019


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Funcia F are definiia alturat. Ce valoare int F(int x){
are F(18)?
(4p.)
if (x<=1) return x;
else return x+F(x-2);
}
a. 90
b. 171
c. 1
d. 18

1.

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


2.

Un algoritm genereaz n ordine cresctoare, toate numerele de n cifre (n<9), cu cifre


distincte, care nu au dou cifre pare alturate. Dac pentru n=5, primele 5 soluii generate
sunt 10325, 10327, 10329, 10345, 10347, precizai care sunt urmtoarele 3 soluii
generate, n ordinea obinerii lor.
(6p.)

3.

Subprogramul aranjare are 2 parametri prin care primete un tablou unidimensional cu


maximum 100 de numere reale i numrul de elemente din tabloul unidimensional.
Subprogramul rearanjeaz elementele tabloului unidimensional astfel nct toate valorile
negative s se afle pe primele poziii, iar valorile pozitive n continuarea celor negative.
Ordinea n cadrul secvenei de elemente pozitive, respectiv n cadrul secvenei de elemente
negative, poate fi oricare.
Exemplu: dac este transmis ca parametru un tablou unidimensional cu 6 elemente de forma
(12, -7.5, 6.5, -3, -8, 7.5), dup apel, acesta ar putea fi: (-7.5, -3, -8, 12,
6.5, 7.5).
Scriei definiia complet a subprogramului aranjare.
(10p.)

4.

n fiierul text nr1.txt sunt memorate pe prima linie dou valori, n i m, de cel mult 2 cifre
fiecare, separate prin spaiu, iar pe fiecare dintre urmtoarele n linii sunt memorate cte m
numere reale, separate prin cte un spaiu. Se cere scrierea n fiierul text nr2.txt a
numerelor de pe fiecare dintre cele n linii ale fiierului nr1.txt, numerele de pe fiecare linie
fiind aranjate astfel nct valorile pozitive s se afle la nceput i cele negative la sfrit.
Ordinea n cadrul secvenei de valori pozitive, respectiv n cadrul secvenei de valori
negative, poate fi oricare. Cele m numere de pe o linie a fiierului nr1.txt se vor afia pe
cte o linie a fiierului nr2.txt, separate prin cte un spaiu. Se vor folosi apeluri utile ale
subprogramului aranjare, definit la punctul anterior.
Exemplu: pentru fiierul: nr1.txt se poate obine fiierul nr2.txt
3 5
3 -6 -1 9 2
3 9 2 -6 -1
5 -3 -8 -4 7
5 7 -3 -8 -4
-7 6 9 3 -2
6 9 3 -7 -2
a) Descriei succint, n limbaj natural, strategia de rezolvare.

(4p.)

b) Scriei programul C/C++ corespunztor algoritmului ales.

(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

Ministerul Educaiei, Cercetrii i Tineretului


Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 020


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
Funcia F are definiia alturat. Ce valoare int F(int x)
{if(x!=0) return x+F(x-1);
are F(5)?
(4p.)
else
return x;}
a. 5
b. 10
c. 15
d. 6

1.

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


2.

Un algoritm genereaz n ordine descresctoare, toate numerele de n cifre (n<9), cu cifrele


n ordine strict cresctoare, care nu au dou cifre pare alturate. Dac pentru n=5, primele
5 soluii generate sunt 56789, 45789, 45679, 45678, 36789, precizai care sunt
urmtoarele 3 soluii generate, n ordinea obinerii lor.
(6p.)

3.

Subprogramul nule are 2 parametri: a, prin care primete un tablou unidimensional cu


maximum 100 de numere ntregi, cu cel mult 4 cifre fiecare i n, numrul de elemente din
tablou. Subprogramul rearanjeaz elementele tabloului unidimensional astfel nct toate
valorile nule s se afle la sfritul tabloului. Ordinea n cadrul secvenei de elemente nenule
poate fi oricare. Tabloul modificat este furnizat tot prin parametrul a.
Exemplu: dac n=6, a=(12,0,0,-3,-8,0), dup apel, acesta ar putea fi:
a=(12,-3,-8,0,0,0).
Scriei definiia complet a subprogramului nule.
(10p.)

4.

n fiierul nr1.txt sunt memorate pe prima linie dou valori, n i m, de cel mult 3 cifre
fiecare, separate prin spaiu, iar pe fiecare dintre urmtoarele n linii ale fiierului sunt
memorate cte m numere ntregi, cu cel mult 4 cifre fiecare, separate prin cte un spaiu. Se
cere scrierea n fiierul nr2.txt a numerelor de pe fiecare dintre cele n linii ale fiierului
nr1.txt, numerele de pe fiecare linie fiind aranjate astfel nct valorile nule s se afle la
nceputul irului i cele nenule la sfrit. . Ordinea n cadrul secvenei de elemente nenule
poate fi oricare. Cele m numere de pe o linie a fiierului nr1.txt se vor scrie pe cte o linie
a fiierului nr2.txt, separate prin cte un spaiu. Se vor folosi apeluri ale subprogramului
nule, definit la punctul anterior.
Exemplu: pentru fiierul: nr1.txt se poate obine fiierul nr2.txt
3 5
3 0 0 9 2
0 0 3 9 2
5 0 0 0 7
0 0 0 5 7
0 6 9 3 0
0 0 6 9 3
a) Descriei succint, n limbaj natural, strategia de rezolvare.

(4p.)

b) Scriei programul C/C++ corespunztor algoritmului ales.

(6p.)

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

Subiectul III

You might also like