Documente Academic
Documente Profesional
Documente Cultură
Variante Informatica09
Variante Informatica09
Varianta 1 - informatica
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.)
b. (x<=8) || (x>5)
c. (x>8) || (x<=5)
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)
(10p.)
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
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.)
Varianta 1 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
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.
(4p.)
Subiectul III
Varianta 2 - informatica
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.)
c. (x<=y) || (y<=x)
d. x*x==y*y
(4p.)
c)
d)
(10p.)
Cte grafuri neorientate, distincte, cu 4 vrfuri se pot construi? Dou grafuri se consider
distincte dac matricele lor de adiacen sunt diferite.
(4p.)
6
6
4
b. 2
c. 6
d. 4
a. 4
2.
BACALAUREAT
- INFORMATIC,
limbajul
C/C++Care dintre
a, b i 2009
c lungimile
laturilor unui
triunghi.
Specializarea
Matematic-informatic
urmtoarele
instruciuni atribuie cmpului p al variabilei
Se consider o stiv n care iniial au fost introduse, n aceast ordine, elementele cu valorile
1, 2 i 3. 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. Asupra acestei
stive se execut urmtoarea secven de operaii: AD(4);EL;AD(5);EL;AD(6);EL;EL.
a) Care este valoarea elementului din vrful stivei n urma executrii acestei secvene de
operaii?
(3p.)
b) Care este suma valorilor elementelor aflate n stiv n urma executrii acestei secvene de
operaii?
(3p.)
4.
5.
p = 1;
for(j = 0; j < n; j++)
.............
printf("%d",p);|cout<<p;
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 eliminarea fiecrei litere mici a cuvntului, restul literelor nemodificndu-se, ca n
exemplu. Programul afieaz pe ecran cuvntul obinut. n cazul n care cuvntul citit
conine numai litere mici, programul va afia mesajul CUVANT VID.
Exemple:
- dac se citete cuvntul: baCALaUreaT se va afia pe ecran: CALUT
- dac se citete cuvntul: vara se va afia pe ecran: CUVANT VID
(10p.)
Varianta 2 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
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
circular a cifrelor lui n, sunt numere prime. De exemplu, numrul 197 este un numr
extraprim deoarece 197, 971, 719 sunt numere prime. Numrul 23 nu este extraprim
deoarece 32 nu este prim.
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 tuturor exponenilor 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, folosind apeluri utile ale subprogramului f, verific dac n este un numr extraprim i
afieaz pe ecran, n caz afirmativ mesajul DA, iar altfel mesajul NU.
(6p.)
Subiectul III
Varianta 3 - informatica
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
c)
d)
(10p.)
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.
4.
5.
Varianta 3 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
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 toate numerele din fiier i afieaz pe ecran, 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.
(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.
(6p.)
Exemplu: dac n=2152331 atunci se va afia pe ecran numrul 53311.
Subiectul III
Varianta 4 - informatica
a. 2
b. 10
c. 2.75
11*3/2*2/3
(4p.)
d. 11
a)
b)
c)
d)
(10p.)
a.
2.
a.
b.
b.
c.
c.
d.
d.
vrf
2
1
baza
4.
5.
i=0;
while (i<strlen(s))
{
...............
}
printf("%s",s);| cout<<s;
Varianta 4 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
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.
(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.)
Subiectul III
Varianta 5 - informatica
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.)
c. (x<=2) || (x>9)
d. (x<2) || (x>9)
d)
(10p.)
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
b.
17
c.
10
d.
16
Subiectul I
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;
4.
5.
(10p.) 2 2 3 4 5
3 3 3 4 5
4 4 4 4 5
Varianta 5 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
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 metod 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
3.
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.
(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.)
(6p.)
Subiectul III
Varianta 6 - informatica
b. x+y-abs(x-y)/2
c. (x+y+abs(x-y))/2
d. (x+y+abs(x+y))/2
c)
Scriei n pseudocod un algoritm echivalent cu cel dat n scrie s
care s se nlocuiasc structura ct timp ... execut
cu o structur repetitiv cu test final.
(6p.)
d)
(10p.)
Specializarea Matematic-informatic
a.
b.
d.
b.x=b.y;
c.
x.b=y.b;
2.
a.
b.
c.
d.
10
4.
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.)
(6p.)
Varianta 6 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
a. 11002
b. 20011
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 scriei a aptea i a noua soluie generat.
(6p.)
3.
(10p.)
Subiectul III
Varianta 7 - informatica
b. x*(y-5)!=0
c. x*(y-5)>=0
d. !(x*(y-5)<=0)
d)
(10p.)
Specializarea Matematic-informatic
a.
b.
c.
d.
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
4.
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.)
Varianta 7 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
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, scriei
n ordine cresctoare toate numerele avnd cifra unitilor 6, care 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.
(4p.)
Subiectul III
Varianta 8 - informatica
Care dintre urmtoarele expresii C/C++ are ca valoare cel mai mare dintre numerele
naturale nenule, cu cel mult 4 cifre fiecare, 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
d)
(10p.)
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0 0
0 0
0 0
0 0
0 1
Subiectul
I
1 0
0 0
0 0
a.
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.
c.
c.
0
0
1
0
0
0
0
0
2.
b.
0
1
0
1
0
0
0
0
d.
d.
(6p.)
4.
5.
Varianta 8 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
a. 135
24
b. 135
42
c. 531
24
d. 531
42
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.)
0 2 4
Exemplu: dac n=3 fiierul BAC.TXT va avea coninutul alturat.
0 2
0
4.
(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, 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.)
Subiectul III
Varianta 9 - informatica
Care dintre expresiile C/C++ de mai jos este ((a>3) && (a<15)) || (a!=b)
echivalent cu expresia alturat?
(4p.)
b)
c)
d)
n[n/10]
scrie s
a.
cin>>x;
scanf(%d, &x);
c.
cin>>x.a>>x.b;
d.
cin>>a->x>>b->x;
2.
a.
b.
c.
d.
(4p.)
4.
Se consider
graful orientat G reprezentat prin listele de
adiacen alturate. Care este lungimea maxim a unui drum
elementar din acest graf? Care sunt arcele care compun un drum
cu aceste proprieti?
(6p.)
5.
Varianta 9 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
3.
(4p.)
(6p.)
Subiectul III
Varianta 10 - informatica
a. 3
b. 4
c. -3
d. -3.75
9/2*2-5
(10p.)
a.
Subiectul I
c.
cout<<x;
printf(%d, x);
d.
cout<<a->x<< <<b->x;
2.
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;
a.
aace
b.
ace
c.
ce
d.
acde
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? Care este reprezentarea prin liste de
adiacen pentru un astfel de graf?
(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.
Varianta 10 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Folosind metoda 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, scriei
toate numerele generate de program care au prima cifr 4.
(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 dou elemente, iar pe linia n primul element al
tabloului.
10
Exemplu: dac n=4, iar tabloul are elementele a=(1,2,3,4) programul
6
va afia valorile alturate.
(10p.)
3
1
4.
Subiectul III
Varianta 11 - informatica
1.
b)
Dac se citete pentru k valoarea 4, scriei scrie p
cea mai mare valoare de 5 cifre care poate fi
citit pentru n astfel nct numrul afiat n
urma executrii algoritmului s fie 1.
(4p.)
c)
d)
(10p.)
1
0
0
1
0
1
0
0
0
0
0
0
0 0
1 1
0 0
1 0
0Subiectul
1
I
0 0
2.
a.
struct e{
string nume; float media;}
b.
char e.nume[40];
float e.media;
c.
float e;
d.
c.
1
0
0
0
1
0
a.
b.
0
0
0
0
1
1
d.
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
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.)
Varianta 11 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
2.
3.
4.
Fiierul BAC.TXT conine pe prima linie un numr natural n (0<n1000) i pe a doua linie,
separate prin cte un spaiu, n numere naturale nenule (cu cel mult 9 cifre fiecare).
Scriei un program C/C++ care citete toate numerele din fiier i afieaz pe ecran cte
numere prime conine irul citit de pe a doua linie a fiierului.
Exemplu: dac fiierul are coninutul
5
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.)
Subiectul III
Varianta 12 - informatica
1.
algoritmul
alturat,
descris
c)
d)
(10p.)
1
1
0
0
0
Subiectul I
1 1 0 0 0 0
a.
2.
Pentru care dintre urmtorii arbori cu rdcin, fiecare avnd 9 noduri, numerotate de la 1
la 9, memorai cu ajutorul vectorilor de tai, nodul 3 are cei mai muli descendeni? (4p.)
a.
tata=(2,0,2,3,2,3,4,4,3)
b.
tata=(3,3,4,0,2,3,4,4,4)
c.
tata=(4,2,4,0,3,3,3,3,3)
d.
tata=(0,1,1,3,4,3,4,4,3)
b.
care corespunde
c.
1, 3
d.
1, 3, 5
O variabil e este folosit pentru a memora simultan numele i prenumele unui elev precum
i cele trei 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 20 de caractere, prenumele
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.
4.
5.
(6p.)
1
2
3
4
2
4
6
8
3
6
9
2
4
8
2
6
Varianta 12 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
3.
Fiierul BAC.TXT conine pe prima linie dou valori naturale, m i n (m100, n100), pe a
doua linie un ir de m numere ntregi, iar pe a treia linie un ir de n numere ntregi. Fiecare
dintre aceste iruri sunt ordonate strict cresctor, iar elementele lor au cel mult 9 cifre
fiecare. Numerele de pe acelai rnd sunt separate prin cte un spaiu.
Se cere s se afieze pe ecran cte dintre elementele celui de al doilea ir nu se regsesc
i n primul ir.
Exemplu: dac fiierul are coninutul
67
1 2 3 4 7 20
3 5 7 8 9 20 24
se va afia valoarea 4 (numerele care respect condiia sunt 5 8 9 24).
a) Descriei un algoritm de rezolvare a acestei probleme, eficient din punct de vedere al
timpului de executare, explicnd n ce const eficiena acestuia.
(4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris.
(6p.)
4.
(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.
Exemplu: pentru n=15356 se va afia valoarea 4 deoarece numrul conine 4 cifre distincte
i anume 1, 3, 5 i 6.
(7p.)
Subiectul III
Varianta 13 - informatica
1.
algoritmul
alturat,
descris
b)
c)
d)
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
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.
a.
32
b.
256
c.
15
d.
24
(4p.)
4.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (2<n<40) 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
Varianta 13 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
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? Dai exemplu de o
echip corect format din care s nu fac parte nici Alin i nici Bogdan.
(6p.)
3.
4.
(6p.)
(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.
(10p.)
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.
Subiectul III
Varianta 14 - informatica
a. a=1003 i b=3
c. a=1100 i b=10
b. a=35 i b=35
d. a=1234 i b=12
algoritmul
alturat,
descris
b)
c)
d)
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
2.
d.
Subiectul I
a.
b.
c.
(6p.)
d.
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.)
Varianta 14 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
2.
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, n aceeai 11
ordine, cte cinci numere pe fiecare linie, separate prin cte un spaiu, cu excepia 21
ultimei linii care poate conine mai puin de cinci numere.
30
Exemplu: dac fiierul are coninutul alturat, pe ecran se afieaz:
40
51
11 21 30 40 51
16
16 17 10 1
(6p.) 17
10
1
4.
Subiectul III
Varianta 15 - informatica
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)
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)
a.
b.
c.
d.
BACALAUREAT
- INFORMATIC,
limbajul
C/C++
Stiva este2009
o structur
de date care
poate
fi descris astfel:
2.
Specializarea Matematic-informatic
Subiectul
I
(4p.)
a.
b.
c.
4.
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
Varianta 15 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Cte numere de trei cifre pot fi construite folosind doar cifre pare, astfel nct suma
cifrelor pentru fiecare dintre acestea s fie cel puin 20?
(4p.)
b. 4
c. 2
d. 6
a. 10
3.
long f(long x) {
if (x==4) return x;
else
{ if (x%10==4 || x%10==0) return x+f(x/10);
else return x+f(x*2);
}
}
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.
(6p.)
Subiectul III
Varianta 16 - informatica
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;
b)
(6p.)
c)
Scriei
programul
algoritmului dat.
d)
C/C++
corespunztor
(10p.)
Numrul de muchii ale unui graf neorientat cu 12 noduri, n care fiecare nod este adiacent
cu exact 11 noduri, este :
(4p.)
a.
144
b.
66
c.
78
d.
11
b.
c.
float x.media;
int x.varsta;
d.
(4p.)
4.
5.
Varianta 16 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
Un algoritm genereaz n ordine cresctoare toate numerele de n cifre, folosind doar cifrele
3, 5 i 7. Dac pentru n=5, primele cinci soluii generate sunt 33333, 33335, 33337,
33353, 33355, precizai care sunt ultimele trei 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 trei cifre de 0.
Exemplu: dac fiierul numere.txt conine
260070
39008
70009
se vor afia, nu neaprat n aceast ordine, numerele 260070 70009.
(6p.)
Subiectul III
Varianta 17 - informatica
a. 300
b. 5000
c. 120
d. 0
b)
c)
d)
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
n i 1
b.
BACALAUREAT
c.
d.
n i 0 2009 - INFORMATIC, limbajul C/C++
Specializarea Matematic-informatic
n-1 i 0
Subiectul I
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.
b.
c.
int x.cod ;
float x.media;
d.
ntr-o stiv au fost introduse, n aceast ordine, numerele 5, 7, 3, 8. 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]);
Varianta 17 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Un algoritm genereaz n ordine descresctoare toate numerele de 5 cifre, fiecare dintre ele
avnd cifrele n ordine strict cresctoare. tiind c primele cinci soluii generate sunt 56789,
46789, 45789, 45689, 45679, precizai care sunt ultimele trei soluii generate, n ordinea
generrii.
(6p.)
3.
(10p.)
Pe prima linie a fiierului numere.txt sunt memorate cel mult 90 de numere ntregi cu cel
mult dou cifre fiecare, separate prin cte un spaiu. Scriei programul C/C++ care s
determine i s afieze pe ecran, media aritmetic a numerelor strict pozitive din fiier. Dac
fiierul nu conine numere strict pozitive se afieaz pe ecran mesajul NU EXISTA.
Exemplu: dac fiierul numere.txt conine numerele 6 -26 0 9
valoarea 7.5.
-7 se va afia
(6p.)
Subiectul III
Varianta 18 - informatica
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;
caracterul *.
(4p.)
c)
d)
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.)
d.
Subiectul I
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.
b.
char x[2];
c.
d.
float x;
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.
Varianta 18 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
Un algoritm genereaz, n ordine lexicografic, toate irurile alctuite din cte n cifre binare
(0 i 1). tiind c pentru n=5, primele patru soluii generate sunt 00000, 00001, 00010,
00011, precizai care sunt ultimele trei soluii generate, n ordinea obinerii lor.
(6p.)
3.
Subprogramul count are doi parametri, v i n, prin care primete un tablou unidimensional
cu maximum 100 de numere reale i, respectiv, numrul de elemente din tablou.
Subprogramul returneaz numrul de elemente din tablou care sunt mai mari sau cel puin
egale cu media aritmetic a valorilor memorate n primul, respectiv 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 (media valorilor memorate n primul, respectiv ultimul
element al tabloului este 7.5 i sunt 4 elemente n tablou mai mari sau cel puin egale cu
7.5).
a) Scriei definiia complet a subprogramului count.
(10p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n (2n100) i
apoi un ir de n numere reale i care, folosind apeluri utile ale subprogramului count,
verific dac pe prima i pe ultima poziie din ir se afl cele mai mici dou valori (nu
neaprat distincte) ale acestuia. Programul va afia pe ecran mesajul DA n caz afirmativ i
NU n caz contrar.
(4p.)
4.
n fiierul numere.txt sunt memorate cel puin 4 i cel mult 90 de numere ntregi cu cel
mult patru cifre fiecare, separate prin cte un spaiu. Scriei un program C/C++ care
afieaz pe ecran patru numere aflate pe poziii consecutive n fiier, care sunt n ordine
strict cresctoare. Dac exist mai multe astfel de secvene programul afieaz una dintre
acestea, iar dac n fiier nu exist astfel de secvene se afieaz mesajul NU EXISTA.
Exemplu: dac fiierul numere.txt conine, n aceast ordine, numerele 60 12 15 25
110 45 25 se vor afia numerele 12 15 25 110.
(6p.)
Subiectul III
Varianta 19 - informatica
a. 4
b. 6
c. 2
d. 8
b)
c)
Scriei
programul
algoritmului dat.
d)
C/C++
corespunztor
(10p.)
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
b.
c.
d.
21
BACALAUREAT
2009
- INFORMATIC,
limbajul
C/C++ o declarare corect pentru o variabil
Subiectul
I
2.
Care dintre
urmtoarele
variante
reprezint
x care
Specializarea
Matematic-informatic
memoreaz
simultan partea real i partea imaginar a unui numr complex?
(4p.)
a.
b.
char x[2];
c.
d.
float x;
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.
Varianta 19 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
3.
(10p.)
n fiierul numere.txt sunt memorate mai multe numere reale separate prin cte un
spaiu. Scriei un program C/C++ care verific dac printre numerele din fiier exist cel
puin 10 numere naturale. Programul afieaz pe ecran mesajul DA n caz afirmativ i NU n
caz contrar.
Exemplu: dac fiierul numere.txt conine numerele 60 -12.67 15 -1 -22.3 4 se
afieaz mesajul NU.
(6p.)
Subiectul III
Varianta 20 - informatica
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
Suma gradelor interne ale tuturor vrfurilor unui graf orientat este ntotdeauna egal cu:
(4p.)
a.
numrul
valorilor
de
aflate
sub b.
diagonala
principal
n matricea
saC/C++
de
BACALAUREAT
2009
- INFORMATIC,
limbajul
adiacen
Specializarea
Matematic-informatic
c.
2.
Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan numrtorul i numitorul unei fracii ireductibile:
(4p.)
a.
b.
char x[2];
c.
d.
float x;
suma gradelor
vrfurilor grafului
externe
ale
tuturor
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.
5.
Varianta 20 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
3.
Subprogramul nule are doi 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).
a) Scriei definiia complet a subprogramului nule.
(10p.)
n fiierul numere.txt sunt memorate cel puin 4 i cel mult 90 de numere ntregi cu cel
mult patru cifre fiecare, separate prin cte un spaiu. Scriei un program C/C++ care
afieaz pe ecran patru numere aflate pe poziii consecutive n fiier, care sunt n ordine
strict descresctoare. Dac exist mai multe astfel de secvene programul afieaz una
dintre acestea, iar dac n fiier nu exist astfel de secvene se afieaz mesajul NU
EXISTA.
Exemplu: dac fiierul numere.txt conine, n aceast ordine, numerele 60 120 15 5
2 45 25 se vor afia numerele 120 15 5 2.
(6p.)
Subiectul III
Varianta 21 - informatica
b. v1<v2
c. v1==v2
d. v1+v2==9
a)
b)
c)
Scriei programul
algoritmului dat.
d)
C/C++
corespunztor
(10p.)
a.
p=p*a[5-i][i]*a[i][5-i];
b.
p=p*a[i][i]*a[i][4-i];
c.
p=p*a[i][i]*a[5-i][5-i];
d.
p=p*a[5-i][5-i]*a[i][5-i];
2.
ntr-un graf orientat cu 7 noduri suma gradelor interioare ale tuturor nodurilor este egal cu
10. Care este valoarea sumei gradelor exterioare ale tuturor nodurilor?
(4p.)
a.
b.
20
c.
10
d.
17
Se consider declarrile de mai jos, n care variabila ev memoreaz date despre un anumit
elev. Scriei instruciunea C/C++ prin care se iniializeaz anul naterii acestui elev cu
valoarea 1990.
(6p.)
struct data{
int zi;
int luna;
int an;
};
struct elev {
char nume[30];
struct data data_nasterii;
float media;
}ev;
4.
5.
Se consider un text alctuit din cel mult 250 de caractere, n care cuvintele sunt formate doar
din litere mici ale alfabetului englez i sunt separate prin unul sau mai multe caractere *.
Scriei un program C/C++ care citete de la tastatur textul i afieaz pe ecran, pe cte o
linie, toate secvenele formate din cte dou litere identice, ca n exemplu.
Exemplu: dac textul citit este:
perechile alturate.
se
afieaz
(10p.)
ii
ii
oo
Varianta 21 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Urmtoarele probleme se refer la mulimea de numere reale M={x1, x2, , xn} (n>1000).
Care dintre acestea, comparativ cu celelalte, admite un algoritm care se ncheie dup un
numr minim de pai?
(4p.)
elementului
b. generarea
elementelor
cartezian M x M
minim
al
produsului
int f(int n)
{ if (n==0) return 0;
return n%2+f(n/2);
}
3.
Scriei definiia complet a unui subprogram i_prim care primete prin singurul su
parametru, n, un numr natural din intervalul [2,30000] i returneaz diferena minim
p2-p1 n care p1 i p2 sunt numere prime i p1np2.
Exemplu: dac n=20 atunci i_prim(20)=4, valoare obinut pentru p1=19 i p2=23.
(10p.)
4.
Fiierul text BAC.TXT conine pe prima linie dou numere naturale, n i k, separate de un
spaiu (3n10000, 2kn/2), iar pe a doua linie un ir de n numere naturale, x1, x2, ..., xn,
separate prin cte un spaiu, fiecare numr din acest ir avnd cel mult patru cifre.
a) Scriei un program C/C++ care citete numerele din fiier i determin, utiliznd o metod
eficient din punct de vedere al timpului de executare, cel mai mic indice i (1in-k+1)
pentru care suma termenilor xi, xi+1, ..., xi+k-1 este maxim. Programul afieaz valoarea lui
i pe ecran.
Exemplu: pentru fiirul alturat se afieaz 2, deoarece suma 8 3
maxim se obine pentru 9+4+7.
(6p.) 2 9 4 7 5 2 9 9
b) Explicai succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena
acesteia.
(4p.)
Subiectul III
Varianta 22 - informatica
d1
pentru i2,[n/2] execut
dac i|n atunci
di
scrie d
a)
b)
c)
Scriei
programul
algoritmului dat.
d)
Scriei o valoare pentru n astfel nct n urma executrii algoritmului obinut prin nlocuirea
structurii
pentru i2,[n/2] execut
...
cu
pentru i[n/2],2,-1 execut
...
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
s se afieze aceeai valoare, ca n algoritmul iniial.
(4p.)
C/C++
corespunztor
(10p.)
b.
a.
BACALAUREAT
2009 - INFORMATIC,
limbajul C/C++ c.
Specializarea
2.
PentruMatematic-informatic
declararea alturat precizai care
d.
Subiectul I
struct elev
{char nume[20];
dintre instruciunile de atribuire este greit:(4p.)
int nota;} e1,e2;
a.
e1=e2+1;
b.
e1.nume[2]=x;
c.
e1=e2;
d.
e1.nota=e2.nota+1;
Ce valoare are expresia de mai jos dac variabila s memoreaz irul de caractere
alfabet, format numai din litere?
4.
5.
strlen(strcpy(s,s+2))
(6p.)
Varianta 22 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
b. xkxk-1
d. xkxk-1 i xkxk+1
4.
Scriei programul C/C++ care citete din fiierul text BAC.TXT numrul ntreg n
(1n10000) i un ir de n perechi de numere ntregi a b (1ab32000), fiecare pereche
fiind scris pe o linie nou a fiierului, cu un spaiu ntre cele dou numere. Programul
afieaz pe ecran pentru fiecare pereche a,b cel mai mare numr natural din intervalul
nchis [a,b] care este o putere a lui 2 sau numrul 0 dac nu exist nicio putere a lui 2 n
intervalul respectiv. Numerele afiate pe ecran se scriu n linie, separate prin cte un spaiu.
Un numr p este putere a lui 2 dac exist un numr natural k astfel nct p=2k.
Exemplu: dac fiierul BAC.TXT conine numerele
3
2 69
10 20
19 25
se va afia: 64 16 0.
(10p.)
Subiectul III
Varianta 23 - informatica
dat.
d)
(10p.)
Care din urmtoarele expresii are valoarea 1 dac i numai dac irul de caractere s, de
lungime 10, este obinut prin concatenarea a dou iruri identice?
(4p.)
a.
strcmp(s,s+5)==0
b.
BACALAUREAT
s==s+5 2009 - INFORMATIC, limbajul C/C++ d.
c.
Specializarea Matematic-informatic
s==strstr(s,s+5)
Subiectul I
strcmp(s,strcat(s,s+5))==0
2.
a.
sgn
b.
fabs
c.
mod
(4p.)
d.
abs
Care este lungimea maxim a unui lan elementar pentru un arbore cu rdcin, cu 7
noduri, numerotate de la 1 la 7, dat de vectorul de tai: (3,3,0,1,2,2,4)? Scriei
muchiile din care este alctuit un lan elementar de lungime maxim din acest arbore. (6p.)
4.
5.
Varianta 23 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
4.
Fiierul text BAC.TXT conine pe prima linie un numr natural nenul n (1n1000), iar pe
fiecare dintre urmtoarele n linii cte dou numere ntregi a i b (1ab32000), fiecare
pereche reprezentnd un interval nchis de forma [a,b]. Scriei un program C/C++ care
citete numerele din fiier i determin un interval dintre cele citite care conine cel mai
mare numr de numere ntregi i afieaz pe o linie a ecranului, separate printr-un spaiu,
numerele care reprezint capetele intervalului determinat. n cazul n care sunt mai multe
intervale care ndeplinesc aceast proprietate, se vor afia informaiile referitoare la acel
interval la care numrul care reprezint captul din dreapta este minim.
4
Exemplu: dac fiierul BAC.TXT are coninutul alturat, pe ecran se va
17 24
afia: 8 15 (pentru c numrul maxim de numere ntregi aflate ntr-un
-2 3
interval este 8. Sunt dou intervale care conin 8 numere: [17;24] i
9 15
[8;15]. Dintre acestea, [8;15] are captul din dreapta cel mai mic).
8 15
(10p.)
Subiectul III
Varianta 24 - informatica
Care din urmtoarele afirmaii despre operatorii din C/C++ este fals?
(4p.)
algoritmul
alturat,
descris
a)
b)
c)
Scriei
programul
algoritmului dat.
d)
C/C++
corespunztor
(10p.)
citete a,b
(numere naturale)
pa; qb
dac p=0 sau q=0 atunci
pp*q; qp*q
ct timp pq execut
dac p<q atunci
pp+a
altfel
qq+b
scrie p
2.
a.
b.
c.
d.
c.
(5 , 3)
0
0
0
0
1
1 0 1 0
0 1 0 0
0 0 0 0
0 0 0 1
0Subiectul
0 0 0I
d. (3 , 2)
Care din urmtoarele proprieti este adevrat pentru un graf orientat cu n vrfuri i n arce
(n>3) care are un circuit de lungime n:
(4p.)
exist un vrf cu gradul intern n-1
pentru orice vrf gradul intern i gradul extern sunt egale
graful nu are drumuri de lungime strict mai mare dect 2
gradul intern al oricrui vrf este egal cu 2
4.
5.
Scriei un program C/C++ care citete de la tastatur dou iruri de caractere formate din
maximum 100 litere mici ale alfabetului englez i afieaz pe ecran cel mai lung sufix
comun al celor dou iruri de caractere. Dac cele dou iruri nu au niciun sufix comun,
atunci programul va afia pe ecran mesajul NU EXIST.
Exemplu: pentru irurile marina i elena se va afia na
(10p.)
Varianta 24 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
a. BCA
b. CAB
c. BC
d. BEA
4.
Fiierul text bac.txt conine pe prima linie numrul natural n, 1n10000, pe a doua linie,
dou numere ntregi a i b (ab) separate de un spaiu, iar pe urmtoarele n linii un ir de n
numere ntregi. Fiecare dintre cele n numere, precum i valorile a i b, au cel mult patru
cifre.
4
Scriei un program C/C++ care afieaz pe ecran cel mai mic numr natural
8 35
din intervalul nchis [a,b] care se gsete n irul dat. Dac nu exist un
-2
astfel de numr, programul afieaz textul NU.
72
Exemplu: dac fiierul bac.txt are coninutul alturat, programul afieaz
14
valoarea 14.
(10p.)
25
Subiectul III
Varianta 25 - informatica
b. 3 i 4
c. 5 i 2
d. 2 i 7
b)
Scriei un algoritm echivalent cu cel dat n care s se ct timp ab execut
nlocuiasc structura ct timp...execut cu o dac c|a atunci
structur pentru...execut.
(6p.) scrie a
c)
Scriei programul C/C++ corespunztor algoritmului
aa+1
dat.
(10p.)
d)
Scriei o formul care s calculeze cte numere se
afieaz dac ab.
(4p.)
Structura de date la care se aplic principiul primul venit, primul ieit: (first in, first out)
este:
(4p.)
a.
lista nlnuit
b.
BACALAUREAT
c.
coada 2009 - INFORMATIC, limbajul C/C++ d.
Specializarea Matematic-informatic
stiva
Subiectul I
graf orientat
2.
a.
x=2
b.
x<2
c.
x>2
d.
nicio valoare
(6p.)
4.
Scriei secvena de instruciuni care permite afiarea pe ecran a mesajului Corect dac un
ir de maximum 100 caractere, reinut de variabila s, conine caractere de tip cifr, sau
mesajul Incorect n caz contrar.
(6p.)
5.
Varianta 25 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Un program citete o valoare natural nenul impar pentru n i apoi genereaz i afieaz
n ordine cresctoare lexicografic toate combinaiile formate din n cifre (valori ntre 0 i 9)
care ndeplinesc urmtoarele proprieti:
- ncep i se termin cu 0;
- modulul diferenei ntre oricare dou cifre alturate dintr-o combinaie este 1.
Astfel, pentru n=5, combinaiile afiate sunt, n ordine, urmtoarele: 01010, 01210. Dac
se ruleaz acest program i se citete pentru n valoarea 7, imediat dup combinaia
0101210 va fi afiat combinaia:
(4p.)
a. 0121210
b. 0123210
c. 0111210
d. 0121010
4.
Fiierul text NUMAR.TXT conine pe prima linie un numr real pozitiv x care are cel mult
dou cifre la partea ntreag i cel mult apte cifre dup punctul zecimal.
a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al
timpului de executare i al memoriei utilizate, afieaz pe ecran, separate printr-un spaiu,
dou numere naturale al cror raport este egal cu x i a cror diferen absolut este
minim.
Exemplu: dac fiierul conine valoarea alturat, se vor afia pe ecran 0.375
numerele 3 8.
(6p.)
b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei.
(4p.)
Subiectul III
Varianta 26 - informatica
Care este cea mai mic valoare pe care o poate avea expresia C/C++ x/7-x%7
alturat dac variabila x, de tip int, memoreaz un numr natural cu o
singur cifr?
(4p.)
a. 0
b. 1.14
c. -6
d. 1
b)
Scriei programul C/C++ corespunztor algoritmului dat.
(10p.)
c)
d)
a.
2.
a.
b.
b.
Subiectul I
c.
c.
d.
d.
1
9
8
0
1
2
6
2
2
5
1
2
3
4
1
1
Varianta 26 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
(6p.)
(6p.)
Subiectul III
Varianta 27 - informatica
b)
c)
d)
citeste a,b
(numere naturale)
c0
d0
p1
ct timp a+b+c>0 execut
ca%10+b%10+c
dd+(c%10)*p
pp*10
a[a/10]
b[b/10]
c[c/10]
scrie d
0
0
0
1
BACALAUREAT
2009 - INFORMATIC,
limbajul C/C++
3
b. 2
c.
a.
Specializarea Matematic-informatic
d.
1
0
1
1
0
0
0
1
1
0
0
0
Subiectul I
2.
Care este numrul nodurilor de tip frunz din arborele cu rdcin, cu 8 noduri,
numerotate de la 1 la 8, reprezentat prin vectorul de tai (2,0,6,2,4,4,5,5)? (6p.)
a.
b.
c.
d.
4.
5.
(4p.)
Varianta 27 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
(6p.)
(4p.)
Subiectul III
Varianta 28 - informatica
Cte valori distincte, numere naturale, poate primi variabila x pentru ca valoarea expresiei
x/2/2 scris n C/C++ s fie egal cu 1?
(4p.)
b. 4
c. 2
d. 0
a. 1
b)
c)
d)
citeste x
(numr real pozitiv)
y[x]
xx-y
ct timp x[x] execut
xx*10
a.
2.
ntr-un arbore cu rdcin fiecare nod neterminal are exact 2 descendeni direci (fii).
Care este numrul de noduri din arbore dac acesta are 8 frunze?
(4p.)
a.
b.
b.
Subiectul I
c.
c.
15
d.
d.
10
Varianta 28 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Generarea tuturor cuvintelor de trei litere mici, nu neaprat distincte, ale alfabetului englez,
se poate realiza cu ajutorul unui algoritm echivalent cu cel de generare a:
(4p.)
b. combinrilor
a. produsului cartezian
c. aranjamentelor
d. permutrilor
(4p.)
Subiectul III
Varianta 29 - informatica
Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul natural
nenul memorat n variabila x, de tip int, este divizibil cu 100?
(4p.)
a. x%10+x/10%10==0
b. x/100==0
c. x%10+x/10==0
d. x%10+x%10/10==0
d)
Care este numrul maxim de noduri de grad 3 ntr-un graf neorientat cu 5 noduri?
a.
2.
Care dintre noduri trebuie ales ca rdcin n arborele din figura alturat
(6p.)
b.
c.
d.
BACALAUREAT
2009
INFORMATIC,
C/C++ direci (fii)?
astfel nct
s- existe
un nod culimbajul
3 descendeni
Specializarea Matematic-informatic
a.
b.
c.
d.
(4p.)
2
Subiectul I
4.
char s[]=arac;
t=s[1];
s[1]=s[3];
s[3]=t;
cout<<s; | printf(%s,s);
1,2,3,4,5,6,7,8,9,10:
. Dac se noteaz cu AD(x)
operaia prin care se adaug un element cu informaia x n coad i cu EL() operaia prin care
se elimin un element din coad, care este valoarea memorat n primul element al cozii dup
executarea secvenei de operaii: EL();EL();AD(1); AD(2); EL();EL(); ?
(6p.)
5.
Varianta 29 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Scriei programul C/C++ care citete trei numere naturale a,b,c (ab) din intervalul
[1,10000] i afieaz pe ecran numrul multiplilor lui c din intervalul [a;b].
Exemplu: pentru a=10, b=27,c=5 se afieaz valoarea 4.
(4p.)
4.
naturale din
(6p.)
b) Fiierul text NUMERE.IN conine pe prima linie dou numere naturale nenule n i m
(1mn100), pe linia a doua n numere naturale din intervalul [1;10000] i pe linia a
treia alte m numere naturale din intervalul [1;10000]. Pe fiecare linie numerele sunt
separate prin cte un spaiu.
Scriei un program C/C++ care citete cele dou numere naturale n i m din fiierul
NUMERE.IN, construiete n memorie dou tablouri unidimensionale A i B cu elementele
aflate n fiier pe a doua, respectiv a treia linie i verific, utiliznd apeluri utile ale
subprogramului suma, dac tabloul A se poate reduce la tabloul B. Programul afieaz pe
ecran mesajul DA n caz afirmativ i mesajul NU n caz negativ.
(10p.)
Subiectul III
Varianta 30 - informatica
Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul natural
memorat de variabila x de tip int are exact dou cifre?
(4p.)
a. x/100==0
c. x/10!=0
Care este numrul nodurilor de grad 1 n graful din figura alturat ?(6p.)
a.
2.
Care este valoarea expresiei strlen(s) pentru variabila s de tip ir de caractere, declarat
i iniializat astfel: char s[15]=Proba_E;
(4p.)
a.
b.
b.
Subiectul I
15
c.
c.
d.
d.
Care sunt nodurile de tip frunz din arborele alturat dac se alege
ca rdcin nodul 6?
(6p.)
4.
5.
Varianta 30 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
(10p.)
4. Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (1n100) i pe
urmtoarea linie n numere reale pozitive ordonate cresctor, separate prin cte un spaiu.
a) Scriei un program C/C++ care citete din fiierul NUMERE.IN numrul natural n, i
determin, utiliznd un algoritm eficient din punct de vedere al timpului de executare i al
memoriei utilizate, numrul de valori reale distincte de pe linia a doua din fiier.
Exemplu: dac fiierul NUMERE.IN are coninutul:
6
2.3 2.3 2.8 5.7 5.7 6.3
atunci se afieaz valoarea 4 (sunt 4 valori distincte: 2.3, 2.8, 5.7, 6.3).
(6p.)
(4p.)
Subiectul III
Varianta 31 - informatica
Se consider variabila a care memoreaz un numr cu exact 6 cifre. Care dintre expresiile
C/C++ de mai jos are ca valoare numrul format din cele dou cifre din mijloc ale valorii
memorate n a?
(4p.)
a. (a%100)/100
b. a/100%100
c. a/1000+a%1000
d. a/100%10+a/1000%10
d)
b.
d.
a.
BACALAUREAT
2009 - INFORMATIC,
limbajul C/C++ c.
Subiectul I
Specializarea
Matematic-informatic
2.
Un arbore
cu 11 noduri, numerotate de la 1 la 11, este memorat cu ajutorul vectorului de
tai t=(2,5,5,3,0,2,4,6,6,2,3). Mulimea tuturor ascendenilor nodului 8 este: (4p.)
a.
{1, 2, 5, 6, 10}
b.
{6, 2, 5}
c.
{6}
d.
{5, 2}
Scriei definiia corect a unui tip de date necesar pentru a memora simultan, ntr-o singur
variabil de acest tip, urmtoarele caracteristici ale unui autoturism: marca (cuvnt de
maximum 20 caractere) i anul fabricaiei (numr natural), astfel nct expresia C/C++ de
mai jos s aib ca valoare vechimea mainii ale crei caracteristici sunt memorate n
variabila x.
2008-x.anul_fabricatiei
(6p.)
4.
5.
Scriei un program C/C++ care construiete n memorie o matrice cu 10 linii i 7 coloane ale
crei elemente sunt numere ntregi (cu maximum 3 cifre fiecare), citite de la tastatur, i
afieaz pe ecran, suma tuturor elementelor situate pe conturul matricei determinat de prima
i ultima linie respectiv prima i ultima coloan a acestei matrice.
(10p.)
Varianta 31 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Generarea tuturor irurilor de caractere de 5 litere, fiecare liter putnd fi orice element din
mulimea {p,r,o,b,a}, se realizeaz cu ajutorul unui algoritm echivalent cu algoritmul de
generare a:
(4p.)
a. aranjamentelor
b. permutrilor
c. submulimilor
d. produsului
cartezian
4.
n fiierul numere.txt, se afl memorate, pe prima linie un numr natural n (1n100), iar
pe fiecare dintre urmtoarele n linii, cte dou numere ntregi x,y (-100xy100),
reprezentnd capetele cte unui segment [x,y] desenat pe axa Ox de coordonate.
a) Scriei n limbajul C/C++ un program eficient din punct de vedere al timpului de executare
i al spaiului de memorare, care citete din fiier datele existente, determin segmentul
rezultat n urma interseciei tuturor celor n segmente date i afieaz pe ecran dou numere
desprie printr-un spaiu ce reprezint capetele segmentului cerut. Dac segmentele nu au
niciun punct comun se va afia pe ecran valoarea 0.
(6p.)
b) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia.
(4p.)
3 5
3 20
-7 10
-5 5
0 12
-8 30
Subiectul III
Varianta 32 - informatica
Stabilii care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac numrul
ntreg memorat n variabila x nu aparine intervalului (-35,-20)[17,100].
(4p.)
(4p.)
1
Subiectul I
d.
2.
a.
b.
c.
4:(1,2);
5:(2);
6:(2, 4, 5);
d.
ntr-o structur de date de tip coad au fost adugate n ordine urmtoarele valori: 3, 10,
2, 8 i 6. Care este ultima valoare care s-a extras din coad dac s-au efectuat, n ordine,
urmtoarele operaii: extragerea unui element, adugarea valorii 100, extragerea a trei
elemente.
(6p.)
4.
5.
Varianta 32 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Scriei definiia complet a subprogramului prime care are ca parametri dou numere
naturale x i y (avnd cel mult 4 cifre fiecare) i afieaz pe ecran toate numerele prime din
intervalul nchis, avnd unul din capete n x i cellat n y. Numerele afiate vor fi separate
prin cte un spaiu.
Exemplu: pentru x=32 i y=18 valorile afiate vor fi 19 23 29 31.
(10p.)
4.
Fiierul numere.txt conine mai multe numere ntregi (cel mult 100), fiecare numr
avnd cel mult 9 cifre. Se cere s se afieze pe ecran, desprite printr-un spaiu, cele mai
mari dou valori pare memorate n fiier. Dac n fiier nu se afl memorate dou astfel de
valori, pe ecran se va afia valoarea 0.
a) Descriei n limbaj natural o metod de rezolvare eficient din punct de vedere al
gestionrii memoriei i al timpului de executare.
(4p.)
b) Scriei programul C/C++ corespunztor metodei descrise la punctul a.
(6p.)
Exemplu: dac fiierul numere.txt are coninutul alturat, se 5 10
vor afia pe ecran, nu neaprat n aceast ordine:
3 -77 20
30 50
50 5 0 12 18 30
Subiectul III
Varianta 33 - informatica
Variabila a memoreaz un numr natural care are exact 3 cifre. Care dintre expresiile
C/C++ de mai jos are ca valoare numrul format din prima i ultima cifr a numrului
memorat de a?
(4p.)
a.
a/10+a%100
b.
a/100+a%10
c.
a/100*10+a%10
d.
a-a/10%10
citete a,n
(numere naturale)
a)
b)
c)
d)
aa+j
scrie a
BACALAUREAT
2009 - INFORMATIC,
limbajul C/C++
14
6
b.
c.
a.
Specializarea Matematic-informatic
28
d.
4: 1,2,3
5: 1,6
6: 1,5
10 Subiectul I
2.
a.
b.
c.
17
d.
18
Scriei definiia corect a unui tip de date necesar pentru a memora simultan ntr-o singur
variabil de acest tip, urmtoarele caracteristici ale unui cerc: abscisa i ordonata centrului
cercului (numere ntregi) i raza acestuia (numr real), astfel nct expresia C/C++ de mai
jos s calculeze diametrul cercului ale crui caracteristici sunt memorate n variabila x.
2*x.raza
(6p.)
4.
5.
(6p.)
Scriei un program C/C++ care citete de la tastatur o fraz de maximum 255 de caractere
(litere mari ale alfabetului englez i spaii), ale crei cuvinte sunt desprite prin cte un
spaiu i afieaz pe primul rnd al ecranului numrul total al cuvintelor din fraz, iar pe
rndul urmtor de ecran, n ordine alfabetic, scrise o singur dat, consoanele care au
aprut n fraz (consoane sunt toate literele alfabetului englez, mai puin A, E, I, O, U).
Literele afiate sunt separate prin cte un spaiu.
Exemplu: dac se citete fraza LA BACALAUREAT SUBIECTELE AU FOST USOARE
se va afia:
6
B C F L R S T
(10p.)
Varianta 33 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Folosind un algoritm de generare putem obine numere naturale de k cifre care au suma
cifrelor egal cu un numr natural s. Astfel, pentru valorile k=2 i s=6 se genereaz, n
ordine, numerele: 15, 24, 33, 42, 51, 60. Care va fi al treilea numr generat pentru k=4 i
s=5?
(4p.)
b. 1022
c. 2201
d. 1031
a. 1301
4.
Pe prima linie a fiierului numere.txt se afl dou numere naturale n i m (avnd cel
mult 4 cifre fiecare, mn), desprite printr-un spaiu, iar pe urmtoarea linie, n ordine strict
cresctoare, n numere naturale cu cel mult dou cifre, desprite prin cte un spaiu.
a) Scriei n limbajul C/C++ un algoritm eficient din punct de vedere al gestionrii memoriei
i al timpului de executare, care citete din fiier datele existente i afieaz cea mai mare
sum a m numere aflate pe a doua linie a fiierului.
(6p.)
b) Explicai n limbaj natural metoda utilizat, justificnd eficiena acesteia.
(4p.)
Subiectul III
Varianta 34 - informatica
1.
b.
56
c.
54
d.
(4p.)
a.
(0,1,2,3,4,5,0,7,8,9)
b.
(1,2,3,4,5,7,6,8,9,0)
c.
(10,10,10,10,10,10,10,10,10,0)
d.
(9,8,7,6,5,4,3,2,1,0)
ntr-o list alocat static, de tip coad, sunt memorate n ordine, urmtoarele valori: 2, 3,
4:
Reprezentai coada ca n modelul de mai sus, dup fiecare dintre urmtoarele operaii,
care se realizeaz n aceast ordine:
- extragerea a dou elemente
- adugarea valorii 100
- adugarea valorii 200.
(6p.)
4.
5.
Varianta 34 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Subprogramul cifre_impare primete prin parametrul n un numr natural avnd cel mult
9 cifre i returneaz valoarea 1 dac numrul n are toate cifrele impare i 0 n caz contrar.
a) Scriei numai antetul subprogramului cifre_impare.
(4p.)
(10p.)
10
1 333 709 23 258
34 713 2678
11573 778
Scriei programul C/C++ care citete de la tastatur un numr natural n (n<100), apoi un
ir de n numere naturale de cel mult 3 cifre fiecare i afieaz pe ecran cel mai mare numr
de valori pare aflate pe poziii consecutive n irul citit.
Exemplu: pentru n=8 i numerele 12,7,4,16,10,3,6,6 se va afia 3 .
(6p.)
Subiectul III
Varianta 35 - informatica
Stabilii care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac
numrul ntreg memorat n variabila x nu aparine intervalului (-35,-20].
(4p.)
a. (x<-35) || (x>-20)
b. (x<=-35) || (x>=-20)
c. (x<=-35) || (x>-20)
a.
muchiile 2009
[1,5]
i [1,2] limbajul C/C++b.
BACALAUREAT
- INFORMATIC,
Specializarea
d.
c.
nodul Matematic-informatic
3
muchia [5,6]
Subiectul I
2.
a.
struct elev[10];
b.
struct x elev[10];
c.
x elev[10];
d.
4.
5.
6:7:10
8:4
9:10:7
Varianta 35 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
2.
3.
a) Scriei definiia complet a unui subprogram sum care primete prin parametrul x un
numr natural de cel mult 4 cifre i returneaz suma divizorilor numrului x, diferii de 1 i de
el nsui.
Exemplu: dac x=10 se va returna valoarea 7 (7=2+5).
(4p.)
b) Scriei programul C/C++ care citete de la tastatur un numr natural n (0<n<100), apoi n
numere naturale (cu cel mult 4 cifre fiecare). Programul determin, folosind apeluri utile ale
subprogramului sum, pentru fiecare numr natural, suma divizorilor si proprii i afieaz pe
ecran sumele determinate, n ordinea cresctoare a valorilor lor, separate prin cte un spaiu.
(6p.)
Exemplu: dac n=5 i numerele citite sunt 10 2 33 6 11
valorile afiate pe ecran vor fi: 0 0 5 7 14
deoarece suma divizorilor lui 10 este 7, suma divizorilor lui 2 este 0, suma divizorilor lui
33 este 14, suma divizorilor lui 6 este 5, suma divizorilor lui 11 este 0.
4.
Fiierul text numere.in conine pe prima linie un numr natural n (0<n<1000), iar pe a
doua linie n numere naturale cu cel mult 9 cifre fiecare.
Scriei un program C/C++ care citete toate numerele din fiier i afieaz pe ecran,
separate prin cte un spaiu, numerele formate doar din cifre distincte i care au exact trei
cifre.
Exemplu: dac fiierul numere.in are urmtorul coninut
7
249 511 4329 2 4313 243 3562
atunci pe ecran se vor afia numerele 249 243 (nu neaprat n aceast ordine).
(10p.)
Subiectul III
Varianta 36 - informatica
y=x;
while(x<=3)
{
cout<<"*"; | printf("*");
y=y+1; x=x+y;
}
c. 1
d. 4
b [v/10]%10
numrului real z.
s s + a*10 + b
Scriei ce valoare se va afia dac se citesc, n
a)
citete v
ordine, urmtoarele valori : 114, 123, 517, 3312,
14, 412, 22, 0.
(6p.)
scrie s
b)
c)
d)
(10p.)
a.
EAENMX
b.
ENXEAM
NEEXMA
c.
NEMAXE
d.
2.
a.
1 5 4
b.
5 4 7
c.
7 4 5
d.
2 1 5
4.
Cte muchii trebuie eliminate dintr-un graf neorientat complet cu 20 de noduri, pentru ca graful
parial obinut s fie arbore?
(6p.)
5.
3
25
18
3
Subiectul II
4 90 10
2 7 9
3 10 4
7 20 3
Varianta 36 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Subprogramul scif returneaz suma cifrelor unui numr natural transmis ca parametru.
Care este valoarea expresiei scif(scif(518)+scif(518))?
(4p.)
b. 14
c. 28
d. 1
a. 10
3.
Scriei programul C/C++ care, pentru o valoare n (numr natural 0<n<100) citit de la
tastatur, afieaz pe ecran, n ordine cresctoare, separate prin cte un spaiu primele n
numere strict pozitive divizibile cu 5.
Exemplu: pentru n=4 se vor afia pe ecran valorile 5 10 15 20.
(4p.)
4.
Subprogramul cifra primete prin intermediul parametrului a un numr natural cu cel mult
4 cifre i returneaz ultima cifr par a sa. Dac numrul nu conine cifre pare,
subprogramul returneaz valoarea -1. De exemplu, dac a=8345, subprogramul va returna
4.
a) S se scrie definiia complet a subprogramului cifra.
(10p.)
b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a
doua linie a fiierului se afl un ir de n numere naturale, desprite prin cte un spaiu,
fiecare numr fiind format din cel mult 4 cifre.
Scriei un program C/C++ care citete numerele din fiier i afieaz pe ecran, folosind
apeluri utile la subprogramului cifra, cel mai mare numr care se poate forma prelund
ultima cifr par a fiecrui element, dac o astfel de cifr exist. n cazul n care toate
valorile din fiier conin doar cifre impare, atunci se va afia valoarea -1.
(6p.)
Exemplu: dac fiierul bac.in are coninutul 7
369 113 2 0 33 1354
alturat, pe ecran se va afia: 64220
42
Subiectul III
Varianta 37 - informatica
printf(HH);
(4p.)
HHHHHH
a. 0
b. 4
c. 6
d. 5
Subiectul I
b.
cout<<x.nume[0];
c.
cout<<x.nume;
printf(%c,x.nume);
d.
cout<<nume;
2.
a.
printf(%c,x.nume[0]);
printf(%c,nume);
b.
4 7
c.
d.
4.
(6p.)
Un ir cu maximum 255 de caractere conine cuvinte separate prin unul sau mai multe spaii.
Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program Pascal
care citete un astfel de ir i l afieaz modificat, prima i ultima liter a fiecrui cuvnt fiind
afiat ca liter mare.
Exemplu: pentru irul: maine este
proba
la informatica se va afia:
MainE EstE
ProbA
LA InformaticA
(10p.)
Varianta 37 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
2.
3.
4.
a) Scriei doar antetul subprogramului nrdiv, care primete prin intermediul parametrului x
un numr natural nenul cu cel mult 4 cifre, i returneaz numrul de divizori primi ai lui x.
(4p.)
b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a
doua linie a fiierului se afl un ir format din n numere naturale nenule, desprite prin cte
un spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care
citete numerele din fiier i care afieaz pe ecran, folosind apeluri utile ale subprogramului
nrdiv, pentru fiecare valoare din ir numrul de divizori primi. Numerele afiate vor fi
separate prin cte un spaiu.
(6p.)
Exemplu: dac fiierul bac.in are coninutul alturat, pe 6
30 105 140 10 20 5
ecran se va afia: 3 3 3 2 2 1
Subiectul III
Varianta 38 - informatica
Care dintre expresiile urmtoare, scrise n limbajul C/C++, are valoarea 1 dac i numai
dac valorile variabilelor ntregi x i y sunt numere pare?
(4p.)
a. x-y==0
b. (x+y)%2==0
c. (x%2==0) || (y%2==0)
d.
Scriei cea mai mic valoare care poate fi citit scrie [p/(i*2)]
pentru n astfel nct, n urma executrii
algoritmului, n irul valorilor afiate s existe cel
puin 3 numere care au ultima cifr 0 i care s se
afle pe poziii consecutive.
(4p.)
c)
d)
(10p.)
Subiectul I
2.
9
b. 8
c.
d. 4 8 9
s[0]= E;
Considerm c variabila s memoreaz irul de s[strlen(s)-1]= A;
caractere examen. Care va fi valoarea lui s dup s[strlen(s)/2-1]= N;
executarea instruciunilor scrise alturat?
(4p.) s[strlen(s)/2]= M;
a.
ExNMeA
a.
8 9
b.
exAMen
c.
ExAMeN
d.
ExameN
(3p.)
c) Care este numrul minim de muchii care trebuie eliminate astfel nct graful parial obinut
s aib 3 componente conexe?
(6p.)
4.
Varianta 38 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Scriei n limbajul C/C++ definiia complet a subprogramul Del care are doi parametri: x,
un numr ntreg de cel mult 9 cifre, i y, un numr natural nenul de o cifr. Subprogramul
determin eliminarea tuturor cifrelor lui x mai mari strict dect y i furnizeaz numrul
obinut tot prin intermediul parametrului x. Dac toate cifrele lui x sunt mai mari strict dect
y, atunci x va primi valoarea -1.
Exemplu: dac x=37659 i y=6, dup apel x=365, iar y=6.
(10p.)
4.
Se consider subprogramul inter, cu doi parametri: x i y (numere ntregi formate din cel
mult patru cifre fiecare); subprogramul interschimb valorile a dou variabile transmise prin
intermediul parametrilor x i y.
a) Scriei n limbajul C/C++ numai antetul subprogramului inter.
(4p.)
b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n1000, iar pe a doua
linie a fiierului se afl un ir de n numere naturale nenule, desprite prin cte un spaiu,
fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care afieaz pe
ecran, n ordine cresctoare, numerele aflate pe a doua linie a fiierului. Numerele vor fi
afiate pe o singur linie, iar ntre dou numere se va lsa un spaiu. Se vor folosi apeluri
utile ale subprogramului inter.
(6p.)
Subiectul III
Varianta 39 - informatica
a. 4
b. 3
c. 2
d. 5
scrie nr
a)
b)
c)
d)
(10p.)
0 1 0 0
1 0 0 0
0 0 0 0
0 0 0 0
0Subiectul
0 1 1I
0 1 0 0
0 1 0 0
a.
(3, 1, 0, 2, 1, 5, 6)
c.
2.
(0, 1, 2, 2, 1, 5, 5)
(2, 1, 0, 2, 1, 5, 2)
d.
Un graf neorientat cu 7 noduri, numerotate de la 1 la 7 are muchiile [1,5], [2,3],
[2,4], [2,5], [3,4], [4,5], [4,7], [5,6], [5,7]. Cte cicluri elementare
distincte exist n graf? Dou cicluri sunt distincte dac difer prin cel puin o muchie. (4p.)
a.
b.
b.
c.
(1, 0, 2, 2, 1, 5, 5)
d.
4.
for(i=1;i<=3;i++)
Considerm declaraiile:
for(j=1;j<=3;j++) a[i][j]=i+j;
int i,j,a[10][10];
Ce se va afia dup executarea for(i=1;i<=3;i++)
secvenei de instruciuni alturate? { for(j=1;j<=3;j++)
cout<<a[i][j]; | printf(%d,a[i][j]);
(6p.)
cout<<endl; | printf(\n);
}
5.
Un ir cu maximum 255 de caractere conine cuvinte separate prin cte un spaiu. Cuvintele
sunt formate numai din litere mici ale alfabetului englez. Scriei un program C/C++ care
citete de la tastatur un astfel de ir i l afieaz pe ecran modificat, inversnd prin
oglindire doar cuvintele care ncep cu vocal, ca n exemplu. Se consider vocale literele din
mulimea {a, e, i, o, u}.
Exemplu: pentru irul: maine este proba la informatica se va afia:
maine etse proba la acitamrofni
(10p.)
Varianta 39 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a doua
linie a fiierului se afl un ir format din n numere naturale, desprite prin cte un spaiu,
fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care citete
valorile din fiier i care afieaz pe ecran mesajul DA dac toate elementele pare din ir
sunt n ordine cresctoare i mesajul NU n caz contrar.
Exemplu: dac fiierul bac.in are coninutul 7
alturat, pe ecran se va afia: DA
(10p.) 10 113 12 33 42 1354 421
4.
Subiectul III
Varianta 40 - informatica
a. -30
b. 70
(4p.)
c. -20
50-(100300/2/(2+3))
d. 60
b)
c)
d)
Scriei
programul
algoritmului dat.
C/C++
citete x
(numr natural nenul)
d2; y0; z0
ct timp x 1 execut
p 0
ct timp x%d=0 execut
p p+1
x [x/d]
dac p0 atunci
dac y=0 atunci yd
zd
d d+1
scrie y
scrie z
corespunztor
(10p.)
a.
b.
2.
a.
20
b.
15 4
c.
4 20
d.
15 4 20
4.
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
int i,j,a[10][10];
if(i<j)a[i][j]=i;
else a[i][j]=j;
Ce se va afia dup executarea
for(i=1;i<=3;i++){
secvenei de instruciuni alturate?
for(j=1;j<=3;j++)
(6p.)
cout<<a[i][j];|printf(%d,a[i][j]);
cout<<endl;|printf(\n);}
5.
Un ir cu maximum 255 de caractere conine cuvinte formate numai din litere mici ale
alfabetului englez. Fiecare cuvant este urmat de un caracter *. Scriei un program C/C++
care citete un astfel de ir i afieaz pe ecran irul obinut prin eliminarea tuturor apariiilor
primului cuvnt, ca n exemplu.
Exemplu: pentru irul: bine*albine*foarte*bine* se va afia:
*albine*foarte**
(10p.)
Considerm declarrile:
Varianta 40 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n1000), iar pe a doua
linie a fiierului se afl un ir format din n numere naturale, desprite prin cte un spaiu,
fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care citete
numerele din fiier i care afieaz pe ecran mesajul DA dac elementele pare n ir sunt n
ordine cresctoare, iar cele impare sunt n ordine descresctoare, i mesajul NU n caz
contrar.
Exemplu: dac fiierul bac.in are coninutul 8
alturat, pe ecran se va afia: DA
(10p.) 10 1133 12 331 42 1354 221 13
4.
(4p.)
Subiectul III
Varianta 41 - informatica
b. y=x%10;
c. y=x/10;
d. x=x/10;
algoritmul
alturat,
descris
S-a notat cu [x] partea ntreag numrului real x, iar cu citete x (numr natural)
x%y restul mpririi numrului ntreg x la numrul ntreg
d2
nenul y.
scrie x
a)
Scriei numrul care se afieaz dac se citete ct timp xd execut
ct timp x%d=0 execut
valoarea 100.
(6p.)
x[x/d]
b)
Scriei cel mai mare numr natural de dou cifre care scrie x
trebuie citit pentru variabila x, astfel nct algoritmul
s afieze exact dou valori.
(4p.) dd+1
c)
Scriei n pseudocod un algoritm echivalent cu cel dat,
care s conin o singur structur repetitiv.
(6p.)
d)
Specializarea Matematic-informatic
a.
2.
a.
b.
b.
c.
c.
0 0 1
1 1 0
0 1 1
1 0 1
1 1 0 I
Subiectul
d.
d.
4.
5.
2
3
4
5
3
4
5
6
4
5
6
7
5
6
7
8
Varianta 41 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Cea mai mare dintre valorile strict negative memorate ntr-un tablou unidimensional NU
exist dac:
(4p.)
n tablou sunt memorate numai valori strict negative
n tablou exist cel puin o valoare negativ
n tablou sunt memorate valori nenule pozitive i negative
n tablou sunt memorate numai valori strict pozitive
Scriei un subprogram MULT, cu doi parametri, care primete prin intermediul parametrului a
un tablou unidimensional cu cel mult 100 de elemente, numere naturale de cel mult 4 cifre
fiecare, i prin intermediul parametrului n un numr natural nenul, n<100, ce reprezint
numrul de elemente din tablou. Subprogramul verific dac tabloul conine toate valorile din
mulimea {1,2,,n}. n caz afirmativ subprogramul returneaz valoarea 1, iar altfel
subprogramul returneaz valoarea 0.
(10p.)
4.
Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a
doua linie un ir de n numere naturale de o singur cifr, separate prin cte un spaiu. irul
conine cel puin o valoare par i una impar.
a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului
de executare, cea mai mare cifr par i cea mai mic cifr impar dintre cele situate pe a
doua linie a fiierului. Cifrele determinate vor fi afiate pe ecran, pe o singur linie, separate
printr-un spaiu.
Exemplu: dac fiierul numere.txt are urmtorul coninut:
7
3 5 2 1 6 3 1
atunci pe ecran se vor afia valorile: 6 1.
(6p.)
Subiectul III
Varianta 42 - informatica
tiind c variabilele x i y sunt de tip ntreg, care este instruciunea prin care variabilei x i
se atribuie cifra zecilor numrului natural cu cel puin dou cifre memorat de variabila y?
(4p.)
a. x=y%10/10;
b. x=y/10%10;
c. x=y%10;
d. x=x/100;
y2*z
Scriei valoarea care se va afia la finalul executrii
algoritmului dac se citesc valorile x=15 i y=25. scrie x
(6p.)
b)
Dac pentru y se citete valoarea 3, scriei toate numerele formate dintr-o singur cifr
care pot fi citite pentru variabila x astfel nct, pentru fiecare dintre acestea, la finalul
executrii algoritmului s se afieze o valoare de forma 2p, unde p este un numr
natural.
(4p.)
c)
d)
(10p.)
Specializarea Matematic-informatic
a.
2.
a.
b.
b.
c.
c.
0 1 1
0 0 0
0 0 0
0 0 0
0 0 0 I
Subiectul
d.
d.
5.
Varianta 42 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Scriei definiia complet a unui subprogram P, cu trei parametri, care primete prin
intermediul primului parametru, a, un tablou unidimensional de cel mult 100 de numere
ntregi, cu cel mult 4 cifre fiecare, prin intermediul celui de-al doilea parametru, n, numrul
efectiv de elemente ale tabloului, iar prin parametrul k, un numr natural (k<101) i
returneaz cea mai mare sum de k termeni care se poate obine adunnd k elemente ale
tabloului.
Exemplu: dac n=6 i k=4, iar irul este format din elementele (5, 2, 5, 4, 1, 3),
atunci la apel se va returna 17.
(10p.)
4.
Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000) iar pe
doua linie, separate prin cte un spaiu, n numere naturale formate din cel mult dou cifre.
a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului
de executare, dac numerele situate pe a doua linie a fiierului sunt n ordine strict
cresctoare. n caz afirmativ, programul va afia pe ecran mesajul DA, altfel va afia mesajul
NU.
Exemplu: dac fiierul numere.txt are urmtorul coninut:
7
3 5 2 1 5 23 1
atunci pe ecran se va afia: NU
(6p.)
Subiectul III
Varianta 43 - informatica
Care este instruciunea prin care variabilei x i se atribuie valoarea sumei cifrelor numrului
natural format din exact trei cifre, memorat de variabila ntreag y?
(4p.)
a. x=y/100+y/10%10+y%10;
b. x=y+y/10+y/100;
c. x=y%10+y%10/10+y/100;
d. x=y%10+y%100+y%1000;
b)
Dac se citete pentru variabila y valoarea 26, scriei scrie x+y
toate numerele naturale de cel mult dou cifre care pot fi
citite pentru variabila x, astfel nct la finalul executrii
algoritmului s se afieze valoarea 13.
(4p.)
c)
d)
a.
2.
a.
b.
b.
c.
c.
d.
d.
0
1
0
0
1
1
0
1
1
0
0 0 1
1 1 0
0 1 1
1 0 1
1 1 0 I
Subiectul
4.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii i n coloane astfel nct elementele situate pe
diagonala principal sa fie egale cu 2, cele situate deasupra diagonalei principale s fie
egale cu 1, iar cele situate sub diagonala principal s fie egale cu 3.
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a 2 1 1 1
3 2 1 1
ecranului, cu cte un spaiu ntre elementele fiecrei linii.
Exemplu: dac n este 4 atunci programul va construi i va afia 3 3 2 1
matricea alturat:
(10p.) 3 3 3 2
Varianta 43 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Utiliznd metoda backtracking se genereaz numerele formate din cte 3 cifre distincte din
mulimea {1,3,5,7}. Dac primele trei numere generate sunt, n acest ordine: 135,
137, 153 care este cel de-al patrulea numr generat?
(4p.)
b. 173
c. 157
d. 357
a. 315
Scriei definiia complet a unui subprogram P cu doi parametri, care primete prin
intermediul primului parametru, n, un numr natural nenul (1n100) i prin intermediul
celui de-al doilea parametru, a, un tablou unidimensional cu elementele numerotate de la 1
la n, numere ntregi, de cel mult 4 cifre fiecare, i returneaz suma tuturor numerelor impare
aflate pe poziii pare n tablou.
Exemplu: dac n=6, iar irul este format din elementele (3, 2, 7, 1, 4, 3), atunci la
apel se va returna 4.
(10p.)
4.
Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a
doua linie n cifre, separate prin cte un spaiu.
a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului
de executare, cea mai mare cifr dintre cele situate pe a doua linie a fiierului numere.txt
i numrul de apariii ale acesteia. Valorile determinate se vor afia pe ecran, separate
printr-un spaiu.
Exemplu: dac fiierul numere.txt are urmtorul coninut:
11
2 5 3 1 5 8 9 2 7 3 4
atunci pe ecran se va afia: 9 1.
(6p.)
Subiectul III
Varianta 44 - informatica
Care este instructiunea prin care variabilei ntregi x i se atribuie valoarea cifrei sutelor
numrului natural cu cel puin 4 cifre memorat n variabila ntreag y?
(4p.)
a. x=y%10/10;
b. x=y/10/10;
c. x=y%100;
d. x=y/100%10;
a)
Scriei numrul care se afieaz dac se citete scrie y
valoarea 274.
(6p.)
b)
Scriei un numr natural de 3 cifre care poate fi citit pentru variabila x, astfel nct, la finalul
executrii algoritmului s se afieze valoarea 1111.
(4p.)
c)
d)
(10p.)
0
1
0
(4p.) 0
1
2.
a.
b.
c.
c.
0 0 1
1 0 0
0 1 1
0 0 1
0 0 0 I
Subiectul
a.
b.
1
0
0
1
0
d.
d.
4.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii si n coloane, format din numere naturale
nenule mai mici sau egale cu n, astfel nct s nu existe dou linii cu aceeai sum a
elementelor i nici dou coloane cu aceeai sum a elementelor.
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a ecranului, cu un
spaiu ntre elementele fiecrei linii.
Exemplu: dac n=3 atunci o soluie posibil este urmtoarea matrice:
1 1 1
1 1 2
1 2 3
(10p.)
Varianta 44 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
a.
b.
c.
d.
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.)
int minim(int x,int y,int m)
void minim(int x,int y,int &m)
int minim(int x,int y)
void minim(int x,int y,int m)
4.
Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a
doua linie, separate prin cte un spaiu, n numere naturale formate din cel mult dou cifre.
a) Scriei un program C/C++ care determin n mod eficient, din punct de vedere al timpului
de executare, toate numerele coninute de a doua linie a fiierului care apar de cel puin
dou ori n acest linie. Programul va afia pe ecran numerele determinate, o singur dat,
n ordine crescatoare, pe aceeai linie, separate prin cte un spaiu.
Exemplu: dac fiierul numere.txt are urmtorul coninut:
44 2 54 74 2 44 9 2
atunci pe ecran se va afia: 2 44
(6p.)
Subiectul III
Varianta 45 - informatica
Care este instruciunea prin care variabilei x i se atribuie numrul obinut prin inversarea
ordinii cifrelor numrului natural format din exact 2 cifre, memorat n variabila ntreag y?(4p.)
a. x=y/10*10+y%10;
b. x=y%10*10+y/10;
c. x=y%10+y/10*10;
d. x=y%10+y/10;
d)
0 0 1
1 1 0
0 1 1
1 0 1
1 1 0 I
Subiectul
2.
a.
b.
c.
c.
0
0
1
1
0
a.
b.
0
0
0
0
1
d.
d.
4.
5.
Varianta 45 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Utiliznd metoda backtracking se genereaz toate cuvintele de cte 3 litere din mulimea
{a,b,c}. Dac primele patru cuvinte generate sunt, n acest ordine: aaa, aab, aac,
aba, care este cel de-al optulea cuvnt generat?
(4p.)
b. acc
c. aca
d. bca
a. acb
4.
Fiierul text numere.txt conine pe prima linie un numr natural n (0<n<100000), iar pe a
doua linie, separate prin cte un spaiu, n numere naturale formate din cel mult 2 cifre.
a) Scriei un program C/C++ care afieaz pe ecran, n mod eficient din punct de vedere al
timpului de executare, toate numerele situate pe a doua linie a fiierului, n ordinea
cresctoare a valorilor lor, separate prin cte un spaiu. Dac un numr apare n fiier de
mai multe ori el va fi afiat o singur dat.
Exemplu: dac fiierul numere.txt are urmtorul coninut:
7
12 21 22 11 9 12 3
atunci pe ecran se va afia: 3 9 11 12 21 22
(6p.)
Subiectul III
Varianta 46 - informatica
Variabila ntreag n memoreaz un numr natural impar. Care dintre urmtoarele expresii
C/C++ are valoarea 1?
(4p.)
a. !(n%2)
b. n%2==0
c. n%2!=0
d. !((n+1)%2==0)
(6p.)
Care dintre urmtoarele propoziii este fals pentru graful orientat G dat 0 1 1 0 0
prin matricea de adiacen alturat?
(4p.)
0 0 1 1 0
0 0 0 1 1
1 1 Subiectul
0 0 0 I
0 0 0 1 0
a.
c.
2.
a.
b.
c.
d.
Care sunt nodurile de tip frunz ale arborelui cu rdcin, cu 9 noduri, numerotate de la 1 la 9,
al crui vector de tai este (6, 6, 8, 8, 7, 7, 0, 7, 7)?
(6p.)
4.
Notm cu Push(x) operaia prin care se introduce ntr-o stiv valoarea x, iar cu Pop
operaia prin care se extrage un element din stiv.
5.
a) Cte elemente are stiva, iniial vid, dup executarea secvenei urmtoare de instruciuni?
Push(8); Push(2); Push(4); Pop; Push(3); Pop; Pop;
(3p.)
b) Care este suma acestor elemente rmase n stiv?
(3p.)
Se consider un text format doar din spaii i litere mici ale alfabetului englez, care ncepe
cu o liter i care conine cel puin o vocal din multimea {a,e,i,o,u}. Scriei programul
C/C++ care citete de la tastatur un ir cu cel mult 100 de caractere, ca cel descris mai
sus i care determin transformarea acestuia prin nlocuirea fiecrei vocale din text cu litera
imediat urmtoare din alfabet (a se nlocuiete cu b, e se nlocuiete cu f .a.m.d.).
Programul va afia pe ecran irul obinut.
Exemplu: dac irul citit este examen de bacalaureat, dup modificare se afieaz:
fxbmfn df bbcblbvrfbt
(10p.)
Varianta 46 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Fiierul bac.txt conine pe prima linie un numr natural n (n100), iar pe a doua linie,
separate prin cte un spaiu, n numere naturale nenule, cu cel mult 4 cifre fiecare. Scriei
programul C/C++ care citete de la tastatur un numr natural k (k25), construiete n
memorie i afieaz pe ecran un tablou unidimensional ce conine, n ordinea n care au fost
citite, numerele de pe a doua linie a fiierului bac.txt care au cel puin k divizori.
Exemplu: dac k=5, iar fiierul are coninutul alturat, atunci 6
100 9 400 56 7 10
tabloul care se afieaz este:
100 400 56
(10p.)
4.
a) Scriei n limbajul C/C++ doar antetul subprogramului cifre, care prin intermediul
parametrului nr primete un numr natural de cel mult 9 cifre i furnizeaz prin intermediul
parametrilor nc i sc numrul de cifre i respectiv suma cifrelor din scrierea lui nr.
(4p.)
b) Scriei programul C/C++ care citete de la tastatur un numr natural n (10 n 109) i
verific, folosind apeluri utile ale subprogramului cifre, dac n scrierea n baza 10 a lui n
se gsete cel puin o cifr care s fie media aritmetic a celorlalte cifre din componena lui
n. Programul afieaz pe ecran mesajul DA n caz afirmativ i NU n caz contrar.
Exemplu: pentru n=27989 programul va afia mesajul DA, deoarece n scrierea lui n apare
cifra 7 care este media aritmetic a celorlalte cifre din scrierea lui n: 7=(2+9+8+9)/4.
Pentru n=7351 se va afia mesajul NU.
(6p.)
Subiectul III
Varianta 47 - informatica
c=2*a-b;
Care dintre urmtoarele variabile nu i modific valoarea n urma
executrii secvenei de instruciuni alturate, oricare ar fi valorile lor a=a-b; a=c-a;
iniiale? (a,b,c sunt variabile de tip int).
(4p.) b=2*a-c;
a. niciuna
c. doar a i c
b. doar c
d. doar a i b
c)
d)
a.
3 1 0 1 2
b.
2 0 1 1 2
c.
3 4 0 2 3
d.
al unui arbore cu
(4p.)
4 1 1 0 2
BACALAUREAT
2009 - INFORMATIC,
limbajul numerotate
C/C++
2.
Cele 5 vagoane,
din figura alturat,
de la
Specializarea
1 la Matematic-informatic
5, trebuie mutate de pe linia A pe linia B.
Subiectul I
5 3 4 2 1
b.
4 2 5 3 1
c.
3 2 4 1 5
d.
1 2 3 4 5
4.
printf(%s,strchr(s,a));
(6p.)
Scriei un program C/C++ care citete de la tastatur dou numere naturale nenule m i n
(m10, n10) i cele m*n elemente (numere naturale mai mici dect 100) ale unui tablou
bidimensional cu m linii, numerotate de la 1 la m, i n coloane, numerotate de la 1 la n;
programul construiete n memorie i afieaz pe ecran tabloul dup eliminarea liniilor de
rang impar.
24 25 26
se va afia:
Exemplu: pentru m=4 i n=3 i tabloul: 21 22 23
24 25 26
30 31 32
27 28 29
30 31 32
(10p.)
Varianta 47 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
Fiierul text bac.txt conine pe prima linie un numr natural n (n<100), iar pe a doua
linie, separate prin cte un spaiu, n numere naturale, mai mici dect 30000 fiecare.
Scriei un program C/C++ care citete de la tastatur un numr natural k (k<50) precum i
numerele din fiierul bac.txt i afieaz pe ecran, cu cte un spaiu ntre ele, toate
numerele de pe a doua linie a fiierului care sunt puteri ale lui k. Dac nu exist un
asemenea numr pe a doua linie a fiierului, se afieaz pe ecran mesajul NU. Un numr
natural x este putere a lui k dac exist un numr natural y astfel nct x=ky.
Exemplu: dac se citete de la tastatur 8
k=2, iar fiierul are coninutul alturat, atunci 32 56 317 809 256 2 1 60
pe ecran se afieaz numerele:
32 256 2 1
(10p.)
4.
a) Scriei n limbajul C/C++ doar antetul unui subprogram cif, care primete prin
intermediul primului parametru, nr, un numr natural cu cel mult 9 cifre i furnizeaz prin
intermediul celui de-al doilea parametru, s, suma cifrelor din scrierea lui nr.
(4p.)
b) Scriei programul C/C++ care citete de la tastatur un numr natural n (0<n<25), apoi
un ir de n numere naturale nenule cu cel mult 9 cifre fiecare i care afieaz pe ecran,
separate prin cte un spaiu, numerele din ir care au suma cifrelor maxim, folosind apeluri
utile ale subprogramului cif.
Exemplu: dac pentru n=8 se citete irul de numere 274 56018 354 8219 293 287
932 634 atunci, pe ecran, se afieaz numerele 56018 8219.
(6p.)
Subiectul III
Varianta 48 - informatica
1.
care trebuie citite pentru variabila x, astfel nct setul ct timp nr>0 execut
de valori afiate n urma executrii algoritmului s fie xx*10+nr%10
identic cu setul de valori citite pentru x .
(4p.) nr[nr/10]
c)
Scriei n pseudocod un algoritm echivalent cu cel dat, n
care s se nlocuiasc structura pentru...execut cu scrie x
o structur repetitiv cu test final.
(6p.)
d)
1 2 4 5 3
2.
a.
s1, s2, s3
caractere
c.
b.
4 2 5 3 1
c.
2 1 4 3 5
1 2 3 4 5
d.
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
3.
4.
5.
Varianta 48 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
int f(int x)
{
if(x%3==0) return 0;
(4p.)
else
return 1+f(x/3);
}
c. 3
d. 4
a. 1
b. 2
Se genereaz prin metoda backtracking mulimile distincte ale cror elemente sunt numere
naturale nenule i care au proprietatea c suma elementelor fiecrei mulimi este egal cu
7. Astfel, sunt generate, n aceast ordine, mulimile: {1,2,4}, {1,6}, {2,5}, {3,4},
{7}. Folosind aceeai metod pentru a genera mulimile distincte ale cror elemente sunt
numere naturale nenule i care au proprietatea c suma elementelor fiecrei mulimi este
egal cu 9, stabilii n ce ordine sunt generate urmtoarele mulimi: M1={2,3,4};
M2={3,6}; M3={2,7}; M4={4,5}.
(6p.)
3.
Se consider subprogramul cmdiv care primete prin parametrii x i y dou valori ntregi
pozitive (0<x<100 i 0<y<100) i returneaz cel mai mare divizor comun al lor.
a) Scriei doar antetul subprogramului cmdiv.
(4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n ( 1 n 100),
determin, utiliznd apeluri utile ale subprogramului cmdiv, i afieaz pe ecran numrul
fraciilor ireductibile de forma
doar dou
(6p.)
Fiierul text bac.in conine pe prima linie un numr natural n (0<n<5000), iar pe a doua
linie, separate prin cte un spaiu, n numere naturale, formate din cel mult 4 cifre fiecare.
Scriei un program C/C++ care determin i scrie n fiierul bac.out toate numerele de pe
a doua linie a fiierului care apar o singur dat pe aceast linie. Numerele determinate se
vor afia n ordinea cresctoare a valorilor lor, separate prin cte un spaiu.
Exemplu: dac pe prima linie a fiierului bac.in se afl 10, iar pe linia a doua se gsesc
numerele 2 4548 568 4548 57 89 5974 2 89 32 atunci valorile cutate sunt 32 57
568 5974.
(10p.)
Subiectul III
Varianta 49 - informatica
Variabila a, de tip int, memoreaz un numr natural impar, iar variabila b, de tip int,
memoreaz un numr natural par. Care dintre urmtoarele expresii C/C++ are valoarea 1? (4p.)
b. !(!(a%2) || b%2)
a. a%2 && b%2
d. !(a%2) || b%2
c. (a+b+1)%2
citete x
(numr natural nenul)
k0
ct timp x0 execut
kk*10+x%10
x[x/10]
ct timp k0 execut
xx*10+k%10
k[k/100]
scrie x
Subiectul I
Specializarea Matematic-informatic
a.
4 1 1 4
2.
Fiind dat un tablou bidimensional cu 20 linii i 20 coloane, cte elemente se gsesc strict
deasupra diagonalei secundare a tabloului?
(4p.)
a.
180
b.
b.
1 4 4 1
200
c.
c.
1 4 1 4
190
d.
d.
5 2 1 4
210
4.
5.
(3p.)
(3p.)
Un cuvnt s, de cel mult 20 caractere, format doar din litere mici ale alfabetului englez,
conine cel puin o consoan. Scriei programul C/C++ care citete de la tastatur cuvntul
s, construiete n memorie i afieaz pe ecran cuvntul obinut prin eliminarea tuturor
consoanelor din cuvntul s. Se consider consoan oricare liter care nu se afl n
mulimea {a, e, i, o, u}.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: aaauea (10p.)
Varianta 49 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
4.
Se consider subprogramul cmax care prin parametrul a primete un numr natural nenul
mai mic dect 30000, iar prin parametrul b furnizeaz cifra maxim din numrul a.
a) Scriei, folosind limbajul C/C++, doar antetul subprogramului cmax.
(4p.)
b) Fiierul bac.txt conine cel mult 1000 numere naturale nenule, mai mici dect 30000
fiecare, separate prin cte un spaiu. Scriei programul C/C++ care citete din fiierul
bac.txt toate numerele i care determin cea mai mare cifr din scrierea lor folosind
apeluri utile ale subprogramului cmax. Cifra determinat se va afia pe ecran.
Exemplu: dac fiierul bac.txt conine valorile: 23 12 64 12 72 345 67 23 71 634
atunci pe ecran se afieaz 7.
(6p.)
Subiectul III
Varianta 50 - informatica
1.
a.
2.
1 2
Elementele tabloului bidimensional din figura alturat, cu 4 linii
i 4 coloane, sunt toate numerele naturale cuprinse ntre 1 i 16 12 13
aezate n spiral, ncepnd cu primul element al primei linii i 11 16
continund n sens invers trigonometric ca n figur. Care este cel 10 9
mai mare numr situat n zona triunghiular de sub diagonala
secundar (exclusiv diagonala secundar), n cazul unui tablou
bidimensional cu 5 linii i 5 coloane generat dup aceeai
regul?
(4p.)
a.
16
b.
b.
Subiectul I
15
c.
c.
25
d.
d.
3
3
14
15
8
4
5
6
7
22
4.
struct carte
{char titlu[20];
Scriei instruciunile prin care n variabila x vor fi int nr_pag;
reinute titlul romanului Mara i numrul de 325 }x;
de pagini pe care acesta l are.
(6p.)
5.
Scriei programul C/C++ care citete de la tastatur un cuvnt s de cel mult 20 litere mici ale
alfabetului englez, construiete n memorie i afieaz pe ecran cuvntul s dup eliminarea
primei i a ultimei vocale. Cuvntul s conine cel puin dou vocale. Se consider vocale literele:
a, e, i, o, u.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: bcalauret
(10p.)
Varianta 50 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
3.
Se genereaz n ordine strict cresctoare toate numerele de cte ase cifre care conin:
cifra 1 o singur dat, cifra 2 de dou ori i cifra 3 de trei ori. Se obin, n aceast ordine,
numerele: 122333, 123233, 123323, 123323 etc.
a) Care este ultimul numr generat?
(3p.)
(3p.)
Se consider subprogramul divxy care primete prin parametrii x i y dou valori ntregi
pozitive (0<x<1000 i 0<y<1000) i returneaz valoarea 1 dac y este divizor al lui x sau
x este divizor al lui y i 0 n caz contrar.
a) Scriei definiia complet a subprogramului divxy.
(4p.)
b) Scriei un program C/C++ care citete de la tastatur trei numere naturale nenule a, b i
n, cu cel mult 3 cifre fiecare i care afieaz pe ecran toi divizorii lui n din intervalul nchis
determinat de a i b folosind apeluri utile ale subprogramului divxy. Intervalul nchis
determinat de a i b este [a,b] dac a<b sau [b,a] dac ba. Numerele afiate sunt
separate prin cte un spaiu. Dac nu exist niciun astfel de numr se afieaz mesajul
NU EXISTA.
Exemplu: pentru a=85, b=10 i n=40 se afieaz: 10 20 40 (nu neaprat n aceast
ordine).
(6p.)
4.
Fiierul bac.in conine pe prima linie un numr natural n (0<n<5000), iar pe a doua linie,
separate prin cte un spaiu, n numere naturale, formate din cel mult 4 cifre fiecare.
Scriei un program C/C++ care determin i scrie n fiierul bac.out, toate numerele, citite
de pe a doua linie a fiierului bac.in, care apar de cel puin dou ori. Numerele
determinate se vor scrie n ordine cresctoare, pe aceeai linie, separate prin cte un
spaiu.
Exemplu: dac fiierul bac.in conine pe prima linie numrul 11, iar pe linia a doua
valorile 23 12 54 12 78 345 67 23 78 934 23
atunci fiierul bac.out va conine: 12 23 78
(10p.)
Subiectul III
Varianta 51 - informatica
Variabila ntreag x memoreaz un numr natural cu exact 4 cifre. Care dintre urmtoarele
instruciuni C/C++ determin, n urma executrii, eliminarea cifrei sutelor numrului
memorat de variabila x?
(4p.)
a. x=x%10+x/10+x/1000;
b. x=x%1000*100+x/100;
c. x=x%1000+x%100+x%10;
d. x=x/1000*100+x%100;
citete x
elev{
char nume[10],prenume[20];
float medie;
}p;
Subiectul I
a.
p.nume[1]
b.
p.nume[0]
c.
p.nume
d.
nume[1]
2.
a.
4, 2, 6, 4, 2
b.
2, 2, 1, 2, 2
c.
1, 1, 1, 1, 1
d.
4, 3, 3, 4, 4
4.
5.
Varianta 51 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Care este antetul corect al subprogramului cifre, care primete prin intermediul primului
parametru, x, un numr natural i returneaz prin intermediul celui de-al doilea parametru,
y, suma cifrelor numrului natural x?
(4p.)
b. int cifre(int x)
a. void cifre(int x, int &y)
d. int cifre(int &x, int y)
c. void cifre(int x, int y)
3.
Se consider un numr natural nenul, x, avnd exact 8 cifre, distincte dou cte dou;
printre cifrele sale se gsete i cifra 0. Permutnd cifrele lui x, se obin alte numere
naturale.
a) Cte dintre numerele obinute, inclusiv x, au exact 8 cifre?
(3p.)
(3p.)
(4p.)
b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a
doua linie n numere naturale mai mari dect 1, separate prin cte un spaiu, fiecare numr
avnd maximum 4 cifre. Scriei un program C/C++ care citete toate numerele din fiierul
date.in i afieaz pe ecran suma obinut adunnd, pentru fiecare dintre cele n numere
citite de pe a doua linie din fiier, cel mai mic divizor prim. Se vor utiliza apeluri utile ale
subprogramului divizor.
Exemplu: dac fiierul date.in are coninutul alturat, se 6
va afia 20 (20=2+5+2+7+2+2).
(6p.) 16 25 6 77 10 4
4.
Subiectul III
Varianta 52 - informatica
Crui interval i aparine valoarea memorat de variabila real x astfel nct expresia
urmtoare, scris n limbajul C/C++, s aib valoarea 1?
(x<=-2) || (x>-1) && !(x>=1) || (x>50)
(4p.)
b. (-,-2) (-1,50)
a. (-,-2] (-1,1) (50, )
d. (-,-2) (-1,1) (50, )
c. (-,-2) (-1,1] (50, )
a.
m=(x.nota1+x.nota2)/2;
b.
m=(nota1+nota2)/2;
c.
x.m=(x.nota1+x.nota2)/2;
d.
m=(x,nota1+x,nota2)/2;
2.
a.
b.
c.
d.
4.
5.
Scriei un program C/C++ care citete de la tastatur o fraz avnd maximum 100 de
caractere, n care cuvintele sunt separate prin cte un spaiu; programul construiete n
memorie i afieaz pe ecran un ir ce conine doar primul caracter al fiecruia dintre
cuvintele frazei, n ordinea n care acestea apar n fraz, ca n exemplu.
Exemplu: dac se citete fraza
Ana sustine bacalaureatul la informatica
atunci se va afia Asbli
(10p.)
Varianta 52 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
(4p.)
b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a
doua linie n numere naturale, separate prin cte un spaiu, fiecare numr avnd maximum 8
cifre. Scriei un program C/C++ care citete toate numerele din fiier i afieaz pe ecran,
desprite prin cte un spaiu, numerele de pe a doua linie a fiierului date.in, ce au toate
cifrele cu aceeai paritate, folosind apeluri utile ale subprogramului dist. n cazul n care nu
exist niciun astfel de numr se va afia, pe ecran, valoarea -1.
Exemplu: dac fiierul date.in are coninutul 6
16 1775 333 242477 123 55566
alturat, atunci se vor afia numerele:
1775 333 (nu neaprat n aceast ordine)
(6p.)
4.
Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n100) i
apoi n numere naturale, de maximum 4 cifre fiecare, reprezentnd elementele unui tablou
unidimensional. Programul afieaz mesajul Da n cazul n care elementele tabloului pot fi
rearanjate astfel nct s formeze un ir strict cresctor, iar n caz contrar afieaz mesajul
Nu.
Exemplu: dac n=6 i tabloul unidimensional are 54 162 2 18 486 6
coninutul alturat, atunci se va afia Da.
(10p.)
Subiectul III
Varianta 53 - informatica
Variabila ntreag x memoreaz un numr natural. Care dintre urmtoarele expresii C/C++
are valoarea 0 dac i numai dac numrul memorat de x NU este divizibil cu 3?
(4p.)
a. x%3
b. (1-x%3)+(2-x%3)
c. (1-x%3)*(2-x%3)
d. 3-x%3
b)
c)
d)
citete x
(numr natural nenul)
z0
p1
repet
cx%10
dac c%20 atunci
zz+c*p
pp*10
x[x/10]
pn cnd x = 0
scrie z
Specializarea Matematic-informatic
a.
2.
a.
2, 3, 1, 1, 1
b.
2, 2, 6, 5, 1
c.
1, 0, 1, 1, 1, 1
d.
1, 1, 0, 2, 1
b.
c.
d.
4.
5.
(10p.)
Varianta 53 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
2.
3.
(4p.)
b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a
doua linie un ir format din n numere naturale nenule, separate prin cte un spaiu, fiecare
numr avnd maximum 8 cifre. Scriei un program C/C++ care citete toate numerele din
fiierul text date.in i afieaz pe ecran numrul perechilor de elemente aflate pe poziii
consecutive n irul format cu elementele situate pe a doua linie a fiierului, care sunt prime
ntre ele, folosind apeluri utile ale subprogramului cmmdc.
Exemplu: dac fiierul date.in are coninutul alturat, se va 7
afia 4 pentru c pechile (16,25), (12,7), (7,4), (4, 5) 16 25 15 12 7 4 5
sunt formate din numere prime intre ele.
(6p.)
4.
20
30
49
10
30
49
10
20
49
10
20
30
(10p.)
Subiectul III
Varianta 54 - informatica
Crui interval i aparine valoarea memorat de variabila real x astfel nct expresia
urmtoare, scris n limbajul C/C++, s aib valoarea 1?
!((x<=1) || (x>50))
(4p.)
a. (1,50)
b. (-,1] (50, )
c. [1,50)
d. (1,50]
c)
Scriei n pseudocod un algoritm echivalent cu
cel dat, n care s se nlocuiasc structura
scrie s
repetitiv pentru...execut cu o structur
repetitiv cu test final.
(6p.)
d)
Scriei programul
algoritmului dat.
C/C++
corespunztor
(10p.)
28
b.
a.
BACALAUREAT
2009 - INFORMATIC,
limbajul C/C++ c.
Specializarea
Matematic-informatic
2.
Se consider
graful orientat din figura
45
d.
56 Subiectul I
d.
a.
b.
c.
4.
5.
Varianta 54 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
(4p.)
b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe
a doua linie n numere naturale nenule, separate prin cte un spaiu, fiecare numr avnd
minimum 2 cifre i maximum 8 cifre. Scriei un program C/C++ care citete toate
numerele din fiierul text date.in i afieaz pe ecran, desprite prin cte un spaiu,
pentru fiecare dintre cele n numere, cel mai apropiat numr palindrom, folosind apeluri utile
ale subprogramului pal.
Exemplu: dac fiierul date.in are coninutul alturat, atunci 4
se vor afia numerele: 11 1771 333 191
(6p.) 16 1775 333 190
4.
Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n<=100)
i apoi cele n numere naturale nenule, de maximum 4 cifre, reprezentnd elementele unui
tablou unidimensional v (cu indici de la 1 la n) i afieaz cte dintre elementele vi
(2in-1) sunt egale cu suma celor dou elemente vecine. n cazul n care nu exist
niciun astfel de element n tabloul v, se va afia valoarea 0.
Exemplu: dac n=7 i tabloul unidimensional v are 10 25 15 45 30 2 1
coninutul alturat, atunci se va afia valoarea 2
(deoarece 25=10+15, 45=15+30). (10p.)
Subiectul III
Varianta 55 - informatica
C/C++
!((x>=5)&&(x<10))
este
(4p.)
a. (x<5) || (x>=10)
b. (x<5) || (x>10)
d. (x>=5) || (x<10)
b)
c)
d)
citete n
(numr natural nenul)
citete a
(numr natural)
k0
pentru i2,n execut
citete b
(numr natural)
dac a%10=b%10 atunci
kk+1
altfel
kk-1
ab
scrie k
a.
p->y=p->y+1;
b.
p=9;
Subiectul I
p=p+1;
2.
Variabila n memoreaz un numr natural nenul. Care este numrul total de grafuri orientate
distincte care se pot forma cu aceste noduri? Dou grafuri orientate sunt distincte dac
matricele lor de adiacen sunt diferite.
(4p.)
a.
4n*(n-1)/2
b.
3n*(n-1)/2
c.
n*(n-1)
d.
2n*(n-1)/2
for (i=0;i<=8;i++)
if( a[i][9-i]<a[i+1][8-i])
{aux=a[i][9-i];
a[i][9-i]=a[i+1][8-i];
Ce valori se afieaz n urma executrii
a[i+1][8-i]=aux;}
secvenei alturate dac liniile i coloanele
tabloului bidimensional sunt numerotate de la cout<<a[0][9]<< <<a[9][0];
0 la 9 i iniial fiecare linie a tabloului conine, |printf(%d %d,a[0][9],a[9][0]);
de la stnga la dreapta, n ordine
descresctoare, toate numerele naturale, de
la 10 la 1?
(6p.)
Considerm urmtoarele declarri:
int i,aux,a[10][10];
4.
5.
Scriei un program C/C++ care citete de la tastatur un ir format din maximum 100
caractere, construiete n memorie i afieaz un nou ir de caractere obinut din irul iniial
prin eliminarea tuturor caracterelor care nu sunt caractere cifr. n cazul n care noul ir are
lungimea 0 se va afia mesajul ir vid.
Exemplu: dac se citete de la tastatur irul de caractere.
Ana are 17 ani .
atunci irul cerut este:
17
(10p.)
Varianta 55 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Utiliznd metoda backtracking se genereaz toate matricele ptratice de ordinul 4 ale cror
elemente aparin mulimii {0,1}, cu proprietatea c pe fiecare linie i pe fiecare coloan
exist o singur valoare 1. Primele 4 soluii generate sunt, n aceast ordine:
1
0
0
0
1 0 0 0
1 0 0 0
0 1 0 0
0 1 0 0
0 0 0 1
0 0 1 0
0 0 1 0
0 0 0 1
Care este a opta soluie?
a. 0 1 0 0
b. 0 1 0 0
1 0 0 0
1 0 0 0
0 0 0 1
0 0 1 0
0 0 1 0
0 0 0 1
0
0
1
0
0
1
0
0
0
0
0
1
c. 0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
(4p.)
0
0
0
1
d. 0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
(4p.)
b) Se consider fiierul text date.in ce conine pe prima linie un numr natural nenul n
(n100), iar pe a doua linie n numere naturale, separate prin cte un spaiu, fiecare numr
avnd maximum 8 cifre nenule. Scriei un program C/C++ care citete toate numerele din
fiierul text date.in i afieaz pe ecran, desprite prin cte un spaiu, numerele situate
pe a doua linie a fiierului, formate numai din cifre ordonate cresctor, folosind apeluri utile
ale subprogramului cifre. n cazul n care nu exist niciun astfel de numr se va afia
valoarea 0.
Exemplu: dac fiierul date.in are coninutul alturat, 6
atunci se vor afia numerele: 16 333 269
(6p.)
16 175 333 242477 321 269
4.
Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n100)
i 2*n numere naturale de maximum 3 cifre; primele n reprezint elementele tabloului
unidimensional a, iar urmtoarele n elementele tabloului unidimensional b; fiecare tablou
are elementele numerotate ncepnd de la 1. Programul construiete n memorie i afieaz
pe ecran, separate prin cte un spaiu, cele n elemente ale unui tablou unidimensional c, n
care orice element ci (1in) se obine conform definiiei urmtoare:
ai concatenat cu bi, dac ai< bi
ci = bi concatenat cu ai, altfel
Subiectul III
Varianta 56 - informatica
Variabilele ntregi x i y memoreaz cte un numr natural nenul. Cel mai mic multiplu
comun al valorilor lor este egal cu numrul memorat n y dac i numai dac urmtoarea
expresie C/C++ are o valoare nenul:
(4p.)
a. y%x
b. y%x==0
c. x%y
d. x%y==0
Variabila x este utilizat pentru a memora numele, prenumele i salariul unei persoane.
Numele i prenumele pot avea cel mult 20 de litere fiecare, iar salariul este un numr
natural nenul mai mic dect 30000 . Care dintre urmtoarele declarri este corect? (4p.)
BACALAUREAT
2009 - INFORMATIC, limbajul C/C++b.
float x[3][21];
a.
Specializarea Matematic-informatic
Subiectul I
int x[3][21];
c.
struct persoana{
char nume[21],prenume[21];
int sal;} x;
2.
Dac G este un graf neorientat cu 4 noduri, atunci numrul maxim de muchii pe care le
poate avea graful este:
(4p.)
a.
b.
d.
c.
struct persoana[
char nume[21],prenume[21];
int sal;] x;
d.
4.
Scriei o expresie C/C++ care s fie nenul dac i numai dac variabila c de tip char este
o liter mic a alfabetului englez.
(6p.)
5.
Varianta 56 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Se genereaz toate numerele naturale cu exact 2 cifre nenule. Cte numere se vor genera
n total?
(4p.)
b. 81
c. 90
d. 9
a. 100
2.
3.
Fiierul text numere.txt conine, pe o singur linie, cel mult 1000 de numere naturale
nenule de cel mult patru cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un
program C/C++ care citete toate numerele din fiierul numere.txt, creeaz fiierul text
pare.txt i scrie pe prima lui linie, separate prin cte un spaiu, toate numerele pare
citite, n ordinea n care acestea apar n fiierul numere.txt. Dac fiierul numere.txt nu
conine niciun numr par, atunci n fiierul pare.txt se va scrie mesajul nu exista.
Exemplu:
numere.txt
pare.txt
2 3 1 4 7 2 5 8 6
2 4 2 8 6
(10p.)
4.
(4p.)
b) Scriei programul C/C++ care citete de la tastatur dou numere naturale nenule de
cel mult 4 cifre, a i b, i prin apeluri utile al subprogramului numar se verific dac
intervalul determinat de a i b conine cel puin un numr prim. Programul va afia pe ecran
n caz afirmativ mesajul DA, iar n caz contrar mesajul NU. Prin intervalul determinat de a i
b se nelege intervalul [a,b] dac a<b i [b,a] n caz contrar.
(6p.)
Subiectul III
Varianta 57 - informatica
a. x%10+y%10==0
b. y%10==x%10
c. x+y%10==0
d. (x%10+y%10)%10==0
ii+3
scrie q
a)
b)
c)
Scriei
programul
algoritmului dat.
d)
C/C++
corespunztor
(10p.)
Variabila t este utilizat pentru a memora valoarea i numele autorului unei cri. Valoarea
crii este un numr natural de cel mult 3 cifre, iar numele autorului nu poate avea mai mult
de 20 de litere. Care dintre urmtoarele declarri este corect?
(4p.)
struct 2009
carte{
int val;char
BACALAUREAT
- INFORMATIC,
limbajulnume;}
C/C++ t;
a.
Specializarea Matematic-informatic
Subiectul I
b.
c.
d.
2.
Care dintre urmtoarele afirmaii este adevrat pentru orice graf neorientat G cu 3 noduri
i 3 muchii?
(4p.)
a.
este conex
b.
c.
d.
(3p.)
(3p.)
4.
5.
Varianta 57 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Se utilizeaz metoda backtracking pentru a genera cuvintele de cte patru litere distincte din
mulimea {d,a,n,s}. tiind c primul cuvnt generat este dans, iar al doilea este dasn, care
va fi al treilea cuvnt obinut?
(4p.)
b. dsan
c. dnsa
d. dsna
a. dnas
2.
Se consider subprogramul f,
definit alturat. Ce se va afia la
apelul f(38);?
(6p.)
3.
Fiierul text INTRARE.TXT conine pe prima linie o valoare natural n (1<n<100), iar pe a
doua linie, separate prin cte un spaiu, n numere naturale distincte, cu cel mult patru cifre.
Scriei un program C/C++ care creeaz fiierul text IESIRE.TXT i scrie n el, pe prima
linie, separate prin spaiu, toate valorile obinute ca sum de dou elemente distincte aflate
pe linia a doua n fiierul INTRARE.TXT.
Exemplu: dac fiierul INTRARE.TXT are urmtorul coninut:
4
1 4 3 2
atunci fiierul IESIRE.TXT va conine numerele:
5 4 3 7 6 5 (nu neaprat n aceast ordine)
(10p.)
4.
(4p.)
b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur trei
numere naturale nenule x, y, z, de cel mult 4 cifre fiecare, (xy), i care, prin apeluri utile
ale subprogramului multiplu, verific dac intervalul [x,y] conine cel puin un multiplu
al lui z. Programul va afia pe ecran, n caz afirmativ, mesajul DA, iar n caz contrar mesajul
NU.
(6p.)
Subiectul III
Varianta 58 - informatica
tiind c variabila ntreag n memoreaz un numr natural cu cel puin 3 cifre, care dintre
urmtoarele expresii C/C++ are ca valoare numrul obinut dup eliminarea ultimelor 2
cifre ale lui n?
(4p.)
a. n%10/10
b. n%10
c. n/100
d. n/10%10
b)
c)
d)
(6p.)
n[n/5]
scrie q
b.
struct carte{
int nr;
char titlu[21];
} t;
d.
struct carte{
long nr,titlu;
} t;
float nr,titlu;
} t;
c.
struct carte{
char nr; int titlu;
} t;
2.
a.
b.
c.
d.
5.
Varianta 58 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
2.
3.
Fiierul text bac.txt conine, pe o singur linie, cel puin 2 i cel mult 100 de numere
naturale nenule distincte de cel mult 4 cifre fiecare, numerele fiind separate prin cte un
spaiu. Scriei un program C/C++ care citete numerele din fiier i scrie pe ecran, n ordine
cresctoare, separate prin spaiu, cele mai mici dou numere dintre cele citite.
Exemplu: dac fiierul bac.txt conine numerele:
1017 48 310 5710 162
atunci se va afia: 48 162
(10p.)
4.
(4p.)
Subiectul III
Varianta 59 - informatica
Fiecare dintre variabilele ntregi x, y i t memoreaz cte un numr natural de cel mult 4
cifre. tiind c x<y, care dintre urmtoarele expresii C/C++ este egal cu 1 dac i numai
dac numrul memorat de variabila t aparine intervalului nchis [x,y]?
(4p.)
c. (t>=x) || (t<=y)
d. (t<x) || (t>y)
d)
(10p.)
a.
strlen(s)<10
b.
BACALAUREAT
2009 - INFORMATIC, limbajul C/C++
leng(s)<10
d.
c.
Specializarea Matematic-informatic
strlen(s,10)<0
s-0<10
Subiectul I
2.
Care dintre urmtoarele afirmaii este adevrat? Orice graf neorientat cu 4 noduri i 4
muchii :
(4p.)
a.
b.
nu are cicluri
c.
este conex
d.
este arbore
4.
5.
Varianta 59 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
Fiierul text bac.txt conine, pe o singur linie, cel puin 2 i cel mult 100 de numere
naturale nenule distincte de cel mult 4 cifre fiecare, numerele fiind separate prin cte un
spaiu. Scriei un program C/C++ care citete toate numerele din fiier i scrie pe ecran
ultima cifr a produsului celor mai mari dou numere dintre cele citite.
Exemplu: dac fiierul bac.txt conine numerele:
1017 48 312 5742 162
atunci se va afia: 4 (ultima cifr a produsului numerelor 1017, 5742)
(10p.)
4.
(4p.)
Subiectul III
Varianta 60 - informatica
Fiecare dintre variabilele ntregi x, y i t memoreaz cte un numr natural de cel mult 4
cifre. tiind c x<y, care dintre urmtoarele expresii C/C++ este egal cu 1 dac i numai
dac numrul memorat de variabila t nu aparine intervalului deschis (x,y)?
(4p.)
a. (t<=x) || (t>=y)
b. (t>x) || (t<y)
d)
a.
s-2==0
b.
BACALAUREAT
2009 - INFORMATIC, limbajul C/C++ d.
leng(s)%2
c.
Specializarea Matematic-informatic
strlen(s,2)=0
Subiectul I
strlen(s)%2==0
2.
Dac G este un graf neorientat cu 4 noduri i 2 componente conexe, atunci graful are cel
mult:
(4p.)
a.
4 muchii
b.
2 muchii
c.
3 muchii
d.
o muchie
Dac T este un arbore cu rdcin cu 100 de noduri, care este numrul minim de frunze pe
care le poate avea T?
(6p.)
4.
5.
Varianta 60 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Se utilizeaz metoda backtracking pentru a genera toate cuvintele care conin toate literele din
mulimea {i,n,f,o}, astfel nct fiecare liter s apar exact o dat ntr-un cuvnt; tiind c
primul cuvnt generat este info, iar al doilea este inof, care este ultimul cuvnt obinut? (4p.)
b. oinf
c. onif
d. ofin
a. ofni
2.
3.
Fiierul text bac.txt conine, pe prima sa linie, 100 de numere naturale de cel mult 4 cifre
fiecare, numerele fiind ordonate cresctor i separate prin cte un spaiu, iar pe a doua linie
un singur numr natural x. Scriei un program C/C++ care citete toate numerele din fiier i
verific dac x se afl n irul celor 100 de numere aflate pe prima linie a fiierului. n caz
afirmativ, se va afia pe ecran mesajul DA, altfel se va afia mesajul NU.
Exemple: dac fiierul bac.txt conine:
17 38 40 45 50 51 52 53 54 55 ... 145
52
atunci se va afia: DA ;
dac fiierul bac.txt conine:
2 11 15 16 20 25 30 35 40 ... 495
33
atunci se va afia: NU.
(10p.)
4.
(4p.)
b) Scriei programul C/C++ care citete de la tastatur un numr natural nenul de cel mult 4
cifre, n, i prin apeluri utile ale subprogramului radical, verific dac n este ptrat perfect.
Programul va afia pe ecran n caz afirmativ mesajul DA, iar n caz contrar mesajul NU. (6p.)
Subiectul III
Varianta 61 - informatica
Variabilele ntregi x i y memoreaz dou numere naturale cu cel mult 4 cifre fiecare. Care
dintre expresiile de mai jos are valoarea 1, dac i numai dac valoarea memorat de x
aparine intervalului [10,100] i valoarea memorat de y aparine intervalului [5,30]?
(4p.)
a.
2.
a.
c.
b.
Subiectul I
c.
d.
(3p.)
(3p.)
4.
Se consider o stiv, iniial vid, n care s-au introdus n ordine valorile x,z,y i o
coad, iniial vid, n care au fost introduse, n ordine, valorile a,b,c,d,e,f. Care va fi
elementul din vrful stivei dac se extrag toate elementele din coad i se adaug n
ordinea extragerii n stiv?
(6p.)
5.
Varianta 61 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
3.
Subprogramul cifra primete prin parametrul x un numr real nenul pozitiv i furnizeaz
prin parametrul y valoarea cifrei unitilor prii ntregi a lui x.
Exemplu: dac x=34.567, atunci valoarea furnizat de subprogram este 4.
a) Scriei definiia complet a subprogramului cifra.
(10p.)
b) Scriei un program C/C++ care citete de la tastatur dou numere reale cu cel mult dou
zecimale, numere reprezentnd mediile semestriale obinute de un elev. Programul stabilete,
folosind apeluri utile ale subprogramului cifra, dac cele dou medii citite se afl n aceeai
categorie de medii sau nu. Precizm c orice medie, n funcie de intervalul n care se
ncadreaz, face parte din una dintre categoriile: [3,3.99], [4,4.99], [5,5.99],
[6,6.99], [7,7.99], [8,8.99] sau [9,10]. n cazul n care ambele medii fac parte din
aceeai categorie, programul va afia mesajul Da, altfel va afia mesajul Nu.
(6p.)
4.
Scriei un program C/C++ care creeaz fiierul text SIR.TXT i scrie n el, n ordine
alfabetic, toate irurile formate din dou caractere distincte, litere mici ale alfabetului
englez. Fiecare ir va fi scris pe cte o linie a fiierului.
(4p.)
Subiectul III
Varianta 62 - informatica
algoritmul
alturat,
descris
Centrul
pentru
i Evaluare
nvmntul Preuniversitar
Scriei
n Naional
pseudocod
un Curriculum
algoritm echivalent
cuncel
dat n care structura ct timp...execut s fie
o structur
repetitiv
Subiectulnlocuit
II (30 decupuncte)
- Varianta
062cu test final. (6p.)
d)
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.
Subiectul I
a.
c.
2.
a.
cerc.x
b.
c.x
c.
c.cerc.x
d.
raza.x
1:
2:
3:
4:
5:
6:
2 6
3
3
4 6
3
4.
Se consider o stiv S1, iniial vid, n care s-au introdus n ordine valorile a,b,c,d i o
alt stiv S2, iniial vid, n care au fost introduse, n ordine, valorile e,f,g,h. Care va fi
valoarea elementului din vrful stivei S1 i care va fi valoarea elementului din vrful stivei
S2 dac se extrag jumtate dintre elementele din stiva S2 i se adaug, n ordinea
extragerii, n stiva S1?
(6p.)
5.
Scriei un program C/C++ care citete de la tastatur un text de cel mult 255 de caractere,
dintre care cel puin unul este o liter mic a alfabetului englez, i afieaz pe ecran pe o
singur linie, desprite prin cte un spaiu, toate literele mici ale alfabetului englez care
apar n text. Fiecare liter va fi afiat o singur dat, n ordinea primei ei apariii n text.
(10p.)
Exemplu: pentru textul:
Pe ecran se va afia:
Calculati valoarea expresiei
a l c u t i v o r e x p s
Varianta 62 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Scriei definiia complet a unui subprogram fibo cu doi parametri, n i v, care primete
prin intermediul parametrului n un numr natural (1<n<30) i returneaz prin intermediul
parametrului v un tablou unidimensional care conine primii n termeni impari ai irului lui
Fibonacci (amintim c irul lui Fibonacci este: 1,1,2,3,5,8,13,21,)..
(10p.)
4.
a) Fiierul date.in conine un ir de cel mult 10000 numere naturale (printre care cel puin
un numr par i cel puin un numr impar), cu cel mult dou cifre fiecare, separate prin cte
un spaiu. Scriei un program C/C++ care citete numerele din fiierul date.in i scrie n
fiierul text date.out valorile distincte citite, separate prin cte un spaiu, respectndu-se
regula: pe prima linie vor fi scrise numerele impare n ordine cresctoare, iar pe linia a doua
numerele pare, n ordine descresctoare. Alegei o metod eficient din punctul de vedere
al timpului de executare.
Exemplu: dac pe prima linie a fiierului date.in se afl numerele:
75 12 3 3 18 75 1 3
atunci fiierul date.out va conine:
1 3 75
18 12
(6p.)
Subiectul III
Varianta 63 - informatica
x[x/d]
b)
Pentru n=3 i d=2, scriei 3 valori distincte
care pot fi citite n ordine pentru x, astfel dac a>b atunci
ba
nct valorile afiate s fie 0 0.
(4p.)
vaux
c)
Scriei programul C/C++ corespunztor
algoritmului dat.
(10p.)
Ministerul Educaiei,
Cercetrii
i Inovrii
scrie
v, ,b
Centrul
Naional
pentru
Curriculum
i
Evaluare
n nvmntul Preuniversitar
Scriei un algoritm pseudocod echivalent cu
d)
cel dat n care
structura ct
timp...execut
fie nlocuit
cu o
Subiectul
II (30 de puncte) -s
Varianta
063
structur repetitiv cu test final.
(6p.)
2. Se consider algoritmul alturat, descris n
pseudocod.
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.
a.
b.
c.
2.
a.
c.
4.
5.
Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i
m(1n24, 1m24) i construiete n memorie un tablou bidimensional cu n linii i m
coloane format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va
afia pe ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un
spaiu. Exemplu: pentru n=5 i m=4 se va afia:
1 6
2 7
3 8
4 9
5 10
11
12
13
14
15
16
17
18
19
20
(10p.)
Varianta 63 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
(6p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n cu exact
6 cifre i, folosind apeluri utile ale subprogramului verif, verific dac n are primele trei
cifre impare. Programul afieaz pe ecran mesajul Da n caz afirmativ i mesajul Nu n caz
contrar.
Exemple: dac se citete n=132567 se va afia mesajul Nu, iar dac n=979243, se va
afia mesajul Da.
(4p.)
4.
Pentru un ir de numere naturale, numim nod al irului un termen din ir care are doi
vecini, termenul precedent i termenul urmtor din ir, i valoarea termenului respectiv este
strict mai mic dect suma valorilor celor doi vecini ai si.
Fiierul text date.in conine un ir de cel puin dou i cel mult 1000 de numere naturale
avnd maximum 6 cifre fiecare, numere separate prin cte un spaiu. Scriei un program
C/C++ care citete toate numerele din fiier i afieaz numrul de noduri ale irului citit.
Exemplu: dac fiierul date.in are urmtorul coninut:
51 20 100 43 43 618 5000 31 2020 114 116 4
atunci pe ecran se afieaz 6 (cele ase numere subliniate reprezint noduri ale irului).
(10p.)
Subiectul III
Varianta 64 - informatica
Variabila ntreag a memoreaz un numr natural format din exact trei cifre, toate cifrele
fiind nenule i distincte. Care dintre urmtoarele instruciuni C/C++ atribuie variabilei e
suma cifrelor lui a?
(4p.)
a.
e=a%10/10+a/100%10+a%10;
b.
e=a/10+a/100+a/1000;
c.
e=a*10/1000+a/10%10+a%10;
d.
e=a*10/1000+a%100%10+a%10;
exact 6 ori.
(4p.)
scrie k
c)
Scriei programul C/C++ corespunztor
algoritmului dat.
(10p.)
d)
Specializarea Matematic-informatic
a.
e.fig.tip
2.
a.
Suma elementelor de
principal a tabloului a
pe
diagonala b.
c.
d.
b.
a.e
c.
e.punct.x
d.
e.a.x
Suma elementelor de
secundar a tabloului a
pe
diagonala
2
1
1
2
3
3
3 4
2 4 5
3 5
4
3.
4.
5.
Scriei un program C/C++ care citete de la tastatur un text format din cel mult 200 de
litere ale alfabetului englez, n care cuvintele sunt separate printr-un singur spaiu i
afieaz pe ecran numrul de cuvinte din textul citit, care au prima, respectiv ultima liter,
vocal. n cazul n care n text nu exist un astfel de cuvnt, se va afia pe ecran mesajul
NU EXISTA. Se consider vocal orice liter din mulimea {a,A,e,E,i,I,o,O,u,U}.
Exemplu: dac textul introdus este:
Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani
pe ecran se va afia :
4
(10p.)
Varianta 64 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
3.
4.
Fiierul text date.in conine pe prima linie, separate prin cte un spaiu, cel mult 1000 de
numere naturale, fiecare dintre ele avnd maximum 9 cifre.
a) Scriei un program C/C++ care citete numerele din fiierul date.txt, determin i
afieaz pe ecran numrul de elemente ale celei mai lungi secvene ordonate strict
descresctor, formate din valori citite consecutiv din fiier. Alegei o metod de rezolvare
eficient din punctul de vedere al timpului de executare.
Exemplu: dac fiierul date.in conine
pe ecran se afieaz:
5 2 19 4 3 6 3 2 1 0 8
5
(6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri).
( 4p.)
Subiectul III
Varianta 65 - informatica
1.
a.
G nu este arbore
b.
2.
a.
(4p.)
b.
12
(4p.)
c.
15
d.
11
4.
Se consider o stiv S1, iniial vid, n care s-au introdus n ordine valorile a,b,c,d,e,f i
o alt stiv S2, iniial vid, n care au fost introduse, n ordine, valorile g,h. Care va fi
elementul din vrful stivei S1 i care va fi elementul din vrful stivei S2 dac se extrag
jumtate din elementele din stiva S1 i se adaug n ordinea extragerii n stiva S2?
(6p.)
5.
Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1n24, 1m24) i construiete n memorie un tablou bidimensional cu n linii i m coloane
format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va afia pe
ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un spaiu.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
(10p.)
Varianta 65 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
2.
3.
Subprogramul sfx primete prin singurul su parametru, x, un numr natural din intervalul
[100,2000000000] i returneaz valoarea 1 dac ultimele trei cifre ale numrului sunt n
ordine strict descresctoare sau valoarea 0 n caz contrar.
Exemplu: dac x=24973 se va returna valoarea 1.
a) Scriei definiia complet a subprogramului sfx.
(5p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n format din exact
6 cifre i verific, utiliznd apeluri ale subprogramului sfx, dac acest numr are toate
cifrele n ordine strict descresctoare. Programul va afia mesajul Da n caz afirmativ i
mesajul Nu n caz contrar.
Exemplu: dac n=756543 se va afia Nu, iar dac n=976532 se va afia Da.
(5p.)
4.
Pentru un ir de numere naturale, numim pol al irului un termen din ir care are doi vecini,
termenul precedent i termenul urmtor din ir, i valoarea termenului respectiv este strict
mai mare dect valoarea fiecruia dintre cei doi vecini ai si.
a) Fiierul text date.in conine un ir de cel puin dou i mult 10000 de numere naturale
avnd maximum 6 cifre fiecare, numere separate prin cte un spaiu. Scriei un program
C/C++ care citete toate numerele din fiier i afieaz numrul de poli ai irului citit,
folosind un algoritm eficient din punctul de vedere al memoriei utilizate.
(6p.)
Exemplu: dac fiierul date.in are urmtorul coninut:
51 20 100 43 43 618 5000 31 2020 114 116 4
atunci pe ecran se afieaz 4 (cele patru numere subliniate reprezint poli ai irului)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri).
(4p.)
Subiectul III
Varianta 66 - informatica
1.
n0
repet
citete x (numr natural)
dac x0 atunci
dac x%5=0 atunci
nn+1
altfel
nn-1
pn cnd x=0
dac n=0 atunci
scrie DA
altfel
scrie NU
a.
produs.denumire[0]
b.
denumire.p[0]
Subiectul I
P->denumire[0]
2.
Se consider un graf neorientat complet cu trei noduri. Care este numrul minim de muchii care
trebuie eliminate din acest graf astfel nct graful parial rezultat s aib dou componente
conexe?
(4p.)
a.
b.
c.
d.
4.
5.
Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50 de
caractere, litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate prefixele acestuia, n ordine cresctoare a lungimilor. Un prefix de lungime k al unui
cuvnt este un subir format din primele k caractere ale acestuia.
(10p.)
Exemplu: dac se citete cuvntul BACALAUREAT se vor afia prefixele:
B
BA
BAC
BACA
BACAL
BACALA
BACALAU
BACALAUR
BACALAURE
BACALAUREA
BACALAUREAT
Varianta 66 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
3.
4.
Fiierele text A.TXT i B.TXT conin cel mult 10000 de numere naturale cu cel mult 9 cifre
fiecare, scrise fiecare pe cte o linie.
a) Scriei un program C/C++ care citete numerele din cele dou fiiere i, printr-o metod
eficient din punct de vedere al timpului de executare i al spaiului de memorie utilizat,
afieaz pe ecran cte dintre numerele din fiierul A.TXT sunt strict mai mici dect toate
numerele memorate n fiierul B.TXT.
(6p.)
41111
Exemplu: dac fiierul A.TXT
iar fiierul B.TXT are coninutul 91111
are coninutul alturat,
alturat:
81111
91111
11111
61111
91111
91111
51111
91111
111111
81111
31111
61111
431111
91111
61111
201111
atunci programul va afia valoarea 4, deoarece 41111, 11111, 51111, 31111 sunt mai
mici dect toate elementele din fiierul B.TXT.
b) Descriei succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena
acesteia.
(4p.)
Subiectul III
Varianta 67 - informatica
1.
b)
c)
d)
scrie z
a.
p.nume[0]
b.
persoana.nume[0]
Subiectul I
nume.p[0]
2.
Se consider un graf neorientat cu patru noduri n care fiecare nod are gradul 2. Care este
numrul minim de muchii care trebuie eliminate astfel nct graful s aib dou componente
conexe?
(4p.)
a.
b.
c.
d.
4.
5.
Scriei programul C/C++ care citete de la tastatur un cuvnt format din cel mult 50
caractere, litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate sufixele acestuia, n ordine cresctoare a lungimilor. Un sufix de lungime k al unui
cuvnt este un subir format din ultimele k caractere ale acestuia.
(10p.)
Exemplu: dac se citete cuvntul EXAMEN se vor afia sufixele :
N
EN
MEN
AMEN
XAMEN
EXAMEN
Varianta 67 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
3.
4.
Subiectul III
Varianta 68 - informatica
1.
citete x
(numr natural nenul)
nr 0
pentru i1,x execut
citete n (numr ntreg)
dac n%x=0 atunci
nrnr+1
scrie nr
Cum se poate accesa prima liter a denumirii unui material ale struct material{
crui caracteristici sunt memorate n variabila m, declarat char denumire[20];
alturat?
(4p.) int pret;} m;
a.
denumire.m[0]
b.
m->denumire[0]
Subiectul I
m.denumire[0]
2.
a.
b.
c.
d.
0
1
1
0
1
1
1
1
1
0
4.
Care este funcia predefinit, n limbajul C/C++, care returneaz lungimea efectiv a unui ir
de caractere transmis ca parametru?
(6p.)
5.
Varianta 68 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
(6p.)
3.
4.
Fiierul text SIR.TXT conine pe prima linie un numr natural n (1n10000) i pe a doua
linie, separate prin spaii, un ir cresctor de n numere naturale cu cel mult 9 cifre fiecare.
Numim platou ntr-un ir de valori o secven de elemente identice situate pe poziii
alturate. Lungimea unui platou este egal cu numrul de elemente care l formeaz.
a) Scriei un program C/C++ care citete valorile din fiier i, printr-o metod eficient din
punct de vedere al timpului de executare i al spaiului de memorie utilizat, afieaz pe
ecran, separate printr-un spaiu, lungimea maxim a unui platou, precum i valoarea care
formeaz platoul. n cazul n care sunt mai multe platouri de aceeai lungime se va afia
valoarea cea mai mare care formeaz unul dintre aceste platouri.
(6p.)
Exemplu: dac fiierul SIR.TXT 10
are coninutul alturat,
11 211 211 211 328 400 400 1201 1201 1201
atunci programul va afia pe ecran 3 1201.
b) Descriei succint, n limbaj natural, metoda utilizat la punctul a), justificnd eficiena
acesteia.
(4p.)
Subiectul III
Varianta 69 - informatica
b)
c)
Scriei
programul
C/C++
corespunztor
algoritmului dat.
(10p.)
Scriei n pseudocod un algoritm echivalent
cu cel dat n care s se nlocuiasc structura
repet...pn
cnd cu o structur
repetitiv cu test iniial.
(6p.)
d)
citete x,y
(numere naturale nenule)
t0
u1
repet
dac x%10 > y%10
atunci
z x%10
altfel
z y%10
tt+z*u
uu*10
x[x/10]
y[y/10]
pn cnd x=0 i y=0
scrie t
a.
e->nume[0]
b.
e.nume[0]
Subiectul I
nume.e[0]
2.
Se consider un graf neorientat conex cu ase noduri n care fiecare nod are gradul 2. Care este
numrul minim de muchii care trebuie eliminate din acest graf astfel nct graful parial rezultat s
aib dou componente conexe?
(4p.)
a.
b.
c.
d.
4.
Fie s i t dou variabile de tipul ir de caractere. Scriei o instruciune C/C++ prin care variabilei
t i se atribuie irul format din primele n caractere ale lui s.
(6p.)
5.
Varianta 69 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
3.
4.
Subiectul III
Varianta 70 - informatica
Care dintre expresiile C/C++ de mai jos, are valoarea 1 dac valoarea variabilei ntregi x este
un numr ntreg par i strict pozitiv ?
(4p.)
b. (x%2!=0)||(x<0)
a. !((x%2!=0)||(x<=0))
d. ((x+1)%2==0)&&(x>=2)
c. !((x%2==0)||(x>0))
citete x,y
(numere naturale nenule)
dac x<y atunci
xy
n0
ct timp x>=y execut
xx-y
nn+1
scrie n, x
a)
b)
c)
d)
tiind c fiecare dintre variabilele var1, var2 memoreaz numele struct elev
i nota unui elev n forma dat de declararea alturat, indicai { char nume[30];
float nota;
care dintre urmtoarele expresii atribuie variabilei reale m media
aritmetic a notelor celor doi elevi.
(4p.) }var1,var2;
Subiectul I
m=var1.nota+var2.nota/2;
c.
m=(var1+var2).nota/2;
2.
a.
b.
d.
c.
m=nota(var1+var2)/2;
1:
2:
3:
4:
5:
2,4,5
1,3
2,5,4
1,3
3,1
d.
4.
5.
Scriei programul C/C++ care citete de la tastatur dou numere naturale m i n (1m24,
1n24), un numr natural x (1xm) i apoi m*n numere naturale de cel mult 5 cifre ce
reprezint elementele unui tablou bidimensional a, cu m linii, numerotate de la 1 la m, i n
coloane, numerotate de la 1 la n. Programul va determina eliminarea liniei cu numrul de
ordine x din matrice, modificarea corespunztoare a numrului de linii din matrice i afiarea
matricei obinute n urmtorul format: cte o linie a matricei pe cte o linie a ecranului,
elementele fiecrei linii fiind separate prin cte un spaiu.
(10p.)
11 21 31 41
Exemplu: pentru m=3, n=4, 11 21 31 41 se va afia matricea
91 11 21 31
51 61 71 81
x=2 i matricea alturat
91 11 21 31
Varianta 70 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
printf(%d,x);
d. 3
3.
S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete prin
parametrul n un numr natural nenul de cel mult 9 cifre i furnizeaz prin parametrul x numrul
obinut prin alturarea cifrelor pare ale lui n considerate de la dreapta ctre stnga. Dac n nu
conine nicio cifr par, x primete valoarea 0.
(10p.)
Exemplu: n urma apelului calcul(9278,x), x primete valoarea 82.
4.
Subiectul III
Varianta 71 - informatica
Scriei n pseudocod un algoritm echivalent cu cel dat care s utilizeze n locul structurii
ct timp...execut o structur repetitiv condiionat posterior.
(4p.)
Care este numrul maxim de noduri frunz pe care le poate avea un arbore cu rdcin cu
15 noduri?
(4p.)
a.
b.
15
c.
BACALAUREAT
2009 orientat
- INFORMATIC,
limbajul
C/C++
2.
Se d graful
definit prin
matricea
de
Specializarea
Matematic-informatic
adiacen
alturat. Precizai cte noduri ale
a.
14
0
1
grafului au gradul interior egal cu gradul 1
exterior.
(4p.) 0
0
0
1
0
1
0
0
0
b.
c.
0
1
0
0
1
0
d.
1
0
0
0
0
0
0
0
0
1
0
1
0
Subiectul I
0
0
1
0
1
0
d.
4.
5.
Varianta 71 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Se genereaz n ordine cresctoare toate numerele de exact 4 cifre care se pot forma cu
elementele mulimii {0,1,2,3,4}. Primele 8 soluii generate sunt, n ordine: 1000, 1001,
1002, 1003, 1004, 1010, 1011, 1012. Care sunt primele trei numere ce se vor genera
imediat dup numrul 3443?
(4p.)
b. 3444,4443,4444
a. 4000,4001,4002
c. 3444,4444,4000
d. 3444,4000,4001
3.
Un numr natural se numete palindrom dac numrul citit de la stnga la dreapta este egal
cu numrul citit de la dreapta la stnga.
a) Scriei definiia complet a subprogramului Palindrom care primete prin intermediul
parametrului n un numr natural de cel mult nou cifre i returneaz 1 dac acesta este
palindrom i 0 n caz contrar.
(10p.)
b) Fiierul text numere.in conine mai multe numere naturale de cel mult 9 cifre fiecare,
numerele fiind desprite prin cte un spaiu. Cel puin unul dintre numere este palindrom.
Scriei un program C/C++ care citete numerele din fiierul numere.in i, folosind apeluri
utile ale funciei Palindrom, determin n mod eficient care este cel mai mare numr
palindrom citit. Programul scrie n fiierul text numere.out numrul astfel determinat.
Exemplu: dac numere.in conine numerele:
23 565 78687 7887 7865 78687 7887 23 78687 98798
atunci numere.out va conine:
78687
(6p.)
c) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul b (3 4 rnduri).
(4p.)
Subiectul III
Varianta 72 - informatica
Care dintre urmtoarele expresii C/C++ are valoarea 1 dac numrul natural memorat de
variabila n este divizibil cu 12?
(4p.)
a. (n%4 == 0) || (n%3 == 0)
Se
nlocuiete
prima
structur
dac...atunci cu atribuirea j4.
Modificai condiia logic din cadrul
structurii ct timp...execut astfel
nct, pentru n=4, algoritmul s afieze:
****
***
**
*
(4p.)
ji-n
altfel
jn-i
ct timp j 0 execut
scrie *
jj-1
b1
dac b 0 atunci
salt la rnd nou (sfrit de rnd)
c)
algoritmului dat.
(10p.)
d)
d.
Subiectul I
2.
a.
anotimpprima
b.
anotimpprimavara
c.
primavara
d.
prima
4.
5.
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
n(n + 1)
. Elementele situate deasupra i pe diagonala secundar sunt dispuse n ordine
2
cresctoare pe linii astfel: prima linie conine numerele de la 1 la n, a doua linie conine
numerele de la n + 1 la 2*n 1 i aa mai departe. Matricea se va afia pe ecran, cte o
linie a matricei pe o linie a ecranului, elementele unei linii fiind separate ntre ele printr-un
spaiu.
1 2 3 4
Exemplu: pentru n = 4 se va obine matricea alturat.
(10p.) 5 6 7 3
8 9 6 2
10 8 5 1
Varianta 72 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Se genereaz n ordine cresctoare toate numerele de 4 cifre, cu cifre distincte, astfel nct
diferena n valoare absolut dintre prima i ultima, respectiv a doua i a treia cifr este
egal cu 2. Primele 11 soluii generate sunt, n ordine: 1023, 1203, 1243, 1423, 1463,
1573, 1643, 1683, 1753, 1793, 1863. Care dintre urmtoarele numere se va genera
imediat naintea numrului 9317?
(4p.)
b. 9357
c. 9207
d. 8976
a. 9247
3.
void F(int x)
{ if(x)
{ F(x/2);
cout << x%2; |
}
}
printf(%d,x%2);
a) Scriei n limbajul C/C++ definiia complet a subprogramului Cifre care primete prin
parametrii a i b dou numere naturale (0<a<200000000, 0<b<200000000) i returneaz
numrul de cifre comune ale celor dou numere.
Exemplu: dac a = 123446 i b= 248766 atunci subprogramul va returna 3, iar dac
a = 1244 i b = 4456 subprogramul va returna 1.
(10p.)
b) Fiierul text numere.in conine pe prima linie a sa dou numere naturale, x, cu cel mult
nou cifre, i p, cu exact o cifr, iar pe a doua linie cel mult 1000 de numere naturale de cel
mult nou cifre fiecare.
Scriei programul C/C++ care citete numerele din fiierulu numere.in i, apelnd funcia
Cifre, scrie n fiierul text numere.out acele numere de pe a doua linie a fiierului
numere.in care au exact p cifre comune cu numrul x. Numerele vor fi scrise pe
aceeai linie, desprite prin cte un spaiu.
(6p.)
c) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul b (3 4 rnduri)
(4p.)
Exemplu:
numere.in
numere.out
345638 3
45239 900583 635
123 45239 96583 900583 635 78900
Subiectul III
Varianta 73 - informatica
Variabilele numerice a, b i aux sunt de acelai tip. Care dintre urmtoarele secvene
interschimb corect valorile variabilelor a i b?
(4p.)
a. aux = b; b = a; a = aux;
b. aux = a; b = a; b = aux;
c. aux = b; aux = a; a = b;
d. b = aux; aux = a; a = b;
b)
Dac a=110, iar p=18, scriei cel mai
d)
(10p.)
b.
a.
6, 9, 11 2009 - INFORMATIC,
1, 2, 7 limbajul c.
BACALAUREAT
C/C++ 5, 12, 6, 9, 11
struct A {
Specializarea
Matematic-informatic
2.
Se consider
declarrile alturate. Care este
tipul expresiei x.x.y
a.
float
b.
int
int x;
char y;
float z;};
(4p.)
c.
long
d.
10, 1,
2, 7 I
Subiectul
struct B {
struct A x;
long y;};
B x, y;.
d.
char
4.
5.
Se consider un text avnd maximum 255 de caractere, format numai din litere mici ale
alfabetului englez i spaii, n care oricare dou cuvinte alturate n text sunt desprite
printr-un singur spaiu. Ultimul caracter din text este diferit de spaiu.
Scriei un program C/C++ care citete de la tastatur un text ca cel descris mai sus i
afieaz pe ecran, desprite printr-un spaiu, numrul de cuvinte din text i cte dintre
acestea au prima liter vocal (a, e, i, o sau u).
Exemplu: pentru urmtoarul text ele sunt eleve in clasa a opta
se va afia: 7 5
(10p.)
Varianta 73 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Se genereaz n ordine cresctoare toate numerele de 4 cifre, cu cifre distincte, astfel nct
diferena n valoare absolut dintre ultimele dou cifre ale fiecrui numr generat este egal
cu 2. Primele opt soluii generate sunt, n ordine:1024, 1035, 1042, 1046, 1053, 1057,
1064, 1068. Care dintre urmtoarele numere se va genera imediat dup numrul 8975?
(4p.)
b. 9013
c. 8957
d. 9024
a. 8979
3.
void F(int x)
{ if(x)
{ F(x/2);
cout << x%10;
}
}
printf(%d,x%10);
Subiectul III
Varianta 74 - informatica
Care dintre urmtoarele expresii C/C++ are valoarea 1 dac variabila x memoreaz un
numr natural ptrat perfect?
(4p.)
a. sqrt(x) == floor(sqrt(x))
b. sqrt(x) != floor(sqrt(x))
c. floor(sqrt(x))!=ceil(sqrt(x))
d. x-floor(x)==ceil(x)
d)
Efectuai un numr minim de modificri asupra algoritmului dat astfel nct prin
executarea algoritmul obinut s se calculeze n variabila c numrul de cifre pare,
comune i aflate pe poziii identice, pe care le au cele dou valori citite.
(4p.)
(10p.)
Specializarea Matematic-informatic
b.
a.
c.
d.
2.
a.
imposibil
b.
bacalaureat
c.
banal
d.
bacalaureatimposibil
4.
5.
Varianta 74 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
2.
3.
Subiectul III
Varianta 75 - informatica
b. if -5 < x < 2
{ x=x+1; y=y-1;}
Specializarea Matematic-informatic
a.
exAmeNe
2.
a.
16
b.
b.
ExAmene
14
c.
c.
EXAMENE
d.
d.
examene
5
4 6
2 5
6
3
4.
8
4.
5.
Scriei programul C/C++ care citete de la tastatur dou valori naturale m i n (1<m, n<51)
i construiete n memorie i apoi afieaz o matrice cu m linii, numerotate de la 1 la m, i n
coloane, numerotate de la 1 la n; liniile matricei, dou cte dou, sunt completate alternativ
numai cu 0 sau numai cu 1, ca n exemplu. Astfel,
- elementele liniei 1 i 2 sunt egale cu 0;
- elementele liniei 3 i 4 sunt egale cu 1;
- elementele liniei 5 i 6 sunt egale cu 0; i aa mai departe.
Matricea astfel obinut se va afia pe ecran, cte o linie a matricei 0 0 0 0 0
pe o linie a ecranului, cu cte un spaiu ntre elementele fiecrei 0 0 0 0 0
1 1 1 1 1
linii.
1 1 1 1 1
Exemplu: pentru m = 7 i n = 5 se va afia matricea alturat.
(10p.) 0 0 0 0 0
0 0 0 0 0
1 1 1 1 1
Varianta 75 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
a.
2.
3.
4.
Pentru un ir de numere naturale, numim punct de minim al irului un termen din ir care
are doi vecini, termenul precedent i termenul urmtor din ir, i valoarea termenului
respectiv este strict mai mic dect valoarea fiecruia dintre cei doi vecini ai si.
a) Fiierul text date.in conine un ir de cel puin dou i mult 10000 de numere naturale
avnd maximum 6 cifre fiecare, numere separate prin cte un spaiu. Scriei un program
C/C++ care citete toate numerele din fiier i afieaz numrul de puncte de minim ale
irului citit, folosind un algoritm eficient din punctul de vedere al memoriei utilizate.
(6p.)
Exemplu: dac fiierul date.in are urmtorul coninut:
51 20 100 43 43 618 5000 31 2020 4
atunci pe ecran se afieaz 2 (cele dou numere subliniate reprezint punctele de minim ale
irului)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri).
(4p.)
Subiectul III
Varianta 76 - informatica
Care dintre urmtoarele expresii C/C++ are valoarea 1 dac i numai dac valoarea real
memorat de variabila y nu aparine intervalului deschis determinat de valorile reale distincte
memorate de variabilele x i z (x<z)?
(4p.)
a. !((z<x) || (z>y))
b)
c)
d)
scrie p
Subiectul I
a.
c.
2.
a.
b.
d.
c.
d.
5.
(10p.)
Varianta 76 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
4.
(4p.)
(6p.)
Subiectul III
Varianta 77 - informatica
a. n=n%100/10;
b. n=n/10%1000;
c. n=n/10%10000;
d. n=n%10/1000;
c)
Scriei programul C/C++ corespunztor algoritmului scrie k
dat.
(10p.)
d)
Subiectul I
a.
b.
c.
d.
2.
a.
11
b.
c.
d.
4.
ntr-o stiv ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast
ordine, numerele 5,4,3,2,1. Asupra stivei se efectueaz urmtoarele operaii: se elimin
2 elemente, se adaug un element cu valoarea 6 i apoi se elimin 3 elemente.
a) Care este valoarea memorat n elementul din vrful stivei dup efectuarea operaiilor n
ordinea precizat?
(3p.)
b) Care este suma valorilor aflate n stiv dup efectuarea acestor operaii?
(6p.)
5.
Scriei programul C/C++ care citete de la tastatur un text de cel mult 50 de caractere,
(litere mici ale alfabetului englez i spaii), text format din mai multe cuvinte, separate prin
cte un spaiu, i afieaz pe ecran textul obinut din cel iniial prin transformarea primei
litere i a ultimei litere a fiecrui cuvnt n majuscul.
Exemplu: dac se citete textul
azi este examen de bacalaureat
se va afia
AzI EstE ExameN DE BacalaureaT
(10p.)
Varianta 77 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
a. elementelor
produsului
cartezian
AxAxAxAxA, unde A={1,2,,10}
Pentru
definiia
alturat
a
subprogramului sub, scriei ce valoare
are sub(4).
Dar sub(132764)?
(6p.)
int sub(long n)
{if (n!=0)
if(n%2!=0) return n%10+sub(n/10);
else return sub(n/10);
else return 0;
}
3.
4.
a) Scriei doar antetul unui subprogram prim, cu doi parametri, n i v, care primete prin
intermediul parametrului n un numr natural i furnizeaz prin intermediul parametrului p
valoarea 1 dac n este prim i 0 n caz contrar.
(2p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n (3<n<100) i
apoi n numere naturale cu maximum 4 cifre fiecare i afieaz pe ecran, desprite prin cte
un spaiu, toate numerele prime dintre cele n numere citite, n ordinea invers fa de cum
au fost citite, utiliznd apeluri utile ale subprogramului prim.
(8p.)
Exemplu: pentru n=12 i numerele 1 2 2 3 7 2 9 3 3 9 7 1 se vor afia valorile :
7 3 3 2 7 3 2 2
Subiectul III
Varianta 78 - informatica
b)
Dac se citete un ir de numere naturale distincte
scrie k
dou cte dou, numere de exact dou cifre, scriei
care poate fi valoarea maxim afiat.
(4p.)
c)
d)
(10p.)
b.
a.
c.
2.
a.
1, respectiv 30
b.
1, respectiv 31
c.
1, respectiv 40
d.
2, respectiv 30
4.
ntr-o coad ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast
ordine, numerele 1,2,3,4,5. Asupra cozii se efectueaz, n aceast ordine, urmtoarele
operaii: se elimin un element, se adaug dou elemente cu valorile 6 i respectiv 7 i apoi
se elimin 2 elemente, se adaug elementul cu valoarea 8 i se elimin un element.
a) Care este valoarea ultimului element eliminat?
(3p.)
b) Care este suma elementelor alfate n coad dup efectuarea acestor operaii?
(3p.)
5.
Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere i
un cuvnt cu cel mult 15 litere. Pe ecran se va afia irul obinut prin inserarea n textul
iniial a caracterului ? dup fiecare apariie a cuvntului citit. Literele textului i ale cuvntului
sunt litere mici ale alfabetului englez. Dac n text nu apare cuvntul citit, se va afia
mesajul NU APARE.
Exemplu: dac se citete de la tastatur textul
examenului examenul de bacalaureat si examenul de atestat
i cuvntul examenul
se va afia:
examenului examenul? de bacalaureat si examenul? de atestat
(10p.)
Varianta 78 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
Se citete de la tastatur un numr natural n, cu cel mult patru cifre, n2. S se scrie n
fiierul prime.out, pe aceeai linie, n ordine cresctoare, separate prin cte un spaiu,
toate numerele prime mai mici sau egale cu n.
4.
a) Scriei definiia complet a unui subprogram max_neg cu trei parametri, n, v, max, care
primete prin intermediul parametrului n (0<n<100) un numr natural, prin intermediul
parametrului v un tablou unidimensional cu n numere ntregi cu cel mult 4 cifre fiecare i
furnizeaz prin intermediul parametrului max cea mai mare valoare strict negativ dintre
numerele din tablou sau valoarea 0 dac nu exist astfel de numere.
(4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural n (3<n<100) i
apoi n numere ntregi cu cel mult 4 cifre fiecare i afieaz pe ecran, separate prin spaiu,
cea mai mare valoare strict negativ i cea mai mic valoare strict pozitiv dintre cele n
citite, folosind pentru determinarea ambelor valori apeluri utile ale subprogramului max_neg.
Dac nu exist valori strict negative se va afia mesajul NU EXISTA VALORI STRICT
NEGATIVE, respectiv mesajul NU EXISTA VALORI STRICT POZITIVE dac nu exist
valori strict pozitive.
Exemplu: pentru n=12 i numerele 11 2 2 -3 2 2 3 -13 2 3 2 10 se va afia:
-3 2
(6p.)
(10p.)
Subiectul III
Varianta 79 - informatica
a. 1012.34
b. 10.12
c. 0.12
d. 10
algoritmul
alturat,
reprezentat
b)
c)
d)
dac c0 atunci
kk+x
xx+1
scrie k
a.
c.
2.
a.
b.
inclusiv b.
d.
c.
d.
4.
5.
Scriei programul C/C++ care citete de la tastatur un text cu cel mult 100 de caractere
(litere ale alfabetului englez i spaii), construiete n memorie i apoi afieaz pe ecran
irul de caractere obinut din irul iniial n care se insereaz dup fiecare vocal caracterul
*. Se consider vocale literele a, e, i, o, u, A, E, I, O, U. Dac textul citit nu conine vocale,
se va afia mesajul FARA VOCALE.
Exemplu: dac se citete de la tastatur textul Examenul de bacalaureat se va afia:
E*xa*me*nu*l de* ba*ca*la*u*re*a*t.
(10p.)
Varianta 79 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Problema generrii tuturor codurilor formate din exact 4 cifre nenule, cu toate cifrele
distincte dou cte dou, este similar cu generarea tuturor:
(4p.)
a. aranjamentelor de 9 elemente luate cte
b. permutrilor elementelor unei mulimi cu
4
4 elemente
c. elementelor
d. submultimilor cu 4 elemente ale mulimii
produsului
cartezian
{1,2,3,4,5,6,7,8,9}
AxAxAxA unde A este o mulime cu 9
elemente
2.
3.
Scriei definiia complet a unui subprogram max_d cu trei parametri, n, m1, m2, care
primete prin intermediul parametrului n un numr natural cu cel puin dou cifre i cel mult
nou cifre i care returneaz prin intermediul parametrilor m1 i m2 cele mai mari dou cifre
ale numrului n. Cifra returnat prin intermediul parametrului m1 va fi mai mare sau egal cu
cea returnat prin intermediul parametrului m2.
Exemplu: pentru n=128773, subprogramul returnez prin intermediul parametrului m1
valoarea 8 i prin intermediul parametrului m2 valoarea 7.
(10p.)
4.
Subiectul III
Varianta 80 - informatica
1.
algoritmul
alturat,
reprezentat
citete a
(numr natural)
b0
p1
ct timp a>0 execut
ca%10
dac c%20 atunci
bb+p*c
pp*10
a[a/10]
scrie b
a)
b)
c)
d)
a. 16
2.
b. 15
c. 64
d. 10
a. 1
b.
c.
d.
4.
ntr-o coad ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast
ordine, numerele 6,5,4,3,2,1. Asupra cozii se efectueaz, n aceast ordine,
urmtoarele operaii: se elimin dou elemente, se adaug dou elemente cu valorile 6 i
respectiv 7 i apoi se elimin dou elemente. Care sunt ultimele trei valori eliminate? (6p.)
5.
Scriei programul C/C++ care citete de la tastatur un cuvnt cu cel puin una i cel mult
20 de litere ale alfabetului englez, construiete i afieaz pe ecran cuvntul obinut prin
interschimbarea primei consoane cu ultima vocal din cuvnt. n cazul n care cuvntul este
format numai din vocale sau numai din consoane, programul afieaz pe ecran mesajul
IMPOSIBIL. Se consider vocale literele a, e, i, o, u, A, E, I, O, U.
Exemplu: dac se citete cuvntul Marmorat se va obine i afia cuvntul aarmorMt
(10p.)
Varianta 80 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
4.
a) Scriei definiia complet a unui subprogram cu numele ordonat care primete prin
intermediul singurului su parametru, n, un numr natural cu cel mult 9 cifre i returneaz
valoarea 1 dac numrul are cifrele ordonate strict descresctor, de la stnga la dreapta,i
valoarea 0 n caz contrar.
(4p.)
b) Scriei un program C/C++ care citete de pe prima linie a fiierului text numere.in un
numr natural n (0<n<1000) i de pe a doua linie a fiierului n numere naturale cu cel mult
9 cifre i afieaz pe ecran, desprite prin cte un spaiu, numerele naturale distincte,
coninute de a doua linie a fiierului care au cifrele ordonate strict descresctor, de la stnga
la dreapta. Se vor utiliza apeluri utile ale subprogramului ordonat .
(10p.)
Exemplu: dac fiierul numere.in are urmtorul coninut:
134 6420 1243 9802 731 6420
pe ecran se vor afia numerele:
6420 731 (nu neaprat n aceast ordine).
Subiectul III
Varianta 81 - informatica
34.
(6p.)
scrie a
c)
Scriei programul C/C++ corespunztor algoritmului
dat.
(10p.)
d)
a.
elev[1].nota
b.
a[1].nota[1]
c.
a.nota[1]
d.
0
reprezentat cu ajutorul matricei de adiacen alturate. Numrul 1
maxim de muchii ce pot fi eliminate astfel nct graful parial rezultat 1
s aib 2 componente conexe este:
(4p.) 1
1
a.
b.
c.
d.
a[1].nota
Subiectul I
1
0
1
1
0
1
1
0
1
0
1
1
1
0
1
1
0
0
1
0
ntr-o coad ale crei elemente rein informaii numere ntregi, au fost introduse, n aceast
ordine, numerele 6,5,4,3,2,1. Asupra cozii se efectueaz, n aceast ordine,
urmtoarele operaii: se elimin un element, se adaug dou elemente cu valorile 6 i
respectiv 7 i apoi se elimin trei elemente. Care sunt ultimele trei valori eliminate?
(6p.)
4.
Variabila cuv reine un cuvnt format din cel mult 25 litere mici ale alfabetului englez. Scriei
o secven de program C/C++ care afieaz pe ecran litera din mijloc a cuvntului, dac
acesta are un numr impar de caractere, sau cele dou litere din mijloc ale cuvntului, dac
acesta are un numr par de caractere.
Exemplu: dac se citete cuvntul mihai se afieaz litera h.
(6p.)
5.
Scriei un program C/C++ care citete de la tastatur dou numere naturale n i m (n10,
m10), apoi elementele unui tablou bidimensional cu n linii i m coloane, numere ntregi
distincte, de maximum 4 cifre fiecare, i care determin cel mai mic i cel mai mare numr
din tablou i le interschimb. Matricea modificat va fi afiat pe ecran, cte o linie a
matricei pe o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=5, 2
3
m=4 i tabloul
4
5
6
24
25
-2
14
57
-5
17
13
12
36
8
9
10
70
43
se va afia tabloul
2
3
4
5
6
24
25
-2
14
57
70
17
13
12
36
(10p.)
8
9
10
-5
43
Varianta 81 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
2.
3.
(4p.)
Fiierul text NUMERE.IN conine, pe fiecare linie a sa, cte dou numere naturale mai mici
sau egale cu 10000, desprite printr-un spaiu. Scriei programul C/C++ care s afieze pe
ecran, unul sub altul, cel mai mare numr de pe fiecare linie, ca n exemplu.
(6p.)
12 14
Exemplu: dac
atunci pe ecran se 14
110
fiierul NUMERE.IN 110 12
afieaz:
4
4 -8
are coninutul
alturat:
Subiectul III
Varianta 82 - informatica
a. 5
b. 6
d. 7
BACALAUREAT
2009 - INFORMATIC,
limbajul C/C++c. 4
Subiectul I
Specializarea
Matematic-informatic
2. Se consider
o stiv n care au fost introduse, n aceast ordine, numerele 1, 2 i 3. Care
a.
d.
(4p.)
oricare dintre ele
4.
5.
Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n10) i
apoi n*n numere ntregi distincte, fiecare avnd cel mult 4 cifre, reprezentnd elementele
unui tablou bidimensional cu n linii i n coloane. Programul determin cel mai mic i cel mai
mare numr de pe diagonala principal, le interschimb, apoi afieaz pe ecran matricea
obinut dup modificare. Fiecare linie a matricei se afieaz pe cte o linie a ecranului, iar
elementele unei linii sunt separate prin cte un spaiu.
(10p.)
2 24 15 -8 se va afia
73 24 15 -8
Exemplu: pentru n=4 i tabloul:
3 25 17 9
3 25 17 9
4 -2 73 10
4 -2 2 10
5 14 12 10
5 14 12 10
strcpy(s,barba);
for(i=0;i<strlen(s);i++)
if(s[i]==b)
s[i]=t;
cout<<s; | printf(%s,s);
0
0
1
0
Varianta 82 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
int f(int x)
{ if(x==0)return 0;
else if(x%2==0)return 1+f(x/10);
else return 2+f(x/10);
}
3.
Scriei n C/C++ definiia complet a subprogramului medie, care are doi parametri:
- n, prin care primete un numr natural (1n100) ;
- v, prin care primete un tablou unidimensional cu n elemente, fiecare element avnd cel
mult patru cifre.
Funcia returneaz media aritmetic a elementelor impare din tablou sau valoarea 0 dac, n
tablou, nu exist elemente impare.
(10p.)
4.
Fiierul text NUMERE.IN conine, pe mai multe linii, cel mult 30000 de numere naturale
nenule mai mici sau egale cu 500, numerele de pe fiecare linie fiind desprite prin cte un
spaiu.
a) Scriei programul C/C++ care afieaz pe ecran, n ordine cresctoare, toate numerele
care au aprut o singur dat n fiierul NUMERE.IN, desprite prin cte un spaiu.
Exemplu: dac fiierul NUMERE.IN conine numerele scrise alturat, se vor 2 23 34 3
afia valorile urmtoare: 3 4 5 6 34 .
(6p.) 8 9 9 23
6 8 9 2
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit la punctul a) 4 5 23 9
(3 4 rnduri).
(4p.)
Subiectul III
Varianta 83 - informatica
b)
c)
Scriei
programul
algoritmului dat.
d)
C/C++
corespunztor
(10p.)
x[x/10]
scrie aux
altfel
scrie nu
d.
Subiectul I
2.
a.
b.
c.
d.
4.
Variabila cuv reine un cuvnt format din cel mult 25 litere mici ale alfabetului englez. Scriei
o secven de program C/C++ care afieaz pe ecran vocalele cuvntului, n ordinea
apariiei lor n cuvnt.
Exemplu: dac cuv reine cuvntul examen se afieaz eae
(6p.)
5.
Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n10) i
apoi n*n numere ntregi distincte, fiecare avnd cel mult 4 cifre, reprezentnd elementele
unui tablou bidimensional cu n linii i n coloane. Programul determin cel mai mic i cel mai
mare numr de pe diagonala secundar, le interschimb, apoi afieaz pe ecran matricea
obinut dup modificare. Fiecare linie a matricei se afieaz pe cte o linie a ecranului, iar
elementele unei linii sunt separate prin cte un spaiu.
(10p.)
2 24 15 -8 se va afia
2 24 15 17
Exemplu: pentru n=4 i tabloul:
3 25 17 9
3 25 -8 9
4 -2 73 10
4 -2 73 10
5 14 12 10
5 14 12 10
Varianta 83 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Subiectul III
Varianta 84 - informatica
citete n
(numr natural, n>1)
ok0
ct timp n>0 execut
cn%10
dac c>5 i c%2=0 atunci
ok11
altfel
ok10
n[n/10]
d.
Subiectul I
2.
a.
b.
c.
d.
Se consider variabila c, de tip char, care memoreaz o liter a alfabetului englez, diferit
de z sau Z. Scriei secvena de program C/C++ care afieaz pe ecran litera care i
urmeaz n alfabet.
Exemplu: dac litera memorat este g se va afia h.
(6p.)
4.
5.
Scriei programul C/C++ care citete de la tastatur un numr natural n (1n10), apoi n*n
numere ntregi, mai mici dect 32000, reprezentnd elementele unui tablou bidimensional
cu n linii i n coloane, i care determin i afieaz pe ecran ultima cifr a produsului
numerelor pare de pe diagonala principal a tabloului sau mesajul imposibil dac nu
exist numere pare.
(10p.)
Varianta 84 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
2.
3.
4.
Se consider subprogramul CMMMC care primete prin cei doi parametri, x i y, dou
numere naturale (1x10000, 1y10000) i returneaz cel mai mic multiplu comun al lor.
a) Scriei numai antetul subprogramului CMMMC.
(4p.)
b) Fiierul text NUMERE.IN conine, pe fiecare linie, cte dou numere naturale nenule mai
mici sau egale dect 10000, desprite printr-un spaiu. Scriei un program C/C++ care,
pentru fiecare linie k din fiierul NUMERE.IN, citete cele dou numere de pe aceast linie
i scrie n fiierul text NUMERE.OUT , tot pe linia k, cel mai mic multiplu comun al acestora,
ca n exemplu. Se vor utiliza apeluri utile ale subprogramului CMMMC.
(6p.)
12 14
84
Exemplu: dac fiierul
atunci fiierul
11 12
132
NUMERE.IN are coninutul
NUMERE.OUT va avea
4 8
8
alturat:
urmtorul coninut:
Subiectul III
Varianta 85 - informatica
b)
c)
Scriei
programul
algoritmului dat.
d)
C/C++
corespunztor
(10p.)
citete n
(numr natural, n>1)
ok0
ct timp n>0 execut
cn%10
dac c%2=1 atunci
ok11
altfel
ok10
n[n/10]
b.
d.
a.
BACALAUREAT
2009 - INFORMATIC,
limbajul C/C++c.
Subiectul I
Specializarea
Matematic-informatic
2.
Un arbore
cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul vectorului de tai
t=(9,3,4,7,3,9,0,7,2). Lungimea celui mai lung lan elementar care pornete din
rdcin este:
(4p.)
a.
b.
c.
d.
4.
5.
Varianta 85 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
4.
(10p.)
Se consider subprogramul CMMDC care primete prin cei doi parametri, x i y, dou
numere naturale (1x10000, 1y10000) i returneaz cel mai mare divizor comun al lor.
a) Scriei numai antetul subprogramului CMMDC.
(4p.)
b) Fiierul text NUMERE.IN conine, pe fiecare linie, cte dou numere naturale nenule mai
mici sau egale dect 10000, desprite printr-un spaiu, reprezentnd numitorul i
numrtorul cte unei fracii. Scriei un program C/C++ care, pentru fiecare linie k din
fiierul NUMERE.IN, citete numitorul i numrtorul fraciei de pe aceast linie i scrie n
fiierul text NUMERE.OUT , tot pe linia k, numitorul i numrtorul acestei fracii, adus la
forma ireductibil, ca n exemplu. Se vor utiliza apeluri apeluri utile ale subprogramului
CMMDC.
(6p.)
12 14
6 7
Exemplu: dac fiierul
atunci fiierul
11 12
11 12
NUMERE.IN are coninutul
NUMERE.OUT va avea
2 2
1 1
alturat:
urmtorul coninut:
4 8
1 2
Subiectul III
Varianta 86 - informatica
Variabila ntreag n memoreaz un numr natural, cu cel puin dou cifre. Care dintre
instruciunile C/C++ de mai jos determin nlocuirea cu 0 a ultimei cifre a numrului
memorat n variabila n?
(4p.)
b. n=n/10;
c. n=n-n%10;
d. n=n-n/10;
a. n=n*(n%10);
citete n, k
2. Se consider algoritmul alturat, descris n pseudocod.
(numere naturale nenule)
S-a notat cu x%y restul mpririi numrului natural x la
numrul natural nenul y, iar cu [z] partea ntreag a
pentru i1,n execut
numrului real z.
dac [i/k]=0 atunci
Scriei valorile care se vor afia dac se citesc, n scrie i
a)
ordine, numerele 7 i 5.
(6p.) kk-1
altfel
b)
Dac n=11, scriei cea mai mic valoare care poate fi scrie i%k
citit pentru k astfel nct, n urma executrii
algoritmului, s se afieze, n ordine, toate numerele
naturale din intervalul nchis [1,11].
(4p.)
c)
d)
Specializarea
Matematic-informatic
4
10
b.
a.
c.
d.
1
0
0
0
Subiectul I
2.
Ce valoare are variabila s de tip ir de caractere dup executarea instruciunilor de mai jos?
strncpy(s,strstr(examen,am),4); s[4]='\0';
(4p.)
a.
amen
b.
exam
c.
menn
d.
men
4.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (1n10) apoi
construiete n memorie o matrice cu 2*n linii i 2*n coloane, numerotate de la 1 la 2*n,
astfel nct parcurgnd doar liniile impare ale matricei de sus n jos i fiecare linie impar de
la stnga la dreapta se obin n ordine strict cresctoare toate numerele impare cuprinse n
intervalul [1,4*n2], iar parcurgnd doar liniile pare ale matricei de sus n jos i fiecare linie
par de la dreapta la stnga se obin n ordine strict cresctoare toate numerele pare
cuprinse n intervalul [1,4*n2], ca n exemplu.
Programul afieaz pe ecran matricea obinut, cte o linie a matricei pe 1 3 5 7
cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un 8 6 4 2
9 11 13 15
spaiu.
Exemplu: pentru n=2 se obine matricea alturat.
(10p.) 16 14 12 10
Varianta 86 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
La examenul de bacalaureat, un elev primete un test format dintr-un subiect de tip I, unul
de tip II i unul de tip III. Stiind c pentru fiecare tip de subiect sunt elaborate exact 100
de variante, algoritmul de generare a tuturor posibilitilor de a forma un test este similar
cu algoritmul de generare a:
(4p.)
b. aranjamentelor
a. elementelor produsului cartezian
c. permutrilor
d. submulimilor
void f(int n)
{
cout<<"*"; | printf("*");
if(n>2)
{
f(n-1);
cout<<"#"; | printf("#");
}
}
3.
Scriei definiia complet a subprogramului numar, cu doi parametri, care primete prin
intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul
parametrului c o cifr nenul; subprogramul returneaz numrul obinut prin nlocuirea
fiecrei apariii a cifrei c n numrul n cu partea ntreag a valorii (c+1)/2. Dac c nu
apare n n, subprogramul returneaz valoarea n.
Exemplu: pentru n=1525735, c=5 valoarea returnat va fi 1323733.
(10p.)
4.
Fiierul text bac.txt conine cel puin dou i cel mult 1000 de numere naturale, distincte.
Numerele sunt separate prin cte un spaiu i fiecare dintre ele are cel mult 9 cifre.
a) Scriei un program C/C++ care determin cele mai mici dou numere din fiier, utiliznd
un algoritm eficient din punct de vedere al timpului de executare i al spaiului de memorie
utilizat. Cele dou numere vor fi afiate pe ecran, n ordine cresctoare, separate printr-un
spaiu.
(6p.)
Exemplu: dac fiierul conine numerele: 512 6 860 3 12 300 se va afia: 3 6
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)
Subiectul III
Varianta 87 - informatica
Care dintre variantele de mai jos declar constanta x astfel nct aceasta s memoreze
corect numrul real 3,14?
(4p.)
const int x=314/100;
const char x=3.14;
b.
const unsigned int x=3.14;
const float x=3.14;
d.
a.
c.
citete a,b,c
(numere naturale nenule)
xa
Scriei cele mai mari trei numere naturale dac x>b atunci
nenule, distincte, cu cel mult dou cifre fiecare,
xb
care pot fi citite pentru a, b respectiv c, astfel
nct s se afieze valoarea 7 la finalul dac x>c atunci
executrii algoritmului.
(4p.)
xc
Scriei programul C/C++ corespunztor
dac xa atunci
algoritmului dat.
(10p.)
aa-x
Scriei n pseudocod un algoritm echivalent cu
cel dat n care s se nlocuiasc structura dac xb atunci
bb-x
repetitiv ct timp...execut cu o
structur repetitiv cu test final.
(6p.)
dac xc atunci
cc-x
a)
b)
c)
d)
6
5
Subiectul I
2.
a.
form
b.
forma
c.
InfoBAC
d.
Infor
c.
12
6
3 4 5
a.
b.
2
1
2
2
2
1
d.
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
4.
5.
Scriei un program C/C++ care citete de la tastatur un ir de cel mult 100 de caractere,
care pot fi litere ale alfabetului englez, cifre, semne de punctuaie i spaii, i transform irul
citit nlocuind toate literele mici cu literele mari corespunztoare i toate literele mari cu
literele mici corespunztoare. Programul va afia pe o linie a ecranului irul rezultat n urma
acestor nlocuiri, iar pe urmtoarea linie a ecranului numrul de caractere care au rmas
nemodificate.
Exemplu: dac irul citit este:
Ana-Maria are 3 frati.
programul va afia
aNA-mARIA ARE 3 FRATI.
6
(10p.)
Varianta 87 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Algoritmul de generare a tuturor numerelor de 3 cifre, formate numai cu cifre impare, este
echivalent cu algoritmul de generare a:
(4p.)
b. combinrilor de 5 elemente luate cte 3
a. submulimilor unei mulimi cu 3 elemente
d. produsului cartezian a 3 mulimi de cifre
c. aranjamentelor de 5 elemente luate cte 3
impare
2.
3.
Scriei definiia complet a subprogramului numar, cu doi parametri, care primete prin
intermediul parametrilor a i b dou numere naturale, a fiind format din cel mult 9 cifre, iar b
fiind un numr natural strict mai mic dect numrul de cifre ale lui a. Subprogramul
nlocuiete cu 1 primele b cifre ale numrului a i returneaz valoarea astfel obinut.
Exemplu: pentru a=184465709 i b=5, valoarea returnat va fi 111115709
(10p.)
4.
Fiierul text bac.txt conine un ir de cel mult 2009 numere naturale nenule, cu cel mult 4
cifre fiecare, pe mai multe rnduri, numerele de pe acelai rnd fiind separate prin cte un
spaiu.
a) Scriei un program C/C++ care citete de la tastatur un numr natural k i afieaz pe
ecran cel mai mic numr din fiierul bac.txt care este mai mare sau egal cu numrul
natural k, precum i numrul de apariii ale acestuia n fiier, folosind o metod eficient din
punctul de vedere al timpului de executare. Cele dou valori vor fi afiate pe o linie a
ecranului, separate printr-un spaiu. Dac n fiier nu exist nici un numr mai mare sau egal
cu k, se va afia doar valoarea 0.
(6p.)
Exemplu: dac n fiier avem numerele 31 2 63 71 8 63 5 281 i numrul citit este
k=50, atunci pe ecran se vor afia numerele: 63 2.
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)
Subiectul III
Varianta 88 - informatica
1.
a.
c.
algoritmul
alturat,
descris
citete a
(numr natural)
dat.
(10p.)
d)
scrie b
a.
b.
c.
d.
b.
8
c.
3
d.
6
struct elev{
Fie declarrile alturate. Dac variabila x retine
char nume[30];
informaii despre 30 de elevi, precizai care este
float media;};
varianta corect ce afieaz numele i media
elevului al 11-lea?
(4p.) elev x[30];
cout<<x[10].nume<< <<x[10].media;
| printf(%s %f, x[10].nume,x[10].media);
cout<<x.nume<< <<x.media;
| printf(%s %f, x.nume,x.media);
cout<<x.nume[10]<< <<x.media;
| printf(%s %f, x.nume[10],x.media);
cout<<x[10]->nume<< << x[10]->media);
| printf(%s %f, x[10]->nume,x[10]->media);
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
4.
5.
Varianta 88 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
int f(int n)
{
if (n==0) return 1;
else if (n==1) return 2;
else return f(n-1)-f(n-2);
}
3.
Scriei definiia complet a subprogramului numar, cu patru parametri, care primete prin
intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul
parametrilor c1 i c2 cte o cifr, cu proprietatea c1<c2; subprogramul furnizeaz prin
intermediul celui de al patrulea parametru, x, o valoare egal cu suma cifrelor lui n care
aparin intervalului nchis [c1,c2].
Exemplu: pentru n=123, c1=2 i c2=7, valoarea furnizat prin x va fi 5.
(10p.)
4.
Fiierul text bac.txt conine cel mult 10000 de numere naturale din intervalul nchis [0,
999], aflate pe mai multe linii, numerele de pe aceeai linie fiind separate prin cte un
spaiu.
a) Scriei un program C/C++ care determin i afieaz pe ecran cel mai mic numr prim a
cu proprietatea maxa, unde max este cea mai mare valoare din fiier. Se va utiliza un
algoritm eficient din punct de vedere al spaiului de memorie utilizat.
(6p.)
Exemplu: dac fiierul conine numerele: 5 8 99 5 1 1 2 2 se va afia 101.
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)
Subiectul III
Varianta 89 - informatica
Variabila ntreg n memoreaz un numr natural format din exact dou cifre nenule. Care
dintre urmtoarele instruciuni C/C++ determin memorarea n variabila ntreag t a
numrului care are aceleai cifre ca i n, dar n ordine invers?
(4p.)
b. t=n/10*10+n%10;
a. t=n%10*10+n/10;
d. t=n%10*10+t/10;
c. t=n%10+n/10;
algoritmul
alturat,
descris
citete n
(numr natural)
a.
2 3 4 5 6
2.
a.
format
b.
b.
2 4 7 8
informat
c.
c.
2 4 6
inform
d.
d.
2 4 6 7 8
informBAC
4.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (1n6) apoi
construiete n memorie o matrice cu n linii i n coloane, astfel nct parcurgnd liniile
matricei de sus n jos i de la stnga la dreapta se obin, n prima linie primele n numere ale
irului Fibonacci n ordine cresctoare, n linia a doua urmtoarele n numere ale irului
Fibonacci n ordine descresctoare, n linia a treia urmtoarele n numere ale acestui ir n
ordine cresctoare, i aa mai departe, ca n exemplu. Elementele irului Fibonacci se obin
astfel: primul element este 0, al doilea este 1, iar elementele urmtoare se obin nsumnd
cele dou elemente care preced elementul curent. Astfel, primele 16 elemente ale acestui ir
sunt: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610.
1
1
2
Programul afieaz pe ecran matricea obinut, cte o linie a 0
8
5
3
matricei pe cte o linie a ecranului, elementele fiecrei linii fiind 13
21 34 55 89
separate prin cte un spaiu.
Exemplu: pentru n=4 se obine matricea alturat.
(10p.) 610 377 233 144
Varianta 89 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
2.
3.
Scriei definiia complet a subprogramului numar, cu trei parametri, care primete prin
intermediul parametrului n un numr natural format din cel mult 9 cifre, iar prin intermediul
parametrilor c1 i c2 cte o cifr nenul. Subprogramul caut fiecare apariie a cifrei c1 n
n, i dac aceasta apare, o nlocuiete cu c2. Subprogramul furnizeaz tot prin n numrul
astfel obinut. Dac cifra c1 nu apare n n, atunci valoarea lui n rmne nemodificat.
Exemplu: pentru n=149448, c1=4 i c2=2, valoarea furnizat prin n va fi 129228. (10p.)
4.
Fiierul text bac.txt conine pe mai multe rnduri cel mult 50000 de numere naturale din
intervalul nchis [0, 99], numerele de pe acelai rnd fiind separate prin cte un spaiu.
a) Scriei un program C/C++ care afieaz pe ecran, n ordine cresctoare, acele numere
din fiier care sunt mai mari dect un numr natural k, citit de la tastatur, utiliznd un
algoritm eficient din punct de vedere al timpului de executare. Dac un numr care
corespunde cerinei apare de mai multe ori, se va afia o singur dat. Numerele vor fi
afiate pe ecran separate prin cte un spaiu.
(6p.)
Exemplu: dac fiierul conine numerele: 15 36 33 36 1 12 1 24 2, iar pentru k se citete
valoarea 24, se vor afia numerele 33 36.
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)
Subiectul III
Varianta 90 - informatica
1.
citete a, b, k
(numere naturale)
t a
p 0
ct timp tb execut
dac k=t%10 atunci
scrie t
p1
tt+1
BACALAUREAT
2 3 4 62009 - INFORMATIC,
b. 1 3 5 limbajul C/C++
c. 2 4 6
a.
Specializarea Matematic-informatic
d.
1 3 5 6
Subiectul I
2.
a.
info
b.
infoBAC
c.
BACinfo
d.
InformaticaBAC
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
4.
5.
Varianta 90 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
void f(char c)
{
if (c != 'e')
{
f(c+1);
cout<<c; |
}
}
printf(%c,c);
3.
4.
Fiierul text bac.txt conine pe mai multe rnduri cel mult 50000 de numere naturale,
numerele aflate pe acelai rnd fiind separate prin cte un spaiu. Fiecare numr are cel
mult 4 cifre.
a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al
timpului de executare i al spaiului de memorie folosit, determin numrul din fiier care are
cei mai muli divizori. n cazul n care exist mai multe valori n fiier care au numr maxim
de divizori, programul va afia cea mai mic dintre acestea.
(6p.)
Exemplu: dac fiierul conine valorile 23 12 100 36 atunci se va afia 36, pentru c
att 100 ct i 36 au numr maxim de divizori, dar 36 este cel mai mic.
b) Descriei succint, n limbaj natural, algoritmul utilizat, justificnd eficiena acestuia. (4p.)
Subiectul III
Varianta 91 - informatica
a. BineRau
b. Foarte bine
c. Rau
d. Bine
yx
b)
Scriei n pseudocod un algoritm echivalent cu cel dat,
x[(x+z/x)/2]
n care s se nlocuiasc structura repet...pn pn cnd x=y
cnd cu o structur repetitiv cu test iniial.
(6p.)
scrie x
c)
d)
a.
120
b.
80
c.
100
d.
20
BACALAUREAT
- INFORMATIC,
limbajul numerotate
C/C++
I
2.
Un arbore2009
cu rdcin
are 11 noduri,
de la 1 la 11, i este memoratSubiectul
cu ajutorul
Specializarea
Matematic-informatic
vectorului
de tai t=(2,5,5,3,0,2,4,6,6,2,3). Descendenii direci (fiii) ai nodului 2
sunt:
a.
1, 6 i 10
(4p.)
b.
c.
6, 8 i 9
d.
Se consider o stiv n care iniial au fost introduse, n aceast ordine, valorile 1,2,3,4. Se
noteaz cu PUSH(x) operaia prin care se adaug valoarea x n stiv, i POP operaia prin
care se extrage un element din stiv. Presupunem c se execut urmtoarele operaii
asupra stivei considerate: POP; POP; PUSH(4); PUSH(3); PUSH(5); POP;
n urma executrii lor
a) care este elementul din vrful stivei?
(3p.)
b) care este suma elementelor aflate n stiv?
(3p.)
4.
5.
Scriei un program n limbajul C/C++ care citete de la tastatur dou valori naturale n i m
(1n50, 1m50) i apoi n*m valori 0 i 1 reprezentnd elementele unui tablou
bidimensional cu n linii, numerotate de la 1 la n, i m coloane, numerotate de la 1 la m;
programul determin i afieaz pe ecran numrul de ordine al primei coloane care are un
numr maxim de valori 1.
(10p.)
Exemplu: pentru pentru n=5 i m=4 i tabloul alturat, se va afia 2.
Varianta 91 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
3.
Subprogramul par primete prin singurul su parametru, n, un numr natural nenul cu cel
mult 8 cifre i returneaz valoarea 1 dac n conine cel puin o cifr par, sau returneaz
valoarea 0 n caz contrar.
Exemplu: pentru n=723 subprogramul va returna valoarea 1.
a) Scriei numai antetul subprogramului par.
(2p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n cu cel
mult trei cifre, apoi un ir de n numere naturale, cu cel puin dou i cel mult 8 cifre fiecare,
i afieaz pe ecran numrul de valori din irul citit care au numai cifra unitilor par,
celelalte cifre fiind impare. Se vor utiliza apeluri utile ale subprogramului par.
Exemplu: dac n=4, iar irul citit este 7354, 123864, 51731, 570 se va afia 2 (numerele
(8p.)
7354 i 570 respect condiia cerut).
4.
Fiierul numere.in conine cel mult 5000 de numere reale, cte unul pe fiecare linie. Se
cere s se scrie un program care s citesc toate numerele din fiier i s afieze pe ecran
numrul de ordine al primei, respectiv al ultimei linii pe care se afl cel mai mare numr din
fiier. Cele dou numere vor fi separate printr-un spaiu. Alegei o metod de rezolvare
eficient din punct de vedere al spaiului de memorare i al timpului de executare.
Exemplu: dac fiierul are coninutul alturat, pe ecran se vor afia numerele 2 6. 3.5
7
a) Descriei succint, n limbaj natural, metoda de rezolvare aleas, explicnd n ce -4
const eficiena ei.
(4p.)
7
b) Scriei programul C/C++ corespunztor metodei descrise.
(6p.) 2
7
6.3
5
Subiectul III
Varianta 92 - informatica
algoritmul
alturat,
descris
b)
c)
d)
citete n
(numr natural nenul)
nr0
y0
pentru i1,n execut
repet
citete x (numr real)
nrnr+1
pn cnd x>=1 i x<=10
yy+x
scrie [y/n]
scrie nr
b.
a.
(2,3)
(1,2) limbajul C/C++c.
BACALAUREAT
2009 - INFORMATIC,
Specializarea
Matematic-informatic
2.
(1,4)
d.
(4,1) Subiectul I
Variabila s este de tip ir de caractere, iar variabilele c1 i c2 sunt de tip char. Care
expresie are valoarea 1 dac i numai dac irul de caractere s conine caracterele
memorate de variabilele c1 i c2?
(6p.)
a.
strstr(s,c1+c2)!=0
b.
strchr(s,c1)!=0 || strchr(s,c2)!=0
c.
strchr(strchr(s,c1),c2)!=0
d.
strchr(s,c1)*strchr(s,c2)!=0
4.
5.
Varianta 92 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
(4p.)
Scriei un program C/C++ care creeaz fiierul text SIR.TXT i scrie n el, n ordine
alfabetic, toate irurile formate din dou caractere distincte, litere mari ale alfabetului
englez. Fiecare ir va fi scris pe cte o linie a fiierului.
(6p.)
Subiectul III
Varianta 93 - informatica
1.
d)
Subiectul I
d.
2.
a.
P.x==0
b.
P.y==0
c.
P.x+P.y==0
d.
P.x==P.y
(3p.)
4. Se consider o list liniar simplu nlnuit asupra creia se execut urmtoarea prelucrare:
ntre oricare dou elemente ce memoreaz valorile x i y,aflate pe poziii consecutive, se
insereaz cel mai mare divizor comun al numerelor x i y. Dac lista conine iniial, n
ordine, doar numerele 10,4,2,6 precizai care este numrul maxim de elemente aflate pe
poziii consecutive ce vor memora aceeai valoare, dup realizarea prelucrrii menionate.
(4p.)
5. Un ir de caractere s se numete ablon pentru un alt ir de caractere x, dac este format
din caractere din mulimea {*,?,#}, are aceeai lungime cu x i pe fiecare poziie din s n
care apare * n x se gsete o vocal, pe fiecare poziie din s n care apare # n x se
gsete o consoan i pe fiecare poziie din s n care apare ? putem avea orice caracter
n x. Se consider vocal orice liter din mulimea {a,e,i,o,u}.
Scriei programul C/C++ care citete de la tastatur dou iruri de caractere, de aceeai
lungime, formate din cel mult 200 de litere mici ale alfabetului englez, i afieaz pe ecran
un ablon comun celor dou iruri citite, care conine un numr minim de caractere ?.
Exemplu: pentru irurile diamant i pierdut se afieaz #**#??#
(10p.)
Varianta 93 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
(6p.)
(6p.)
b) Fiierul text NUMERE.IN conine pe prima linie un numr natural nenul n (1n100) i
pe urmtoarea linie n numere naturale din intervalul [1,30000], separate prin cte un
spaiu. Scriei un program C/C++ care citete toate numerele din fiierul NUMERE.IN i
determin, folosind apeluri ale subprogramului cmmdc, cel mai mare divizor comun al celor n
numere situate pe linia a doua n fiier. Programul afieaz pe ecran numrul cu proprietatea
cerut.
Exemplu: dac fiierul NUMERE.IN are coninutul:
5
60 72 600 24 48
atunci se afieaz valoarea 12.
(10p.)
Subiectul III
Varianta 94 - informatica
c)
Scriei n pseudocod un algoritm echivalent cu cel
p 1
dat care s utilizeze o singur structur repetitiv.
pentru i1,k1 execut
(4p.)
p p * 10
d)
Scriei programul C/C++ corespunztor algoritmului
x n2*p + n1
dat.
(10p.)
Ministerul Educaiei, Cercetrii i Inovrii
scrie x
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Specializarea Matematic-informatic
Subiectul I
a.
2.
a.
28
b.
84
c.
c.
0
1
1
1
0
b.
0
0
1
0
1
36
d.
d.
21
4.
5.
Scriei un program n limbajul C/C++ care citete de la tastatur un singur ir format din cel
mult 20 de caractere care reprezint numele i prenumele unei persoane. ntre nume i
prenume se afl un numr oarecare de caractere spaiu (cel puin unul). Att numele ct i
prenumele sunt formate numai din litere ale alfabetului englez. Programul construiete n
memorie i afieaz pe ecran un al doilea ir de caractere, care s conin prenumele,
urmat de exact un spaiu i apoi numele din irul citit iniial.
Exemplu: dac se citete irul:
Popescu
Vasile
se va construi i apoi se va afia pe ecran irul
Vasile Popescu
2,
1,
1,
3,
2,
3
3, 5
2, 4, 5
5
3, 4
(10p.)
Varianta 94 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
3
3
3
2
2
1
1
2
1
3
1
3
2
1
2
1
3
2
3.
Funcia recursiv f este astfel definit nct f(1)=8, iar f(n+1)=2*f(n)-4 pentru orice n
natural nenul.
a) Ce valoare are f(5) ?
(3p.)
b) Care este cea mai mare valoare pe care o poate lua x astfel nct f(x) < 1000 ? (3p.)
3.
Se consider funcia f care primete prin intermediul parametrului n un numr natural nenul
(2n200), prin intermediul parametrului a un tablou unidimensional care conine n valori
ntregi (fiecare dintre aceste valori ntregi avnd cel mult patru cifre), iar prin intermediul
parametrilor p1 i p2 dou valori naturale reprezentnd dou poziii din tablou
(0p1p2<n). Numerotarea poziiilor din tablou ncepe de la 0. Subprogramul returneaz
valoarea -1 dac cele mai multe valori din tabloul a, aflate ntre poziiile p1 i p2 inclusiv,
sunt strict negative, valoarea 0 dac cele mai multe valori din a, aflate ntre poziiile p1 i p2
inclusiv, sunt nule, respectiv valoarea 1 dac cele mai multe valori din tabloul a aflate ntre
poziiile p1 i p2 inclusiv, sunt strict pozitive.
a) Scriei definiia complet a funciei f.
(5p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (2n200),
apoi valorile celor n componente ale unui tablou unidimensional. Valorile citite sunt numere
ntregi de maximum patru cifre fiecare. Programul afieaz pe ecran mesajul negative
dac cele mai multe valori din tablou sunt strict negative, mesajul nule dac cele mai multe
valori din tablou sunt egale cu 0, mesajul pozitive dac cele mai multe valori din tablou
sunt strict pozitive sau mesajul nedecis n celelalte cazuri. Pentru a stabili care dintre
mesaje urmeaz s fie afiat, programul va apela funcia f.
(5p.)
4.
Fiierul text bac.txt conine pe fiecare linie cte un numr ntreg format din cel mult patru
cifre. Se tie c fiierul conine cel puin un numr.
Scriei un program eficient att din punct de vedere al timpului de executare ct i din punct
de vedere al spaiului de memorie utilizat, care citete de la tastatur un numr real x, apoi
determin i afieaz acel numr din fiierul bac.txt care are valoarea cea mai apropiat
de valoarea lui x.
Exemplu: dac fiierul bac.txt are coninutul alturat, iar de la tastatur se 4
-5
citete valoarea -3.85, programul va afia valoarea -5.
-6
a) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce -984
const eficiena ei (3 4 rnduri).
(4p.)
1345
-1
b) Scriei un program C/C++ care rezolv problema conform metodei descrise.
(6p.)
Subiectul III
Varianta 95 - informatica
b)
c)
d)
(10p.)
(4p.)
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera care corespunde
rspunsului corect.
1.
Cte valori nule pot s apar ntr-un vector cu legturi de tip tat asociat unui arbore cu
rdcin care conine 10 noduri?
(4p.)
a.
niciuna
b.
BACALAUREAT
- INFORMATIC,
limbajul C/C++ d.
c.
depinde 2009
de configuraia
arborelui
Specializarea Matematic-informatic
exact una
Subiectul I
exact dou
2.
a.
b.
64
c.
24
56
d.
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
4.
Scriei listele de adiacen pentru un graf neorientat care are 8 noduri, numerotate de la 1 la
8, i care are urmtoarele proprieti:
- are trei componente conexe;
- nu are noduri izolate;
- are un numr maxim de muchii.
(6p.)
5.
Scriei un program n limbajul C/C++ care citete de la tastatur un singur ir, format din cel
mult 20 de caractere, care reprezint numele i prenumele unei persoane. ntre nume i
prenume se afl un numr oarecare de caractere spaiu (cel puin unul). Att numele, ct i
prenumele, sunt formate numai din litere mici ale alfabetului englez. Programul construiete
n memorie i afieaz pe ecran un alt ir de caractere, care s conin iniiala prenumelui
(prima liter a prenumelui), urmat de un caracter punct, de exact un spaiu i de numele
din irul citit iniial. Toate literele din irul afiat vor fi de asemenea litere mici.
Exemplu: dac se citete irul:
popescu
vasile
se va construi i apoi se va afia pe ecran irul
v. popescu
(10p.)
Varianta 95 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
Funcia f primete prin intermediul parametrului n un numr natural nenul (2n200), iar
prin intermediul parametrului a un tablou unidimensional care conine n valori ntregi nenule
(fiecare dintre aceste valori ntregi avnd cel mult patru cifre).
Funcia returneaz valoarea -1 dac numrul de valori negative din tabloul a este strict mai
mare dect numrul de valori pozitive din tablou, valoarea 0 dac numrul de valori
negative din a este egal cu numrul de valori pozitive din tablou i valoarea 1 dac numrul
de valori pozitive din tabloul a este strict mai mare dect numrul de valori negative din a.
Scriei definiia complet a funciei f.
(10p.)
4.
a) Scriei un program C/C++ care citete de la tastatur un numr natural nenul, S, avnd
maximum 9 cifre, i printr-o metod eficient din punct de vedere al timpului de executare,
determin i scrie n fiierul rez.dat trei valori naturale a cror sum este egal cu S, i al
cror produs este maxim. Cele trei valori vor fi scrise n ordine cresctoare pe prima linie a
fiierului rez.dat, separate prin cte un spaiu.
Exemplu: dac se citete valoarea 5, fiierul rez.dat va avea o linie cu coninutul 1 2 2.
(6p.)
b) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri).
(4p.)
Subiectul III
Varianta 96 - informatica
c)
Scriei
programul
C/C++
corespunztor
algoritmului dat.
(10p.)
d)
Care este numrul maxim de valori egale care pot s apar ntr-un vector cu legturi de tip
tat asociat unui arbore cu rdcin care conine 10 noduri?
(4p.)
a.
cel mult 2
b.
BACALAUREAT
- INFORMATIC,
limbajul
C/C++ d.
c.
nu pot s2009
apar
valori egale ntr-un
vector
Specializarea
Matematic-informatic
cu legturi
de tip tat
10
Subiectul I
2.
a.
24
b.
64
c.
56
d.
1
0
1
0
0
0
1
0
1
0
0
1
1
0
0
0
1
0
0
0
4.
Scriei listele de adiacen pentru un graf neorientat, care are 8 noduri, numerotate de la 1
la 8, i care are urmtoarele proprieti:
- nu este conex;
- nu are noduri izolate;
- are un numr minim de muchii.
(6p.)
5.
Scriei un program n limbajul C/C++ care citete de la tastatur dou iruri, formate fiecare
din cel mult 20 de caractere. Primul ir reprezint numele unei persoane, iar al doilea ir
reprezint prenumele aceleiai persoane. Att numele ct i prenumele sunt formate numai
din litere ale alfabetului englez i fiecare conine cel puin o consoan. Programul
construiete n memorie i afieaz pe ecran un al treilea ir de caractere, care conine
consoanele din prenumele citit dispuse n ordinea n care apar n prenume urmate de exact
un spaiu i de numele citit.
Exemplu: dac primul ir citit este Popescu, iar al doilea este Vasile
se va construi i apoi se va afia pe ecran irul
Vsl Popescu
(10p.)
Varianta 96 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
Funcia verif primete prin intermediul a trei parametri, notai a, b i c, trei valori naturale
nenule, fiecare de maximum patru cifre. Funcia returneaz valoarea 1 dac cele trei valori
pot constitui laturile unui triunghi i valoarea 0 n caz contrar.
a) Scriei definiia complet a funciei verif.
(5p.)
b) Scriei un program C/C++ care citete de la tastatur ase valori naturale nenule, fiecare
de maximum patru cifre, apoi verific, utiliznd apeluri utile ale funciei verif, dac primele
trei numere citite pot constitui laturile unui triunghi i dac ultimele trei numere citite pot
constitui laturile unui triunghi; n caz afirmativ, programul afieaz pe ecran mesajul
congruente dac cele dou triunghiuri sunt congruente sau mesajul necongruente dac
cele dou triunghiuri nu sunt congruente; dac cel puin unul dintre cele dou triplete de
valori nu pot constitui laturile unui triunghi, programul va afia pe ecran mesajul nu.
(5p.)
4.
Fiierul text BAC.DAT conine pe prima linie, separate printr-un spaiu, dou valori naturale n
i m (2n1000, 2m1000), pe a doua linie n valori ntregi, apoi pe urmtoarele m linii cte
dou valori, fiecare dintre aceste perechi determinnd un interval nchis (prin interval nchis
determinat de dou valori a i b se nelege intervalul [a,b], dac ab sau intervalul
[b,a], dac b<a). Valorile de pe a doua i de pe urmtoarele m linii sunt separate ntre ele
prin cte un spaiu i au cel mult 4 cifre fiecare.
Se cere determinarea i afiarea pe ecran a numrului de intervale, dintre cele citite din
fiier, care conin toate valorile aflate pe a doua linie a fiierului. Se va utiliza o metod
eficient din punct de vedere al timpului de executare i al memoriei utilizate.
Exemplu: dac fiierul BAC.DAT are coninutul 10 4
8 3 -11 17 -8 3 14 5 0 -2
alturat, programul va afia: 2
Explicaie: din cele patru intervale date pe liniile 3, 4, 5 -10 100
i 6, numai dou conin toate valorile de pe a doua -20 50
15 -80
linie a fiierului i anume [-20,50] i [-11,20].
20 -11
a) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const
eficiena ei (3 4 rnduri).
(4p.)
b) Scriei un program C/C++ care s rezolve problema conform metodei descrise.
(6p.)
Subiectul III
Varianta 97 - informatica
Scriei n pseudocod un algoritm echivalent cu cel dat, care s nu utilizeze nicio structur
repetitiv.
(4p.)
d)
(10p.)
Se consider un graf neorientat 5 noduri i 3 muchii. Care este numrul maxim de noduri
cu grad 1 care pot exista n graf?
(6p.)
a.
b.
c.
d.
BACALAUREAT
2009 - INFORMATIC,
limbajul
C/C++ memorat cu ajutorul vectoruluiSubiectul
I
2.
Se consider
un arbore cu
rdcin
de tai
Specializarea
Matematic-informatic
T=(2,0,1,1,1,2).
Stabilii care dintre nodurile arborelui sunt situate pe nivelul 3, dac
3 4 5
b.
(4p.)
c.
2 6
d.
1 2 6
(6p.)
4.
5.
Varianta 97 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
3.
4.
Pe prima linie a fiierului text DATE.TXT se afl un numr natural n (0<n10000), iar pe a
doua linie un ir de n numere naturale, deprite prin cte un spaiu, fiecare avnd cel mult 4
cifre.
a) Scriei un program C/C++ care citete numerele din fiier i afieaz, pe ecran, valorile
din ir, n ordinea cresctoare a cifrei unitilor. Dac dou numere din ir au aceeai cifr a
unitilor nu conteaz care dintre ele va fi afiat primul. Realizai un program eficient din
punct de vedere al timpului de executare.
(6p.)
Exemplu: dac fiierul DATE.TXT conine
pe ecran se va afia:
500 491 32 422 213 26 328
7
32 491 26 328 213 500 422
b) Descriei succint, n limbaj natural, metoda utilizat, justificnd eficiena acesteia.
(4p.)
Subiectul III
Varianta 98 - informatica
Variabila ntreag x memoreaz o valoare mai mare ca 1000, format doar din cifre
distincte. Care dintre urmtoarele instruciuni C/C++ afieaz o singur cifr?
(4p.)
b. cout<<x/100; | printf("%d",x/100);
a. cout<<x/1; | printf("%d",x/1);
c. cout<<x%100; | printf("%d",x%100);
d. cout<<x%10/1;| printf("%d",x%10/1);
c)
d)
citete n
(numr ntreg)
i 1
Scriei toate valorile care pot fi citite pentru n
astfel nct s se afieze 4.
(6p.) ct timp i*i n execut
i i+1
Scriei n pseudocod un algoritm echivalent cu
scrie i-1
cel dat care s nu utilizeze nicio structur
repetitiv.
(4p.)
Scriei ce valoare se va afia
(10p.)
Fie graful orientat G cu 5 vrfuri, numerotate cu 1,2,3,4,5, i arcele (1,2), (1,3), (1,4),
(2,3), (4,2), (4,5), (5,2), (2,4). Care dintre urmtoarele vrfuri au gradul extern
egal cu gradul intern?
(4p.)
b.
d.
a.
2 i 4
4 i 5 limbajul C/C++c.
1 i 2
3 i 4Subiectul I
BACALAUREAT
2009 - INFORMATIC,
Specializarea
2.
Ce se Matematic-informatic
va afia n urma executrii secvene char a[10]="Examen";
de instruciuni alturate, considernd c s n=strlen(a);
este o variabil ir de caractere, iar n o strcpy(a+1,a+n-1);
variabil de tip ntreg?
(4p.) cout<<a;| printf("%s",a);
a.
En
b.
Een
c.
Exam
d.
Exn
4.
Structura de date COLET permite reinerea a dou numere reale, reprezentnd valoarea
exprimat n euro a unui colet potal, respectiv greutatea exprimat n kilograme, i un ir
de caractere reprezentnd numele oraului expeditorului, format din cel mult 30 de
caractere. Scriei n limbajul C/C++ declararea structurii COLET i o secven de instruciuni
care permite citirea valorilor componentelor variabilei x de tipul COLET. Denumii sugestiv
componentele structurii.
(6p.)
5.
Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n50) i
construiete n memorie un tablou bidimensional cu n linii i n coloane care s conin
primele n2 numere naturale pare. Prima linie a tabloului va conine, n ordine cresctoare,
valorile 0, 2,.., 2n-2; a doua linie va conine, n ordine, valorile 2n, 2n+2,.., 4n-2; a treia
linie va conine, n ordine, valorile 4n, 4n+2,.., 6n-2, iar ultima linie va conine, n ordine,
valorile 2n2-2n, 2n2-2n+2,.., 2n2-2.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 0 2 4
pe cte o linie a ecranului, elementele de pe aceeai linie fiind desprite 6 8 10
12 14 16
prin cte un spaiu.
Exemplu: pentru n=3 se va afia matricea alturat.
(10p.)
Varianta 98 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
3.
Scriei n limbajul C/C++ definiia complet a subprogramului numar, cu exact doi parametri,
care primete prin intermediul parametrului x un numr natural nenul de cel mult dou cifre,
i prin intermediul parametrului y un numr natural nenul de cel mult 9 cifre. Subprogramul
returneaz cel mai mare numr natural z pentru care exist un numr natural k astfel nct
z=xk i zy.
Exemplu: pentru y=18 i x=2 subprogramul va returna valoarea 16(=2418).
(10p.)
4.
Pe prima linie a fiierului text DATE.TXT se afl un ir de cel mult 10000 de numere
naturale, desprite prin cte un spaiu, fiecare avnd exact o cifr.
a) Scriei un program C/C++ care citete numerele din fiier i le scrie n fiierul text
OUT.TXT, pe o singur linie, n ordine cresctoare a valorilor lor, separate prin cte un
spaiu. Se va utiliza un algoritm eficient din punct de vedere al timpului de executare.
Exemplu: dac din fiierul DATE.TXT se citete irul:
2 4 3 2 7 4 3 7 2 7 7 2 1 9 1 1 2 3
fiierul OUT.TXT va conine
1 1 1 2 2 2 2 2 3 3 3 4 4 7 7 7 7 9
(6p.)
b) Explicai n limbaj natural metoda utilizat, justificnd eficiena acesteia.
(4p.)
Subiectul III
Varianta 99 - informatica
1.
citete x
(numr ntreg)
S-a notat cu x%y restul mpririi numrului natural x la dac x<0 atunci
x -x
numrul natural nenul y.
p 1
a)
Scriei ce se va afia pentru x=8.
(6p.)
pentru i1,x execut
b)
Scriei toate numerele naturale, de cte o singur cifr, p (p*4)%10
care, citite pentru x, determin afiarea valorii 4. (6p.)
scrie p
c)
Scriei n pseudocod un algoritm echivalent cu cel dat
care s nu utilizeze nicio structur repetitiv.
d)
(4p.)
2x
2.
Considerm variabila x care memoreaz irul de caractere ABAC. Care dintre urmtoarele
instruciuni conduc la afiarea caracterului B?
(4p.)
a.
cout<<x[strlen(x)-3];
b.
2x-1
c.
cout<<x[2];
| printf("%c",x[2]);
d.
b.
cout<<x[strlen(x)-1];
d.
cout<<x[strlen(x)];
| printf("%c",x[strlen(x)-3]);
c.
2x+1
2x/2
| printf("%c",x[strlen(x)-1]);
| printf("%c",x[strlen(x)]);
Considerm un graf neorientat cu 5 noduri i 3 muchii format din dou componente conexe.
tiind c doar patru dintre noduri au gradul 1, scriei matricea de adiacen a grafului. (6p.)
4.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n50) i
construiete n memorie un tablou bidimensional cu n linii i n coloane care s conin
primele n numere naturale nenule. Prima linie a tabloului va conine, n aceast ordine,
valorile 1,2,...,n; a doua linie va conine, n ordine, valorile 2,2,3,...,n; a treia linie
va conine, n ordine, valorile 3,3,3,4,...,n, iar ultima linie va conine valorile n,
n,..., n.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 1 2 3 4 5
pe cte o linie a ecranului, elementele fiecrei linii fiind desprite prin 2 2 3 4 5
3 3 3 4 5
cte un spaiu.
Exemplu: pentru n=5 se va afia matricea alturat.
(10p.) 4 4 4 4 5
5 5 5 5 5
Varianta 99 - informatica
Ministerul Educaiei, Cercetrii i Inovrii
Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
1.
Se utilizeaz metoda backtracking pentru a genera toate cuvintele formate din dou litere
distincte din muimea {w,x,z,y} astfel nct niciun cuvnt s nu nceap cu litera x i
niciun cuvnt s nu conin litera w lng litera z. Cuvintele vor fi generate n ordinea wx,
wy, zx, zy, yw, yx, yz. Folosind aceeai metod se genereaz toate cuvintele de dou
litere distincte din mulimea {w,x,z,y,t} astfel nct niciun cuvnt s nu nceap cu litera
x i niciun cuvnt s nu conin litera w lng litera z. Care sunt a treia i a patra soluie
generat?
(6p.)
3.
4.
Pe prima linie a fiierului text DATE.TXT se afl un numr natural nenul n (n1000), iar pe
a doua linie un ir de n numere ntregi nenule, deprite prin cte un spaiu, fiecare avnd
cel mult 9 cifre.
a) Scriei un program C/C++ care citete numerele din fiier i ordoneaz cresctor doar
numerele pozitive din ir, fr a modifica poziiile numerelor negative. Programul va afia, pe
ecran, pe o singur linie, irul obinut dup ordonare, numerele fiind desprite prin cte un
spaiu. n locul fiecrui numr negativ din irul citit se va afia valoarea 0. Realizai un
program eficient din punct de vedere al spaiului de memorie folosit.
(6p.)
Exemplu: dac fiierul DATE.TXT conine:
pe ecran se va afia:
23 0 32 0 51 213 0
7
32 -491 23 -328 213 51 -4
b) Descriei succint, n limbaj natural, metoda utilizat, justificnd eficiena acesteia.
(4p.)
Subiectul III
tiind c iniial variabilele ntregi x, y i z au valorile x=1, y=2 respectiv z=3, n ce ordine
trebuie scrise atribuirile urmtoare astfel nct, n final, expresia x+y+z s aib valoarea
maxim?
(4p.)
I) x=x+y-z;
II) y=x-y+z;
III) z=z-x+y;
a. III
II
b. I
II
III
c. III
II
d. I III
II
citete a
b)
Scriei cel mai mic i cel mai mare numr, fiecare ab
avnd exact 3 cifre, care pot fi citite astfel nct, n pn cnd a<10
ambele cazuri, s se afieze valoarea 7.
(6p.)
scrie b
c)
Scriei programul C/C++ corespunztor algoritmului
dat.
(10p.)
d)
d.
Subiectul I
2.
Se consider lista simplu nlnuit memorat static, n tabloul de mai jos, n care fiecrui
nod al listei i corespunde cte o coloan a tabloului: pe prima linie se memoreaz
informaia din nodul respectiv, iar pe a doua linie se memoreaz indicele coloanei din
tablou la care se afl nodul urmtor din list, sau -1 dac nu exist un nod urmtor.
Ce informaii se afieaz la parcurgerea nodurilor n ordinea
n care apar n list, dac primul nod este memorat n
coloana 1?
(4p.)
a.
1,3,5,7
b.
1,3,2,5,7
c.
1,5,7
d.
1,4,5,3,7
4.
5.
Scriei un program C/C++ care citete de la tastatur un numr natural n (1n100)i apoi
elementele unui tablou bidimensional cu n linii i n coloane, care memoreaz numere
naturale cu cel mult 9 cifre fiecare; programul afieaz pe ecran acele valori din tablou care
sunt strict mai mici dect toate elementele cu care se nvecineaz direct (aflate pe aceeai
linie dar pe o coloan alturat sau pe aceeai coloan dar pe o linie alturat), ca n
exemplu. Numerele afiate vor fi separate prin cte un spaiu.
Exemplu: pentru n=4 i tabloul alturat se afieaz numerele: 2 0 (2 se 5 4 7 9
nvecineaz direct cu 4, 3, 6 i 9, i este mai mic dect acestea, iar 0 se 6 2 3 4
0 9 8 5
nvecineaz direct cu 6, 9 i 1 i este mai mic dect acestea).
(10p.)
strcpy(e,e+strlen(e)-1);
(6p.)
1 3 8 6
Aplicnd metoda backtracking pentru a genera toate permutrile celor n elemente ale unei
mulimi, o soluie se memoreaz sub forma unui tablou unidimensional x1,x2,,xn. Dac
sunt deja generate valori pentru componentele x1,x2,,xk-1, iar pentru componenta
curent, xk (1<k<n), a fost gsit o valoare convenabil, atunci se ncearc alegerea (4p.)
a. unei noi valori pentru componenta xk-1
b. unei valori pentru componenta xk+1
d. unei noi valori pentru componenta x1
c. unei noi valori pentru componenta xk
Scriei definiia complet a subprogramului divizor, cu trei parametri, prin care primete 3
numere naturale nenule cu cel mult 9 cifre fiecare i returneaz numrul divizorilor comuni
tuturor celor 3 numere.
Exemplu: dac numerele primite ca parametri sunt 24, 20 i 12, subprogramul returneaz
valoarea 3 (divizorii comuni sunt 1, 2 i 4).
(10p.)
4.
Fiierul BAC.TXT conine 10000 de numere naturale (dintre care cel puin dou impare) cu
cel mult 9 cifre fiecare. Numerele sunt separate prin cte un spaiu.
a) Scriei un program C/C++ care, utiliznd un algoritm eficient din punct de vedere al
spaiului de memorare i al timpului de executare, determin i afieaz pe ecran
penultimul numr impar din fiier precum i numrul de ordine al acestuia.
(6p.)
Exemplu: dac fiierul conine valorile alturate, se vor afia
numerele 49 9998 (penultimul numr impar este 49 i are
numrul de ordine 9998.
b) Descriei n limbaj natural metoda utilizat i explicai n ce const eficiena ei.
(4p.)
Subiectul III