Variante Bac Info 2008-2009
Variante Bac Info 2008-2009
Variante Bac Info 2008-2009
1. Variabilele x şi y sunt de tip întreg, x memorând valoarea 8, iar y valoarea 6. Care dintre
expresiile C/C++ de mai jos are valoarea 0? (4p.)
a. 3*x-4*y==0 b. (x+y)/2 > x%y+1
c. !(x/2+2==y) d. x-y+3!=0
HHHHHH (4p.)
a. 0 b. 4 c. 6 d. 5
1. Variabila întreagă n memorează un număr natural impar. Care dintre următoarele expresii
C/C++ are valoarea 1? (4p.)
a. !(n%2) b. n%2==0 c. n%2!=0 d. !((n+1)%2==0)
1. Variabilele a şi b sunt de tip int, iar variabilele c şi d sunt de tip double. Care dintre
următoarele instrucţiuni de atribuire nu este corectă din punct de vedere sintactic? (4p.)
a. c=d+2*c; b. c=2-d%2*a; c. c=sqrt(b*b); d. b=(d<=c);
scrie a
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră o coadă în care iniţial au fost introduse, în această ordine, elementele cu
1 2
valorile 1 şi 2: . Se notează cu AD(x) operaţia prin care se adaugă elementul cu
valoarea x în coadă şi cu EL operaţia prin care se elimină un element din coadă. Câte
elemente va conţine coada în urma executării secvenţei de operaţii:
AD(4);EL;EL;AD(5);EL;AD(3)? (4p.)
a. 3 b. 1 c. 2 d. 5
2. Care este numărul maxim de componente conexe pe care le poate avea un graf neorientat
cu 20 noduri şi 12 muchii? (4p.)
a. 6 b. 12 c. 10 d. 15
4. Pentru arborele reprezentat prin vectorul “de taţi” T=(6,6,5,0,6,4,4,7), scrieţi care este
nodul cu cei mai mulţi fii şi care sunt frunzele arborelui. (6p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale nenule n şi m
(2≤m≤10, 2≤n≤10) şi care construieşte în memorie şi apoi afişează 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 (1≤i≤n, 1≤j≤m).
Matricea se va afişa pe ecran, câte o linie a matricei pe câte o linie a ecranului, elementele
fiecărei linii fiind separate prin câte un spaţiu.
Exemplu: pentru n=4 şi m=5 se va afişa matricea alăturată. 1 1 1 1 1
1 2 2 2 2
1 2 3 3 3
(10p.) 1 2 3 4 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Câte grafuri neorientate, distincte, cu 3 vârfuri se pot construi? Două grafuri se consideră
distincte dacă matricele lor de adiacenţă sunt diferite. (4p.)
a. 23 b. 6 c. 32 d. 16
2. Variabila d, declarată alăturat, memorează în câmpurile
struct dreptunghi
a şi b lăţimea şi, respectiv, lungimea unui dreptunghi.
{
Care dintre următoarele instrucţiuni atribuie câmpului p float a,b,p;
al variabilei d valoarea perimetrului dreptunghiului }d;
respectiv? (4p.)
a. p.d=2*(d.a+d.b); b. p.d=2*a.d+2*b.d;
c. d.p=2*d.a+2*d.b; d. d.p==2*d.a+2*d.b;
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră un graf orientat cu 6 noduri numerotate de la 1 la 6 şi cu mulţimea arcelor
formată doar din arcele:
- de la fiecare nod numerotat cu un număr neprim i (i>1) la toate nodurile numerotate cu
numere ce aparţin mulţimii divizorilor proprii ai lui i (divizori diferiţi de 1 şi de i)
- de la nodul numerotat cu 1 la nodul numerotat cu 6
- de la fiecare nod numerotat cu un număr prim i la nodul numerotat cu i-1
Pentru graful dat, câte dintre nodurile grafului au gradul exterior strict mai mare decât gradul
interior? (4p.)
a. 1 b. 2 c. 4 d. 3
2. Câte frunze are arborele cu rădăcină descris prin următorul vector ”de taţi”:
(6,5,5,2,0,3,3,3,8,7,7)? (4p.)
a. 1 b. 2 c. 5 d. 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră un graf orientat cu 6 noduri numerotate de la 1 la 6 şi cu mulţimea arcelor
formată doar din arcele:
- de la fiecare nod numerotat cu un număr neprim i (i>1) la toate nodurile numerotate cu
numere ce aparţin mulţimii divizorilor proprii ai lui i (divizori diferiţi de 1 şi de i)
- de la nodul numerotat cu 1 la nodul numerotat cu 6
- de la fiecare nod numerotat cu un număr prim i la nodul numerotat cu i-1
Pentru graful dat, câte dintre nodurile grafului au gradul exterior egal cu gradul interior? (4p.)
a. 2 b. 3 c. 1 d. 4
2. Câte frunze are arborele cu rădăcină, cu 8 noduri, numerotate de la 1 la 8, descris prin
următorul vector ”de taţi”: (6,5,5,2,0,3,3,3)? (4p.)
a. 4 b. 6 c. 5 d. 3
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Într-un graf neorientat cu 10 muchii, fiecare nod are gradul un număr nenul. Doar trei dintre
noduri au gradul un număr par, restul nodurilor având gradele numere impare. Care este
numărul maxim de noduri pe care poate să le aibă graful? (4p.)
a. 14 b. 17 c. 10 d. 16
2. Variabila d, declarată alăturat, memorează în câmpurile a şi
b lăţimea şi, respectiv, lungimea unui dreptunghi. Care dintre struct dreptunghi
următoarele instrucţiuni atribuie câmpului aria al variabilei d {
valoarea ariei dreptunghiului respectiv? (4p.) 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;
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. În declararea alăturată, câmpul a al structurii memorează struct p{
număratorul, iar câmpul b memorează numitorul unei fracţii. int a,b;} x,y;
Care dintre următoarele secvenţe de instrucţiuni determină, int t;
în urma executării, interschimbarea numitorului fracţiei x cu
numitorul fracţiei y? (4p.)
a. t=x.b; x.b=y.b; y.b=t; b. t=b.x; b.x=b.y; b.y=t;
c. x.b=y.b; d. b.x=b.y;
2. Se consideră un graf neorientat cu 10 noduri şi 7 muchii. Care este numărul maxim de
componente conexe din care poate fi format graful? (4p.)
a. 8 b. 7 c. 6 d. 10
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră tabloul bidimensional a cu n linii p=0;
numerotate de la 0 la n-1 şi m coloane for (i=1;i<m;i++)
numerotate de la 0 la m-1. Ce reprezintă if (a[n-1][p]<a[n-1][i])
elementul a[n-1][p] după executarea p=i;
secvenţei de program alăturate? (4p.)
a. cel mai mare element de pe linia n-1 b. cel mai mic element de pe linia n-1
c. cel mai mare element de pe coloana n-1 d. cel mai mic element de pe coloana n-1
2. Care dintre următoarele 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
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Câte frunze are arborele cu 8 noduri şi rădăcina 1, 0 1 0 0 1 0 0 0
reprezentat prin matricea de adiacenţă alăturată? (4p.) 1 0 1 0 0 0 0 0
0 1 0 1 0 0 0 0
0 0 1 0 0 0 0 0
1 0 0 0 0 1 0 1
0 0 0 0 1 0 1 0
0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0
a. 5 b. 4 c. 3 d. 2
2. Care este numărul maxim de vârfuri de grad 0 pe care le poate avea un graf neorientat cu
10 noduri şi 7 muchii? (4p.)
a. 5 b. 6 c. 4 d. 7
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Considerând declararea alăturată, care dintre următoarele secvenţe de struct {
instrucţiuni realizează în mod corect citirea de la tastatură a valorilor int a, b;
celor două câmpuri ale variabilei x? (4p.) } x;
a. cin>>x; | scanf(”%d”, &x);
b. cin>>a.x>>b.x; | scanf(”%d %d”, &a.x,&b.x);
c. cin>>x.a>>x.b; | scanf(”%d %d”, &x.a,&x.b);
d. cin>>a->x>>b->x; | scanf(”%d %d”, &a->x,&b->x);
2. Se consideră graful neorientat G cu 8 noduri, care are următoarele proprietăţi:
- suma gradelor tuturor nodurilor este 12
- graful are exact 3 noduri cu gradul 1
Care este numărul maxim de noduri de grad 0 ale grafului G? (4p.)
a. 1 b. 4 c. 2 d. 0
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Considerând declararea alăturată, care dintre următoarele secvenţe de struct {
instrucţiuni afişează valorile memorate în cele două câmpuri ale int a, b;
variabilei x, separate printr-un spaţiu? (4p.) } x;
a. cout <<x.a<<” ”<<x.b; | printf(”%d %d”, x.a,x.b);
b. cout<<a.x<<” ”<<b.x; | printf(”%d %d”, a.x,b.x);
c. cout<<x; | printf(”%d”, x);
d. cout<<a->x<<” ”<<b->x; | printf(”%d %d”, a->x,b->x);
2. Se consideră declarările de mai jos: i=0;
while (i<strlen(s)-1)
char s[]=”abbacdde”;
if (s[i]==s[i+1])
int i;
{ strcpy(s+i,s+i+2);
Ce şir reţine variabila s după executarea secvenţei de if (i>0) i=i-1;
instrucţiuni alăturate? (4p.) }
else i=i+1;
a. aace b. ace c. ce d. acde
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful orientat reprezentat prin matricea de 0 1 1 0 0 0
adiacenţă alăturată. Care este lungimea maximă a unui drum de 0 0 0 0 1 1
la vârful 4 până la vârful 6 format din vârfuri distincte două câte 0 0 0 0 0 0
două (lungimea unui drum este egală cu numărul de arce care 0 0 1 0 1 0
compun acel drum)? (6p.) 1 1 0 0 0 1
1 0 1 0 0 0
a. 4 b. 3 c. 1 d. 5
2. Pentru a memora simultan numele şi media la informatică a unui elev în variabila e, se
poate utiliza declararea: (4p.)
a. struct e{ b. char e.nume[40];
string nume; float media;} float e.media;
c. float e; d. struct {char a[40]; float b;} e;
4. Câte grafuri neorientate distincte, fără bucle, cu 4 vârfuri, se pot construi? Două grafuri sunt
distincte dacă matricele lor de adiacenţă diferă. (4p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură două valori naturale nenule m şi n
(m≤10, n≤10) şi apoi m*n numere naturale nenule cu cel mult 4 cifre fiecare, reprezentând
elementele unei matrice cu m linii şi n coloane. Programul determină apoi valorile minime de
pe fiecare linie a matricei şi le afişează pe o linie a ecranului separate prin câte un spaţiu.
3 6 5 4 7
Exemplu: pentru m=3, n=5 şi matricea 9 6 12 9 10 , se afişează pe ecran valorile
5 13 7 2 3
3 6 2 (cea mai mică valoare de pe prima linie a matricei este 3, cea mai mică valoare de pe
linia a doua este 6, cea mai mică valoare de pe linia a treia este 2). (10p.)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Un graf neorientat este reprezentat prin matricea de 0 1 1 0 0 0
adiacenţă alăturată. Care sunt vârfurile care au gradul 1 0 1 1 0 1
maxim? (4p.) 1 1 0 1 0 0
0 1 1 0 1 1
0 0 0 1 0 1
0 1 0 1 1 0
a. 2 b. 2, 4 c. 4 d. 1, 3, 6
2. Pentru care dintre următorii arbori cu rădăcină, memoraţi cu ajutorul vectorilor de taţi,
nodurile 4, 6 şi 9 sunt singurii descendenţi direcţi (fii) ai nodului 3? (6p.)
a. tata=(2,0,2,3,2,3,4,4,3) b. tata=(3,3,4,0,2,3,4,4,4)
c. tata=(6,4,9,0,3,3,3,3,3) d. tata=(0,3,1,3,2,3,4,4,3)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este vectorul "de taţi" pentru arborele cu rădăcină
din figura alăturată? (6p.)
a. 0 0 5 7 6 5 1 b. 1 0 0 7 6 5 0
c. 7 4 5 0 4 5 4 d. 7 4 5 0 4 5 7
2. Câte grafuri neorientate distincte, cu 5 noduri, numerotate de la 1 la 5, se pot construi,
astfel încât nodul 1 să aibă gradul 1? Două grafuri sunt distincte dacă matricele lor de
adiacenţă sunt diferite. (4p.)
a. 32 b. 256 c. 15 d. 24
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră un graf neorientat cu 5 noduri, etichetate cu literele a, b, c, d, e, în care orice
nod etichetat cu o vocală este adiacent cu toate nodurile etichetate cu consoane şi numai
cu acestea, iar orice nod etichetat cu o consoană este adiacent numai cu nodurile
etichetate cu vocale. Câte muchii are acest graf? (4p.)
a. 12 b. 6 c. 4 d. 3
2. Într-o stivă au fost introduse, în această ordine, valorile 10, 5, 4, ca în
figura alăturată. Dacă se notează cu PUSH(x) operaţia prin care se
adaugă valoarea x în vârful stivei, şi cu POP operaţia prin care se
extrage elementul din vârful stivei, care este conţinutul stivei după
executarea următoarelor operaţii?
POP; PUSH(7); POP; POP; PUSH(9); (6p.)
a. b. c. d.
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Câţi fraţi are nodul 1 din arborele cu rădăcină cu 7 noduri, numerotate de la 1 la 7, având
următorul vector ”de taţi”: (5,1,5,1,0,7,5)? (6p.)
a. 0 b. 1 c. 2 d. 3
2. Stiva este o structură de date care poate fi descrisă astfel: (4p.)
a. oricare element poate fi extras b. ultimul element introdus în stivă este
ultimul care poate fi extras
c. primul element introdus în stivă este d. primul element introdus în stivă este
primul care poate fi extras ultimul care poate fi extras
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Numărul 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
2. Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care
memorează simultan vârsta în ani împliniţi şi media la bacalaureat a unui elev? (4p.)
a. struct {float media; b. struct x {float media;
int varsta;} x; int varsta;};
c. float x.media; d. struct elev {float x.media;
int x.varsta; int x.varsta};
(6p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<16),
construieşte în memorie şi afişează pe ecran o matrice cu n linii şi n coloane, în care
elementele de pe cele două diagonale sunt egale cu 4, iar restul elementelor sunt egale cu
3. Elementele matricei vor fi afişate pe ecran, câte o linie a matricei pe câte o linie a
ecranului cu câte un spaţiu între elementele fiecărei linii.
Exemplu: pentru n=5 se va afişa matricea alăturată. (10p.) 4 3 3 3 4
3 4 3 4 3
3 3 4 3 3
3 4 3 4 3
4 3 3 3 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este gradul maxim posibil şi care este gradul minim posibil pentru un nod dintr-un graf
cu n noduri, care este arbore? (4p.)
a. n-1 şi 1 b. n şi 1
c. n şi 0 d. n-1 şi 0
2. Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care
memorează simultan codul de identificare al unui candidat la un examen, exprimat ca un
număr natural de cel mult 4 cifre şi media obţinută de acesta la examen, exprimată ca un
număr real? (4p.)
a. struct x { int cod; b. struct { int cod;
float media;}; float media;} x;
c. int x.cod ; d. struct candidat { int x.cod;
float x.media; float x.media;};
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Un arbore binar este un arbore cu rădăcină în care fiecare nod are cel mult 2 descendenţi
direcţi (fii), iar înălţimea arborelui este reprezentată de numărul maxim de muchii ale unui
lanţ elementar ce uneşte rădăcina cu un vârf terminal (frunză). Pentru un arbore binar cu
exact 8 noduri, precizaţi care este înălţimea minimă posibilă? (4p.)
a. 4 b. 7 c. 3 d. 2
2. Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care
memorează simultan coordonatele reale (abscisa şi ordonata) ale unui punct în planul
xOy? (4p.)
a. struct punct {float ox,oy;} x; b. char x[2];
c. struct x {float ox,oy;}; d. float x;
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Un graf neorientat este complet dacă oricare două noduri distincte ale sale sunt adiacente.
Care este numărul de muchii care trebuie eliminate dintr-un graf neorientat, complet, cu 7
noduri, astfel încât graful parţial obţinut să fie arbore? (4p.)
a. 15 b. 1 c. 6 d. 21
2. Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care
memorează simultan partea reală şi partea imaginară a unui număr complex? (4p.)
a. struct x {float im,re;}; b. char x[2];
c. struct complex{ d. float x;
float im, re;} x;
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Suma gradelor interne ale tuturor vârfurilor unui graf orientat este întotdeauna egală cu:
(4p.)
a. numărul valorilor de 1 aflate sub b. produsul gradelor externe ale tuturor
diagonala principală în matricea sa de vârfurilor grafului
adiacenţă
c. suma tuturor valorilor aflate deasupra d. suma gradelor externe ale tuturor
diagonalei principale în matricea sa de vârfurilor grafului
adiacenţă
2. Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care
memorează simultan numărătorul şi numitorul unei fracţii ireductibile: (4p.)
a. struct fractie{int n1,n2;} x; b. char x[2];
c. struct x{int n1,n2;}; d. float x;
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. În secvenţa de mai jos, variabila a memorează un tablou bidimensional cu 4 linii şi 4 coloane,
numerotate de la 1 la 4, cu elementele reale. Variabila p este reală, iar i este de tip întreg.
Care dintre instrucţiunile de mai jos poate înlocui p=1;
punctele de suspensie astfel încât secvenţa să for(i=1;i<=4;i++)
determine memorarea în variabila p a valorii produsului ....
celor 8 elemente aflate pe diagonalele matricei.
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. 5 b. 20 c. 10 d. 17
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Într-o stivă ce memorează numere întregi se introduc, în ordine, următoarele numere:
1,2,3,4,5,6,7. Câte numere trebuie să eliminăm din stivă astfel ca în vârful stivei să se
găsească numărul 5? (4p.)
a. 5 b. 2 c. 3 d. 4
2. Pentru declararea alăturată precizaţi care struct elev
dintre instrucţiunile de atribuire este greşită:(6p.) {char nume[20];
int nota;} e1,e2;
a. e1=e2+1; b. e1.nume[2]=’x’;
c. e1=e2; d. e1.nota=e2.nota+1;
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care din următoarele expresii are valoarea 1 dacă şi numai dacă şirul de caractere s, de
lungime 10, este obţinut prin concatenarea a două şiruri identice? (6p.)
a. strcmp(s,s+5)==0 b. s==strstr(s,s+5)
c. s==s+5 d. strcmp(s,strcat(s,s+5))==0
2. Funcţia predefinită care returnează modulul unui număr întreg este: (4p.)
a. sgn b. fabs c. mod d. abs
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este structura de date adecvată memorării unui număr neprecizat de şiruri de
caractere reprezentând cuvintele dintr-un text? (4p.)
a. o listă înlănţuită în care fiecare nod b. un tablou bidimensional de caractere
memorează un cuvânt
c. un şir de caractere de lungime egală cu d. o structură cu atâtea câmpuri câte cuvinte
lungimea textului există
2. Care din următoarele proprietăţi este adevărată pentru un graf orientat cu n vârfuri şi n arce
(n>3) care are un circuit de lungime n: (6p.)
a. există un vârf cu gradul intern n-1 b. pentru orice vârf gradul intern şi gradul
extern sunt egale
c. graful nu are drumuri de lungime strict d. gradul intern al oricărui vârf este egal cu
mai mare decât 2 2
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Structura de date la care se aplică principiul „primul venit, primul ieşit”: (first in, first out)
este: (4p.)
(6p.)
4. Scrieţi secvenţa de instrucţiuni care permite afişarea pe ecran a mesajului Corect dacă un
şir de maximum 100 caractere, reţinut de variabila s, conţine caractere de tip cifră, sau
mesajul Incorect în caz contrar. (4p.)
5. Se consideră un tablou bidimensional cu m linii şi n coloane (1≤m≤100,1≤n≤100), ale cărui
elemente aparţin mulţimii {0,1,2}. Scrieţi un program C/C++ citeşte de la tastatură valorile
m, n şi elementele tabloului şi care afişează pe ecran numerele de ordine ale coloanelor
pentru care produsul elementelor situate pe ele, este maxim. Liniile şi coloanele tabloului
se numerotează de la 1 la m respectiv de la 1 la n. Numerele se vor afişa separate prin
câte un spaţiu.
Exemplu: pentru m=4 şi n=4 şi tabloul alăturat se va afişa, nu neapărat în 2 1 1 0
această ordine: 1 1 1 1
2 2 2 1
1 2 (10p.) 1 2 1 1
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Pentru graful neorientat din figura alăturată, care este numărul de
muchii ale celui mai lung lanţ, format din noduri distincte, ce are
ca extremităţi nodurile 1 şi 3 ? (4p.)
a. 2 b. 3 c. 1 d. 4
2. Care este nodul ce poate fi ales ca rădăcină a arborelui din figura
alăturată, astfel încât rădăcina să aibă 3 descendenţi direcţi (fii) ?
(4p.)
a. 3 b. 4 c. 6 d. 1
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este numărul arcelor ce au ca extremitate iniţială vârful 4, în
graful orientat din figura alăturată ? (4p.)
a. 3 b. 2 c. 1 d. 0
2. Care este numărul nodurilor de tip frunză din arborele cu rădăcină, cu 8 noduri, numerotate
de la 1 la 8, reprezentat prin vectorul ”de taţi” (2,0,6,2,4,4,5,5)? (6p.)
a. 3 b. 4 c. 5 d. 2
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este numărul minim de muchii ce pot fi eliminate din graful
alăturat astfel încât în graful parţial rezultat să existe exact un vârf de
grad 0? (6p.)
a. 1 b. 3 c. 2 d. 5
2. Într-un arbore cu rădăcină fiecare nod neterminal are exact 2 descendenţi direcţi (fii).
Care este numărul de noduri din arbore dacă acesta are 8 frunze? (4p.)
a. 8 b. 7 c. 15 d. 10
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este numărul maxim de noduri de grad 3 într-un graf neorientat cu 5 noduri? (4p.)
a. 4 b. 5 c. 3 d. 2
2. Care dintre noduri trebuie ales ca rădăcină în arborele din figura alăturată
astfel încât să existe un nod cu 3 descendenţi direcţi (fii)? (6p.)
a. 2 b. 3 c. 6 d. 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este numărul nodurilor de grad 1 în graful din figura alăturată ?(6p.)
a. 0 b. 1 c. 2 d. 3
2. Care este valoarea expresiei strlen(s) pentru variabila s de tip şir de caractere, declarată
şi iniţializată astfel: char s[15]=”Proba_E”; (4p.)
a. 7 b. 15 c. 6 d. 5
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful neorientat cu 7 noduri, numerotate de la 1 la 7, şi muchiile[1,3],
[2,3], [3,4], [3,5], [5,4], [1,2], [2,5], [2,4], [6,7], [3,6]. Gradul nodului 5
este : (4p.)
a. 0 b. 1 c. 3 d. 4
2. Un arbore cu 11 noduri, numerotate de la 1 la 11, este memorat cu ajutorul vectorului de
taţi t=(2,5,5,3,0,2,4,6,6,2,3). Mulţimea tuturor ascendenţilor nodului 8 este: (4p.)
a. {1, 2, 5, 6, 10} b. {6, 2, 5}
c. {6} d. {5, 2}
5. Scrieţi un program C/C++ care construieşte în memorie o matrice cu 10 linii şi 7 coloane ale
cărei elemente sunt numere întregi (cu maximum 3 cifre fiecare), citite de la tastatură, şi
afişează pe ecran, suma tuturor elementelor situate pe conturul matricei determinat de prima
şi ultima linie respectiv prima şi ultima coloană a acestei matrice. (10p.)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Un graf orientat este memorat cu ajutorul listelor alăturate de 1:(5,6); 4:(1,2);
adiacenţă. Suma elementelor de pe ultima linie a matricei de 2:(1,5); 5:(2);
adiacenţă asociată grafului este egală cu: 3:(1,5); 6:(2, 4, 5);
(4p.)
a. 3 b. 0 c. 1 d. 5
2. Graful neorientat cu 8 noduri, numerotate de la 1 la 8, este
reprezentat cu ajutorul matricei de adiacenţă alăturate. Numărul
minim de muchii ce trebuie adăugate pentru ca graful să devină conex
este egal cu: (4p.)
a. 2 b. 1 c. 0 d. 3
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful neorientat cu 6 noduri, definit cu ajutorul 1: 4,5,6 4: 1,2,3
listelor de adiacenţă alăturate. În acest graf, suma gradelor 2: 3,4 5: 1,6
tuturor nodurilor este: (4p.)
3: 2,4 6: 1,5
a. 14 b. 6 c. 28 d. 10
2. Un arbore cu rădăcină are nodurile numerotate de la 1 la 18 şi este reprezentat prin
vectorul de taţi t:(8,8,0,3,4,3,4,7,1,2,3,3,7,8,3,5,6,8). Numărul tuturor
descendenţilor nodului 3 este egal cu: (4p.)
a. 3 b. 6 c. 17 d. 18
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
Graful neorientat cu 60 de noduri, numerotate de la 1 la 60, are numai muchiile [1,60],
1.
[60,20], [2,30] şi [4,30]. Numărul componentelor conexe ale grafului este egal cu:
(4p.)
a. 3 b. 56 c. 54 d. 0
2. Care dintre vectorii următori poate fi vectorul de taţi ai unui arbore cu rădăcină având 10
noduri, numerotate de la 1 la 10? (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)
Reprezentaţi coada ca în modelul de mai sus, după fiecare dintre următoarele operaţii,
care se realizează în această ordine:
- extragerea a două elemente
- adăugarea valorii 100
- adăugarea valorii 200. (6p.)
4. Ce se va afişa în urma executării secvenţei char c[21]="tastatura";
alăturate, în care variabila c memorează un şir for(i=0;i<strlen(c)/2;i=i+1)
cu cel mult 20 de caractere, iar i este o cout<<c[i+1]; | printf(”%c”,c[i+1]);
variabilă de tip întreg? (6p.)
5. Scrieţi programul C/C++ care citeşte de la tastatură un număr natural n (n≤20),
construieşte în memorie şi afişează pe ecran, matricea cu n linii şi n coloane, în care se vor
memora în ordinea strict crescătoare a valorii, pe linii şi coloane, primele n2 numere naturale
nenule, pare, care nu sunt divizibile cu 3.
Fiecare linie a matricei se va afişa pe câte o linie a ecranului, cu 2 4 8 10
elementele de pe aceeaşi linie separate prin câte un spaţiu. 14 16 20 22
Exemplu: pentru n=4 se va construi şi afişa matricea alăturată. 26 28 32 34
(10p.) 38 40 44 46
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful neorientat G=(X,U) X={1,2,3,4,5,6,7,8} U={[1,2], [2,3],
[2,4], [2,6], [4,7], [1,5], [5,6], [6,8], [7,8]}. Pentru a trasforma graful într-un
arbore, putem elimina: (4p.)
a. muchiile [1,5] şi [1,2] b. muchia [5,6]
c. nodul 3 d. muchiile [2,6] şi [4,7]
2. Pentru declararea unei variabile care memorează un cuvânt având maximum 25 caractere,
putem utiliza sintaxa: (4p.)
a. char c; b. char c[]; c. char c[26]; d. char[26] c;
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde răspunsului
corect.
1. Ştiind că în urma executării secvenţei x=strlen(s);
alăturate s-a afişat succesiunea de caractere for (i=0;i<x/2;i++)
EXAMEN, care este şirul de caractere cout<<s[i]<<s[x-i-1];
memorat de variabila s? (6p.) |printf(“%c%c”,s[i],s[x-i-1]);
a. EAENMX b. ENXAME c. NEEXMA d. NEMAXE
2. Se consideră o coadă, în care au fost introduse iniţial, în această ordine, două
numere 2 şi 1. Conţinutul cozii este reprezentat în figura alăturată. Notăm cu
AD X operaţia prin care se adaugă informaţia X în coadă şi cu EL operaţia
prin care se elimină un element din coadă. Asupra cozii se efectuează, exact
în această ordine, operaţiile AD 5; EL; AD 4; EL; AD 7. Care este conţinutul
cozii după executarea operaţiilor de mai sus? (4p.)
a. 1 5 4 b. 5 4 7 c. 7 4 5 d. 2 1 5
4. Câte muchii trebuie eliminate dintr-un graf neorientat complet cu 20 de noduri, pentru ca acesta
să devină arbore? Un graf este complet dacă oricare două noduri distincte sunt adiacente. (6p.)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Fie declarările alăturate. Dacă variabila x struct elev{
reţine informaţii despre un elev, precizaţi char nume[30];
care este varianta corectă ce afişează prima float nota;};
literă din numele acestuia? (6p.) elev x;
a. cout<<x; | printf(“%c“,x);
b. cout<<x.nume[0]; | printf(“%c“,x.nume[0]);
c. cout<<x.nume; | printf(“%c“,x.nume);
d. cout<<nume; | printf(“%c“,nume);
2. Se consideră o coadă, în care au fost introduse iniţial, în această ordine, două
numere 2 şi 1. Conţinutul cozii este reprezentat în figura alăturată. Notăm cu
AD X operaţia prin care se adaugă informaţia X în coadă şi cu EL operaţia prin
care se elimină un element din coadă. Asupra cozii se efectuează, exact în
această ordine, operaţiile AD 5; EL; AD 4; EL; AD 7; EL; EL. Care este
conţinutul cozii după executarea operaţiilor de mai sus? (4p.)
a. 7 b. 4 7 c. 4 d. 5
4. Scrieţi care este gradul intern al vârfului 5 şi gradul extern al vârfului 1. (4p.)
5. Un şir cu maximum 255 de caractere conţine cuvinte separate prin unul sau mai multe spaţii.
Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scrieţi un program C/C++
care citeşte un astfel de şir şi îl afişează modificat, prima şi ultima literă a fiecărui cuvânt fiind
afişată ca literă mare.
Exemplu: pentru şirul: maine este proba la informatica se va afişa:
MainE EstE ProbA LA InformaticA (10p.)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră o coadă, în care au fost introduse iniţial, în această ordine,
două numere 2 şi 1. Conţinutul cozii este reprezentat în figura alăturată.
Notăm cu AD X operaţia prin care se adaugă informaţia X în coadă şi cu EL
operaţia prin care se elimină un element din coadă. Asupra cozii se
efectuează, exact în această ordine, operaţiile AD 5; EL; AD 4; EL; EL; AD
8; AD 9; EL. Care este conţinutul cozii după executarea operaţiilor de mai
sus? (6p.)
a. 8 9 b. 8 c. 9 d. 4 8 9
2. Considerăm că variabila s memorează şirul de caractere examen. Care va fi valoarea lui s
după executarea instrucţiunilor?
s[0]= ‘E’;s[strlen(s)-1]= ‘N’;s[strlen(s)/2-1]= ‘A’;s[strlen(s)/2]= ‘M’.
(4p.)
a. EXAMEN b. exAMen c. ExAMeN d. ExameN
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Stabiliţi care dintre următorii vectori este vector de ”taţi” pentru 0 1 0 0 1 0 0
arborele cu 7 noduri, numerotate de la 1 la 7, cu rădăcina 1, 1 0 1 1 0 0 0
reprezentat prin matricea de adiacenţă alăturată: (4p.) 0 1 0 0 0 0 0
0 1 0 0 0 0 0
1 0 0 0 0 1 1
0 0 0 0 1 0 0
0 0 0 0 1 0 0
a. (3, 1, 0, 2, 1, 5, 6) b. (1, 0, 2, 2, 1, 5, 5)
c. (0, 1, 2, 2, 1, 5, 5) d. (2, 1, 0, 2, 1, 5, 2)
2. Considerăm că variabila s memorează şirul de caractere mama. Care va fi valoarea lui s
după executarea instrucţiunilor de mai jos?
s[0]=′M′; s[strlen(s)-3]= ′A′; (4p.)
a. MAma b. MamA c. MaAa d. MAMA
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră vectorul de ”taţi" al unui arbore cu rădăcină t=(3,4,0,3,3,5) ale cărui
noduri sunt numerotate de la 1 la 6. Alegeţi afirmatia corectă: (4p.)
a. nodurile 1, 2, 6 sunt noduri de tip frunză b. nodul 3 are un singur descendent direct
(fiu)
c. nodul 6 este tatăl nodului 5 d. nodurile 4 şi 6 sunt noduri de tip frunză
2. Se consideră o coadă, în care au fost introduse iniţial, în această ordine,
două numere: 2 şi 1. Conţinutul cozii este reprezentat în figura alăturată.
Notăm cu AD X operaţia prin care se adaugă informaţia X în coadă şi cu EL
operaţia prin care se elimină un element din coadă. Asupra cozii se
efectuează, exact în această ordine, operaţiile AD 10; AD 15; EL; AD 4;
EL; AD 20; EL. Care este conţinutul cozii după executarea operaţiilor de
mai sus? (4p.)
a. 20 b. 15 4 c. 4 20 d. 15 4 20
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Câte dintre vârfurile grafului neorientat G, reprezentat prin matricea de 0 1 0 0 1
adiacenţă alăturată, au gradul un număr par? (4p.) 1 0 1 1 0
0 1 0 1 1
0 1 1 0 1
1 0 1 1 0
a. 3 b. 1 c. 2 d. 5
2. Într-o stivă iniţial vidă au fost executate următoarele operaţii:
push 3; push 7; pop; push 5; push 1;
unde push a reprezintă operaţia prin care a se adaugă în stivă, iar pop reprezintă operaţia
prin care se extrage un element din stivă.
Care este elementul situat în vârful stivei? (4p.)
a. 1 b. 5 c. 7 d. 3
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Câte dintre vârfurile grafului neorientat G, reprezentat prin matricea de 0 0 0 1 1
adiacenţă alăturată, au gradul 0? (4p.) 0 0 0 0 0
0 0 0 0 0
1 0 0 0 0
1 0 0 0 0
a. 2 b. 1 c. 3 d. 0
2. Într-o coadă iniţial vidă au fost executate următoarele operaţii:
add 1; add 2; out; add 3; add 4;
unde add x reprezintă operaţia prin care x se adaugă în coadă, iar out reprezintă
operaţia prin care se extrage un element din coadă.
Ce valoare are elementul care a fost extras din coadă? (4p.)
a. 3 b. 2 c. 1 d. 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Un graf neorientat este reprezentat prin matricea de adiacenţă 0 1 0 0 1
alăturată. Câte grafuri parţiale distincte, formate doar din noduri cu 1 0 1 1 0
gradul egal cu 2, se pot obţine din graful dat? Două grafuri sunt 0 1 0 1 1
distincte dacă matricele lor de adiacenţă diferă. (4p.) 0 1 1 0 1
1 0 1 1 0
a. 3 b. 1 c. 2 d. 0
2. Într-o coadă iniţial vidă au fost executate următoarele operaţii:
add 1; add 2; out; add 3; add 4; out;
unde add x reprezintă operaţia prin care valoarea x se adaugă în coadă, iar out
reprezintă operaţia prin care se extrage un element din coadă.
Câte elemente conţine coada după efectuarea operaţiilor de mai sus? (4p.)
a. 1 b. 2 c. 0 d. 3
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Graful orientat G este reprezentat prin matricea de adiacenţă alăturată. 0 1 0 0 1
Câte vârfuri din graful dat au gradul interior egal cu gradul exterior? 1 0 1 0 0
0 0 0 1 1
(4p.) 0 1 0 0 1
1 0 0 0 0
a. 0 b. 1 c. 3 d. 2
2. Într-o stivă iniţial vidă au fost executate următoarele operaţii:
push 1; pop; push 2; pop; push 3; push 4; pop; push 5;
unde push x reprezintă operaţia prin care x se introduce în stivă, iar pop reprezintă
operaţia prin care se extrage un element din stivă.
Câte elemente conţine stiva dupa efectuarea operaţiilor de mai sus? (4p.)
a. 3 b. 8 c. 3 d. 2
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Graful neorientat G este dat prin matricea de adiacenţă alăturată. 0 0 0 0 1
Câte vârfuri ale grafului G au gradul 1? (4p.) 0 0 1 1 0
0 1 0 1 1
0 1 1 0 1
1 0 1 1 0
a. 1 b. 2 c. 3 d. 0
2. Într-o stivă iniţial vidă au fost executate următoarele operaţii:
push 1; pop; push 2; push 4; pop; push 5;
unde push x reprezintă operaţia ce introduce valoarea x în stivă, iar pop reprezintă
operaţia prin care se extrage un element din stivă.
Câte elemente va conţine stiva după efectuarea operaţiilor de mai sus? (4p.)
a. 4 b. 1 c. 3 d. 2
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care dintre următoarele propoziţii este falsă pentru graful orientat G dat 0 1 1 0 0
prin matricea de adiacenţă alăturată? (4p.) 0 0 1 1 0
0 0 0 1 1
1 1 0 0 0
0 0 0 1 0
a. există cel puţin un nod în graful G care b. graful G nu are circuite
are gradul intern egal cu cel extern
c. există cel puţin un drum între oricare d. graful G are 9 arce
două noduri ale grafului G
2. În secvenţa alăturată, variabila v memorează for ( i=k+1; i<=n; i++)
elementele unei matrice cu liniile şi coloanele for (j=1; j<=n; j++)
numerotate de la 1 la n, iar toate celelalte v[i-1][j] = v[i][j];
variabile sunt întregi. Dacă 1≤k<n, atunci n=n-1;
executarea secvenţei determină: (4p.)
a. eliminarea liniei k din matrice b. adăugarea liniei k în matrice
c. eliminarea coloanei k din matrice d. adăugarea coloanei k în matrice
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care dintre următorii vectori NU poate reprezenta vectorul „de taţi” al unui arbore cu
rădăcină, cu 5 noduri, numerotate de la 1 la 5? (4p.)
a. 3 1 0 1 2 b. 2 0 1 1 2 c. 3 4 0 2 3 d. 4 1 1 0 2
2. Cele 5 vagoane, din figura alăturată, numerotate de la
1 la 5, trebuie mutate de pe linia A pe linia B.
Vagoanele sunt manevrate unul câte unul. Orice
vagon poate fi mutat doar de pe linia A pe linia C sau
de pe linia C pe linia B. Oricare altă manevră nu este
posibilă. Care dintre şirurile de vagoane de mai jos,
citite de la stânga la dreapta, nu poate fi obţinut pe
linia B? (4p.)
a. 5 3 4 2 1 b. 4 2 5 3 1 c. 3 2 4 1 5 d. 1 2 3 4 5
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Pe tija 1 sunt aşezate 5 bile, numerotate de la 1 la 5, ca în figură. Bilele trebuie mutate pe
tija 3 putându-se folosi ca manevră
tija 2. Variantele de mai jos Tija 2
reprezintă aşezarea bilelor de la Tija 1
stânga la dreapta, pe tija 3. Ştiind 1 3 2 5 4
că o bilă nu poate trece de pe tija 2
pe tija 3 decât prin tija 1, pentru
care dintre ele s-au folosit cele mai Tija 3
puţine mutări? (o mutare reprezintă
trecerea de pe o tijă pe alta.) (4p.)
a. 1 2 4 5 3 b. 4 2 5 3 1 c. 2 1 4 3 5 d. 1 2 3 4 5
2. In secvenţa alăturată, variabilele s1, if(!(strcmp(s1,s2) || strcmp(s1,s3)))
s2 şi s3 reţin şiruri de caractere. val=1;
După executarea acesteia, variabila else
întreagă val primeşte valoarea 1 val=2;
dacă (4p.)
a. s1, s2, s3 reţin şiruri identice de b. s1, s2, s3 reţin şiruri de caractere
caractere ordonate lexicografic
c. s1, s2, s3 reţin şiruri de caractere de d. s1 este obţinut prin concatenarea şirurilor
lungimi diferite reţinute în s2 şi s3
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră stiva din desenul alăturat. Primul element introdus în stivă
este 5. Dacă se notează cu pop operaţia prin care se extrage un element
din stivă şi cu push(k) operaţia prin care se introduce valoarea k în stivă,
care va fi conţinutul ei după efectuarea următoarelor operaţii: pop; pop;
push(1); push(4); (4p.)
a. 4 1 1 4 b. 1 4 4 1 c. 1 4 1 4 d. 5 2 1 4
2. Fiind dat un tablou bidimensional cu 20 linii şi 20 coloane, câte elemente se găsesc strict
deasupra diagonalei secundare a tabloului? (4p.)
a. 180 b. 200 c. 190 d. 210
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Fie graful orientat din figura alăturată. Care este numărul de
circuite elementare distincte? Un circuit este elementar dacă
acesta conţine doar vârfuri distincte, excepţie făcând primul care
coincide cu ultimul. Două circuite elementare sunt distincte dacă
diferă prin cel puţin un arc. (4p.)
a. 0 b. 1 c. 2 d. 3
2. Elementele tabloului bidimensional din figura alăturată, cu 4 linii 1 2 3 4
şi 4 coloane, sunt toate numerele naturale cuprinse între 1 şi 16 12 13 14 5
aşezate în spirală, începând cu primul element al primei linii şi 11 16 15 6
continuând în sens invers trigonometric ca în figură. Care este cel 10 9 8 7
mai mare număr situat în zona triunghiulară de sub diagonala
secundară (exclusiv diagonala secundară), în cazul unui tablou
bidimensional cu 5 linii şi 5 coloane generat după aceeaşi
regulă? (4p.)
a. 16 b. 15 c. 25 d. 22
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Considerăm declararea alăturată struct elev{
folosită pentru a memora numele, char nume[10],prenume[20];
prenumele şi media unui elev. float medie;
Care dintre expresiile de mai jos are ca }p;
valoare prima literă a numelui unui elev
ale cărui informaţii sunt memorate în
variabila p? (4p.)
a. p.nume[1] b. p.nume[0]
c. p.nume d. nume[1]
2. Se consideră un graf neorientat cu 5 noduri şi 9 muchii. Care dintre următoarele şiruri de
numere pot fi gradele nodurilor grafului? (4p.)
a. 4, 2, 6, 4, 2 b. 2, 2, 1, 2, 2
c. 1, 1, 1, 1, 1 d. 4, 3, 3, 4, 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Considerăm declararea alăturată folosită struct elev{
pentru a memora numele, prenumele şi cele char nume[10],prenume[20];
2 note ale unui elev. float nota1,nota2;
} x;
Care dintre instrucţiunile de mai jos
calculează în variabila reală m media
aritmetică a notelor elevului ale cărui
informaţii sunt memorate în variabila x? (4p.)
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. Se consideră graful neorientat din figura alăturată. Care
este numărul minim de muchii ce se pot elimina astfel
încât graful parţial obţinut să aibă exact 3 componente
conexe? (4p.)
a. 2 b. 4 c. 1 d. 3
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. În secvenţa alăturată, variabila x for(i=0;i<=strlen(x)-1;i=i+3)
memorează un şir cu cel mult 100 de cout<<x[i]; | printf(“%c”,x[i]);
caractere, iar variabila i este de tip întreg.
Care este numărul maxim de caractere pe care îl poate avea şirul x astfel încât secvenţa
alăturată să afişeze exact 3 caractere ale acestuia? (4p.)
a. 7 b. 3 c. 9 d. 8
2. Se consideră un graf orientat cu 5 vârfuri şi 8 arce. Care dintre următoarele şiruri de
numere pot fi gradele exterioare ale vârfurilor acestui graf? (4p.)
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
(10p.)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră un graf neorientat cu 10 vârfuri astfel încât între oricare două vârfuri distincte
există muchie. Câte lanţuri elementare distincte de lungime 3 există între vârful 2 şi vârful
4? Lungimea unui lanţ este egală cu numărul de muchii din care este compus. Două lanţuri
sunt distincte dacă diferă prin cel puţin o muchie. Dacă vârfurile unui lanţ sunt distincte
două câte două atunci lanţul se numeşte elementar. (4p.)
a. 90 b. 28 c. 45 d. 56
2. Se consideră graful orientat din figura
alăturată. Câte dintre vârfurile grafului au
gradul intern egal cu gradul extern?
(4p.)
a. 3 b. 2 c. 1 d. 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Considerăm declararea alăturată. Care dintre următoarele struct punct{
instrucţiuni este corectă din punct de vedere sintactic? int x,y;
(4p.) } p;
a. p->y=p->y+1; b. p=9;
c. p.x=7; d. p=p+1;
2. Variabila n memorează un număr natural nenul. Care este numărul 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. 4n*(n-1) d. 2n*(n-1)/2
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. 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 număr
natural nenul mai mic decât 30000 . Care dintre următoarele declarări este corectă? (4p.)
a. float x[3][21]; b. int x[3][21];
c. struct persoana{ d. struct persoana[
char nume[21],prenume[21]; char nume[21],prenume[21];
int sal;} x; int sal;] x;
2. Dacă G este un graf neorientat cu 4 noduri, atunci numărul maxim de muchii pe care le
poate avea graful este: (4p.)
a. 5 b. 4 c. 3 d. 6
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Variabila t este utilizată pentru a memora valoarea şi numele autorului unei cărţi. Valoarea
cărţii este un număr natural de cel mult 3 cifre, iar numele autorului nu poate avea mai mult
de 20 de litere. Care dintre următoarele declarări este corectă? (4p.)
a. struct carte{ int val;char nume;} t;
b. struct carte{int val,nume;} t;
c. struct carte{ int val;char nume[21];} t;
d. struct carte{ int val[21][21];char nume;} t;
2. Care dintre următoarele afirmaţii este adevărată pentru orice graf neorientat G cu 3 noduri
şi 3 muchii? (4p.)
a. este conex b. are două noduri izolate
c. nu poate avea cicluri d. are un nod izolat
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Variabila t este utilizată pentru a memora numărul de exemplare disponibile într-o
bibliotecă şi titlul unei cărţi. Numărul de exemplare este un număr natural de cel mult 2
cifre, iar titlul nu poate avea mai mult de 20 de litere. Care dintre următoarele declarări este
corectă? (4p.)
a. struct carte { b. struct carte{
float nr,titlu; int nr;
} t; char titlu[21];
} t;
c. struct carte{ d. struct carte{
char nr; int titlu; long nr,titlu;
} t; } t;
2. Dacă G este un graf neorientat cu 4 noduri şi 2 muchii, atunci numărul maxim de
componente conexe pe care le poate avea graful este: (4p.)
a. 1 b. 2 c. 3 d. 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Variabila s memorează un şir de caractere. Care dintre următoarele expresii C/C++ este
nenulă dacă şi numai dacă lungimea şirului este strict mai mică decât 10? (4p.)
a. strlen(s)<10 b. strlen(s,10)<0
c. leng(s)<10 d. s-’0’<10
2. Care dintre următoarele afirmaţii este adevărată? Orice graf neorientat cu 4 noduri şi 4
muchii : (4p.)
a. are gradele tuturor nodurilor numere pare b. nu are cicluri
c. este conex d. este arbore
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Variabila s memorează un şir de caractere. Care dintre următoarele expresii C/C++ este
nenulă dacă şi numai dacă lungimea şirului este un număr par? (4p.)
a. s-2==0 b. strlen(s,2)=0
c. leng(s)%2 d. 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
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este numărul de componente conexe ale grafului
neorientat G, din desenul alăturat?
(4p.)
a. 6 b. 1 c. 3 d. 2
2. Care vor fi valorile afişate char s1[20]=”variabila”, s2[20]=”varianta”;
după executarea secvenţei if(strcmp(s1,s2)<0 && strlen(s1)<strlen(s2))
alăturate, dacă variabilele s1 printf(”%s %s”,s1,s2); | cout<<s1<<’ ’<<s2;
şi s2 sunt de tip şir de else
caractere? (4p.) printf(”%s %s”,s2,s1); | cout<<s2<<’ ’<<s1;
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care dintre următoarele afirmaţii referitoare la graful
neorientat G, reprezentat în figura alăturată, este
adevărată? (4p.)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră un arbore G, cu rădăcină, memorat cu ajutorul vectorului de taţi următor:
T=(2,0,4,2,4,7,2). Care dintre următoarele afirmaţii este adevărată? (4p.)
a. Nodurile 1,4 şi 6 sunt fraţi. b. G este conex şi prin eliminarea unei
muchii oarecare din G, graful obţinut nu
este conex.
c. Prin eliminarea muchiei [6,7] se obţine d. Arborele G are 5 frunze.
un graf parţial, conex.
2. Se consideră un tablou bidimensional a, format din numere x=a[n][1];
naturale, cu n linii şi n coloane, numerotate de la 1 la n. Ce for(i=n;i>=1;i--)
reprezinta valoarea variabilei x, după executarea secvenţei if (x<a[i][n-i+1])
de program alăturate? (4p.) x=a[i][n-i+1];
a. cel mai mare număr de pe diagonalele b. cel mai mare număr de pe diagonala
tabloului a secundară a tabloului a
c. cel mai mare număr de pe diagonala d. cel mai mare număr din tabloul a
principală a tabloului a
(10p.)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Considerând declarările alăturate, care dintre struct punct{float x,y;};
următoarele referiri este corectă din punct de vedere struct fig
sintactic ? (4p.) { char tip;
punct a,b,c;}
fig e;
a. e.fig.tip b. a.e c. e.punct.x d. e.a.x
2. Se consideră un tablou bidimensional a cu n linii şi n x=0;
coloane, numerotate de la 1 la n, cu elemente for(i=1;i<=n;i++)
numere întregi. Ce reprezinta valoarea variabilei x=x+a[i][i];
întregi x, după executarea secvenţei de program
alăturate? (4p.)
a. Suma elementelor de pe diagonala b. Suma elementelor de pe diagonala
principală a tabloului a secundară a tabloului a
c. Suma elementelor tabloului a d. Cel mai mare element de pe diagonala
principală a tabloului a
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră un graf G neorientat, conex, cu 54 de noduri şi 53 de muchii.
Care dintre următoarele afirmaţii este adevărată? (4p.)
a. G nu este arbore b. Prin eliminarea unei muchii din G se
menţine proprietatea de conexitate
c. G nu are cicluri d. Gradul maxim al unui nod din G poate fi
52
2. Dacă variabila s de tip şir de caractere memorează şirul INFORMATICA atunci strlen(s)
are valoarea? (4p.)
a. 10 b. 12 c. TRUE d. 11
1 2 3 4 5
Exemplu: pentru n=4 şi m=5 se va afişa: 10 9 8 7 6 (10p.)
11 12 13 14 15
20 19 18 17 16
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Cum se poate accesa prima literă a denumirii unui struct produs{
produs ale cărui caracteristici sunt memorate în char denumire[15];
variabila p, declarată alăturat? (4p.) int pret;}p;
a. produs.denumire[0] b. denumire.p[0]
c. p.denumire[0] d. P->denumire[0]
2. Se consideră graful neorientat din figura alăturată.
Care este numărul minim de muchii care trebuie
eliminate astfel încât graful să aibă două componente
conexe? (4p.)
a. 1 b. 2 c. 0 d. 3
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Cum se poate accesa prima literă a numelui unei struct persoana{
persoane ale cărei date de identificare sunt char nume[20],prenume[20];
memorate în variabila p, declarată alăturat? (4p.) int varsta;} p;
a. p.nume[0] b. persoana.nume[0]
c. p->nume[0] d. nume.p[0]
2. Se consideră graful neorientat din figura alăturată.
Care este numărul minim de muchii care trebuie eliminate astfel
încât graful să aibă două componente conexe? (4p.)
a. 1 b. 0 c. 2 d. 3
5. Scrieţi programul C/C++ care citeşte de la tastatură un cuvânt format din cel mult 50
caractere, litere mari ale alfabetului englez, şi afişează pe ecran, fiecare pe câte o linie,
toate sufixele acestuia, în ordine crescătoare a lungimilor. Un sufix de lungime k al unui
cuvânt este un subşir format din ultimele k caractere ale acestuia. (10p.)
Exemplu: dacă se citeşte cuvântul EXAMEN se vor afişa sufixele :
N
EN
MEN
AMEN
XAMEN
EXAMEN
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Cum se poate accesa prima literă a denumirii unui material ale struct material{
cărui caracteristici sunt memorate în variabila m, declarată char denumire[20];
alăturat? (4p.) int pret;} m;
a. denumire.m[0] b. m->denumire[0]
c. material.denumire[0] d. m.denumire[0]
2. Se consideră graful neorientat din figura alăturată.
Care este numărul minim de muchii care trebuie eliminate astfel
încât graful să aibă două componente conexe? (4p.)
a. 3 b. 1 c. 2 d. 0
4. Care este funcţia predefinită, în limbajul C/C++, care returnează lungimea efectivă a unui şir
de caractere transmis ca parametru? (6p.)
5. Scrieţi programul C/C++ care citeşte de la tastatură două numere naturale m şi n
(1≤m≤50, 1≤n≤50) şi m* n numere naturale de cel mult 5 cifre ce reprezintă elementele
unui tablou bidimensional, şi afişează pe ecran produsul elementelor pozitive aflate pe linii
cu numere de ordine pare şi coloane cu numere de ordine impare. Numerotarea liniilor,
respectiv a coloanelor se va face începând cu valoarea 1. (10p.)
Exemplu: pentru m=4, n=4 şi matricea alăturată se va afişa 355 11 -21 31 41
(355=5*71). 5 -61 71 -81
91 11 21 31
-11 31 -41 0
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Cum se poate accesa prima literă a numelui unui struct elev{
elev ale cărui date de identificare sunt memorate char nume[20],prenume[20];
în variabila e, declarată alăturat? (4p.) int varsta;}e;
a. e->nume[0] b. e.nume[0]
c. elev.nume[0] d. nume.e[0]
2. Se consideră graful neorientat din figura alăturată.
Care este numărul minim de muchii care trebuie eliminate astfel
încât graful să aibă două componente conexe? (4p.)
a. 0 b. 3 c. 2 d. 1
4. Fie s şi t două variabile de tipul şir de caractere. Scrieţi o instrucţiune C/C++ prin care variabilei
t i se atribuie şirul format din primele n caractere ale lui s. (6p.)
5. Scrieţi programul C/C++ care citeşte de la tastatură un număr natural n (1≤n≤50) şi n* n
numere naturale de cel mult 5 cifre ce reprezintă elementele unui tablou bidimensional a, cu
n linii şi n coloane, şi verifică dacă matricea este triunghiulară superior. Programul va afişa
pe ecran mesajul corespunzător: „Este triunghiulară superior” respectiv „Nu
este triunghiulară superior”. O matrice se numeşte triunghiulară superior dacă
toate elementele aflate sub diagonala principală a ei sunt nule. (10p.)
Exemplu: pentru n=3 şi matricea alăturată se va afişa mesajul: 1 2 3
Este triunghiulară superior 0 5 6
0 0 9
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Ştiind că fiecare dintre variabilele var1, var2 memorează numele struct elev
şi nota unui elev în forma dată de declararea alăturată, indicaţi { char nume[30];
care dintre următoarele expresii atribuie variabilei reale m media float nota;
aritmetică a notelor celor doi elevi. (4p.) }var1,var2;
a. m=(var1.nota+var2.nota)/2; b. m=var1.nota+var2.nota/2;
c. m=(var1+var2).nota/2; d. m=nota(var1+var2)/2;
2. Se consideră graful neorientat din figura alăturată.
Care este numărul minim de muchii care trebuie eliminate astfel
încât graful să aibă două componente conexe? (4p.)
a. 0 b. 1 c. 3 d. 2
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este numărul maxim de noduri frunză pe care le poate avea un arbore cu rădăcină cu
15 noduri? (4p.)
a. 1 b. 15 c. 14 d. 0
2. Se dă graful orientat definit prin matricea de 0 1 0 1 0 0
adiacenţă alăturată. Precizaţi câte noduri ale 1 0 1 0 0 0
grafului au gradul interior egal cu gradul 1 1 0 0 0 1
exterior. (4p.) 0 0 0 0 1 0
0 0 1 0 0 1
0 0 0 0 1 0
a. 5 b. 6 c. 3 d. 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Fie arborele cu rădăcina definit prin următoarele muchii: [2,4] [2,6] [5,7] [6,3]
[6,8] [7,1] [7,2] [7,9]. Câte lanţuri formate din noduri distincte, de lungime 4
există în acest arbore? (4p.)
a. 4 b. 3 c. 6 d. 5
2. Variabilele x şi s memorează şiruri cu cel mult 20 de caractere: x memorează şirul
primavara, iar variabila s memorază şirul anotimp. Ce se va memora în variabila s în
urma executării instrucţiunii de mai jos?
strncat(s, x, 5); (4p.)
a. anotimpprima b. anotimpprimavara
c. primavara d. prima
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră arborele cu 12 noduri, numerotate de la 1 la 12, definit prin următorul vectori
„de taţi”: (4, 8, 0, 3, 10, 1, 8, 3, 2, 4, 7, 10). Care dintre nodurile arborelui au exact un
descendent direct (fiu)? (4p.)
a. 6, 9, 11 b. 1, 2, 7 c. 5, 12, 6, 9, 11 d. 10, 1, 2, 7
struct A { struct B {
2. Se consideră declarările alăturate. Care este int x; struct A x;
tipul expresiei de mai jos? char y; long y;};
x.x.y (4p.) float z;}; B x, y;.
a. float b. int c. long d. char
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră o stivă în care iniţial au fost introduse, în această ordine, elementele 5, 6 şi
10. Dacă se notează cu PUSH x operaţia prin care se adaugă elementul cu informaţia
x în stivă, şi cu POP operaţia prin care se elimină un nod din stivă, care este rezultatul
executării secvenţei PUSH 1; POP; POP; PUSH 8; PUSH 6; PUSH 5; POP; POP;
(4p.)
a. b. c. d.
a. imposibil b. bacalaureat
c. banal d. bacalaureatimposibil
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Ce se va afişa în urma executării secvenţei for(i = 0; i < strlen(x); i++)
de program alăturate ştiind că i este o if(x[i] >= ‘A’ && x[i] <=’N’)
variabilă de tip întreg, iar variabila x x[i] = x[i] + ‘a’-‘A’;
memorează iniţial şirul de caractere cout << x;
ExAMeNe? (4p.)
a. exAmeNe b. ExAmene c. EXAMENE d. examene
2. Se numeşte graf complet un graf în care oricare două noduri 1: 3 5
sunt adiacente. Se consideră graful neorientat cu 6 noduri, 2: 3 4 6
numerotate de la 1 la 6 definit prin listele de adiacentă 3: 1 2 5
alăturate. Câte muchii trebuie adăugate în acest graf astfel încât 4: 2 6
el să devină graf complet? (4p.) 5: 1 3
6: 2 4.
a. 16 b. 14 c. 6 d. 8
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect. foaia de examen litera corespunzătoare răspunsului corect.
1. Variabila t memorează o matrice cu 5 linii şi x=0;
5 coloane, numerotate de la 0 la 4, cu for(i=0;i<5;i++)
elemente numere întregi, iar celelalte for(j=i+1;j<5;j++)
variabile sunt întregi. Secvenţa de program x=x+t[i][j];
alăturată determină memorarea în variabila
x a sumei elementelor situate: (4p.)
a. deasupra diagonalei principale, inclusiv b. strict deasupra diagonalei principale
diagonala principală
c. strict sub diagonala principală d. strict deasupra diagonalei secundare
2. Fie graful orientat cu 8 vârfuri, numerotate de la 1 la 8, şi arcele (1,2), (2,3), (3,1),
(4,5), (6,5), (5,7), (7,6), (7,4), (8,7). Numărul minim de arce care trebuie
adăugate astfel încât, pentru oricare două vârfuri x şi y din graf să existe cel puţin un drum
de la nodul x la nodul y este: (4p.)
a. 2 b. 4 c. 0 d. 1
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Variabila t memorează o matrice cu 8 linii şi 8 z=0;
coloane, numerotate de la 0 la 7, cu elemente for(i=0;i<8;i++)
numere întregi, iar variabilele i şi j sunt întregi. for(j=0;j<i;j++)
Secvenţa de program alăturată determină z=z+t[i][j];
memorarea în variabila întreagă z a sumei
tuturor elementelor situate: (4p.)
a. strict sub diagonala principală b. deasupra diagonalei principale, inclusiv
diagonala principală
c. strict deasupra diagonalei principale d. strict deasupra diagonalei secundare
2. Numărul minim de noduri cu gradul 1 pentru un graf neorientat conex cu 21 noduri şi 20
muchii este: (4p.)
a. 11 b. 3 c. 2 d. 1
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Variabila t memorează o matrice cu 8 linii şi 8 z=0;
coloane, numerotate de la 0 la 7, cu elemente for(i=0;i<8;i++)
numere întregi, iar celelalte variabile sunt for(j=0;j<8-i;j++)
întregi. Secvenţa de program alăturată z=z+t[i][j];
determină memorarea în variabila întreagă z a
sumei tuturor elementelor situate: (4p.)
a. strict sub diagonala secundară b. deasupra diagonalei principale, inclusiv
diagonala principală
c. deasupra diagonalei secundare, inclusiv d. strict deasupra diagonalei secundare
diagonala secundară
2. Un graf neorientat are 40 de noduri si 40 de muchii. Numărul minim şi numărul maxim de
componente conexe ale grafului este (4p.)
a. 1, respectiv 30 b. 1, respectiv 31 c. 1, respectiv 40 d. 2, respectiv 30
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect. foaia de examen litera corespunzătoare răspunsului corect.
1. Variabila t memorează o matrice cu 8 linii şi 8 z=0;
coloane, numerotate de la 0 la 7, cu elemente for(i=0;i<8;i++)
numere întregi, iar celelalte variabile sunt for(j=7-i;j<8;j++)
întregi. Secvenţa de program alăturată z=z+t[i][j];
determină memorarea în variabila întreagă z a
sumei tuturor elementelor situate: (4p.)
a. sub diagonala secundară, inclusiv b. deasupra diagonalei principale, inclusiv
diagonala secundară diagonala principală
c. strict sub diagonala principală d. strict deasupra diagonalei secundare
2. Se consideră un graf orientat cu 6 vârfuri, numerotate de la 1 la 6, cu proprietatea că există
o muchie cu extremitea iniţială în vârful i şi extremitea finală în vârful j dacă i este divizor
al lui j. Gradul interior (intern) maxim al vârfurilor din acest graf este: (4p.)
a. 3 b. 5 c. 4 d. 2
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Pentru o matrice t cu 8 linii şi 8 coloane, z=0;
numerotate de la 0 la 7, cu elemente numere for(i=0;i<8;i++)
întregi, secvenţa de program alăturată for(j=8-i;j<8;j++)
determină memorarea în variabila întreagă z a z=z+t[i][j];
sumei tuturor elementelor situate: (4p.)
a. strict deasupra diagonalei principale b. deasupra diagonalei principale, inclusiv
diagonala principală
c. deasupra diagonalei secundare, inclusiv d. strict sub diagonala secundară
diagonala secundară
2. Se consideră un graf neorientat cu 7 noduri, numerotate de la 1 la 7, cu proprietatea că
există muchie cu extremităţile în nodurile i şi respectiv j dacă numerele i şi j sunt de
aceeaşi paritate sau dacă i este divizor al lui j. Gradul maxim al unui nod din acest graf
este: (4p.)
a. 1 b. 7 c. 4 d. 6
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Un şir de caractere se numeşte palindrom dacă şirul citit de la stânga la dreapta este
identic cu şirul citit de la dreapta spre stânga. Care dintre următoarele expresii C/C++ are
valoarea 1 dacă şi numai dacă şirul de caractere memorat în variabila s, având exact 3
caractere, este palindrom? (4p.)
a. s[0]==s[1] b. s[1]==s[2] c. s[0]==s[2] d. s[1]==s[3]
2. Graful neorientat cu 5 noduri numerotate de la 1 la 5, este 0 1 1 1 1
reprezentat cu ajutorul matricei de adiacenţă alăturate. Numărul 1 0 1 1 0
maxim de muchii ce pot fi eliminate astfel încât graful parţial rezultat 1 1 0 1 0
să aibă 2 componente conexe este: (4p.) 1 1 1 0 1
1 0 0 1 0
a. 5 b. 4 c. 6 d. 3
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful orientat cu nodurile numerotate de la 1 la 5 şi arcele (1,2),
(1,5),(2,1), (2,3), (2,5), (3,4), (5,2), (5,4). Care este lungimea maximă a unui
drum format din noduri distincte, de la nodul 1 la nodul 4? (4p.)
a. 5 b. 6 c. 4 d. 7
2. Se consideră o stivă în care au fost introduse, în această ordine, numerele 1, 2 şi 3. Care
dintre valorile din stivă va fi eliminată prima? (4p.)
a. 1 2 3
b. c. d. oricare dintre ele
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful orientat cu nodurile numerotate de la 1 la 5 şi arcele (1,2), (1,4),
(2,1), (2,5), (3,2), (4,3), (5,1), (5,4). Care este numărul minim de arce care
poate fi adăugat pentru ca toate nodurile să aibă şi gradul extern şi gradul intern numere
par? (4p.)
a. 2 b. 1 c. 0 d. 3
2. Se consideră o coadă în care au fost introduse, în această ordine, numerele 1, 2 şi 3. Care
dintre valorile din coadă va fi eliminată prima? (4p.)
a. 1 b. 2 c. 3 d. oricare dintre ele
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful neorientat cu nodurile numerotate de la 1 la 6 şi având muchiile
[1,2], [1,4], [2,3], [3,5], [3,6], [4,5], [5,6]. Câte lanţuri, distincte, formate doar
din noduri distincte, există de la nodul 1 la nodul 6 în graful dat? Două lanţuri sunt distincte
dacă diferă prin cel puţin o muchie. (4p.)
a. 4 b. 2 c. 6 d. 0
2. Un arbore cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul vectorului de taţi”
t=(9,3,4,7,3,9,0,7,2). Numărul tuturor descendenţilor nodului 2 este: (4p.)
a. 3 b. 1 c. 0 d. 2
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful orientat cu vârfurile numerotate de la 1 la 7 şi arcele (1,2),
(1,7), (2,3), (3,2), (3,4), (4,3), (5,4), (5,6), (6,4), (7,6). Câte
noduri cu gradul extern par există în graful dat? (4p.)
a. 3 b. 2 c. 4 d. 0
2. Un arbore cu 9 noduri, numerotate de la 1 la 9, este memorat cu ajutorul vectorului „de taţi”
t=(9,3,4,7,3,9,0,7,2). Lungimea celui mai lung lanţ format din noduri distincte, care
porneşte din rădăcină este: (4p.)
a. 1 b. 5 c. 3 d. 4
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este suma gradelor grafului neorientat cu 4 noduri 0 1 1 1
numerotate de la 1 la 4, reprezentat prin matricea de 1 0 1 0
adiacenţă alăturată? 1 1 0 0
1 0 0 0
(4p.)
a. 4 b. 10 c. 6 d. 8
2. Ce valoare are variabila s de tip şir de caractere după executarea instrucţiunilor de mai jos?
strncpy(s,strstr(″examen″,″am″),4); s[4]='\0'; (4p.)
a. amen b. exam c. menn d. men
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Câte muchii are graful neorientat cu 6 noduri numerotate de la 1: 2 6
1 la 6, reprezentat prin lista de adiacenţe alăturată? 2: 1 3 4 5
3: 2
(4p.) 4: 2
5: 2 6
6: 1 5
a. 5 b. 4 c. 12 d. 6
2. Ce valoare are variabila s de tip şir de caractere după executarea instrucţiunilor de mai
jos?
strncpy(s,strstr("Informatica","form"),strlen("BAC08")); s[5]='\0';
(4p.)
a. form b. forma
c. InfoBAC d. Infor
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1: 2 6 8
1. Care este numărul de noduri de grad 1 ale grafului neorientat 2: 1 3
cu 8 noduri numerotate de la 1 la 8, reprezentat prin listele de 3: 2 4 7
adiacenţă alăturate? 4: 3 5
(4p.) 5: 4
6: 1
7: 3
8: 1
a. 4 b. 8 c. 3 d. 6
2. Ce valoare are variabila s de tip şir de caractere după executarea instrucţiunii de mai jos?
s=strstr(strnset("Bacalaureat",' ',strlen("2008")),"la"); (4p.)
a. BAC2008 b. laureat c. Bacal2008 d. aur2008
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Enumeraţi nodurile de grad 1 din graful neorientat cu 8 noduri 1: 3 4 5 6
numerotate de la 1 la 8, reprezentat prin listele de adiacenţă 2: 3
alăturate. 3: 1 2 7
4: 1
(4p.) 5: 1 8
6: 1
7: 3
8: 5
a. 2 3 4 5 6 b. 2 4 7 8 c. 2 4 6 d. 2 4 6 7 8
2. Ce valoare are variabila s de tip şir de caractere după executarea instrucţiunilor de mai
jos?
s=strncpy(s,strstr("informatica","form"),strlen("BAC008"));
s[6]='\0'; (4p.)
a. format b. informat c. inform d. informBAC
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Enumeraţi nodurile cu grad impar ale grafului neorientat cu 6 noduri numerotate de la 1 la
6 şi muchiile [1,6], [2,1], [2,6], [3,2], [3,4], [3,6], [4,5], [4,6], [6,5].
(4p.)
a. 2 3 4 6 b. 1 3 5 c. 2 4 6 d. 1 3 5 6
2. Ce memorează variabila s, de tip şir de caractere, după executarea instrucţiunilor de mai
jos?
strncpy(s,"informatica",strlen("2008"));
s[strlen("2008")]='\0';
strcat(s,"BAC"); (4p.)
a. info b. infoBAC c. BACinfo d. InformaticaBAC
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful neorientat: cu 60 de noduri şi 40 de muchii. Suma gradelor tuturor
nodurilor este egală cu : (4p.)
a. 120 b. 80 c. 100 d. 20
2. Un arbore cu rădăcină are 11 noduri, numerotate de la 1 la 11, şi este memorat cu ajutorul
vectorului de taţi t=(2,5,5,3,0,2,4,6,6,2,3). Descendenţii direcţi (fiii) ai nodului 2
sunt: (4p.)
a. 1, 6 şi 10 b. 5 c. 6, 8 şi 9 d. 3
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care dintre următoarele arce aparţine grafului
orientat cu 4 vârfuri, având gradele din tabelul
alăturat (x,y∈N)? (4p.)
a. (2,3) b. (1,2) c. (1,4) d. (4,1)
2. 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 conţine 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
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este numărul minim de noduri ce trebuie eliminate din graful
alăturat astfel încât subgraful obţinut să nu fie conex? (4p.)
a. 3 b. 0 c. 2 d. 1
2. În declararea alăturată, câmpurile x şi y ale înregistrării pot struct punct
memora coordonatele carteziene ale unui punct din planul xOy. {
Care dintre următoarele expresii are valoarea 1 dacă şi numai float x,y;
dacă punctul P este situat pe axa Ox ? (6p.) }P;
4. Se consideră o listă liniară simplu înlănţuită asupra căreia se execută următoarea prelucrare:
între oricare două elemente ce memorează valorile x şi y,aflate pe poziţii consecutive, se
inserează cel mai mare divizor comun al numerelor x şi y. Dacă lista conţine iniţial, în
ordine, doar numerele 10,4,2,6 precizaţi care este numărul maxim de elemente aflate pe
poziţii consecutive ce vor memora aceeaşi valoare, după realizarea prelucrării menţionate.
(4p.)
5. Un şir de caractere s se numeşte “şablon” pentru un alt şir de caractere x, dacă este format
din caractere din mulţimea {*,?,#}, are aceeaşi lungime cu x şi pe fiecare poziţie din s în
care apare * în x se găseşte o vocală, pe fiecare poziţie din s în care apare # în x se
găseşte o consoană şi pe fiecare poziţie din s în care apare ? putem avea orice caracter
în x. Se consideră vocală orice literă din mulţimea {a,e,i,o,u}.
Scrieţi programul C/C++ care citeşte de la tastatură două şiruri de caractere, de aceeaşi
lungime, formate din cel mult 200 de litere mici ale alfabetului englez, şi afişează pe ecran
un şablon comun celor două şiruri citite, care conţine un număr minim de caractere ?.
Exemplu: pentru şirurile diamant şi pierdut se afişează #**#??# (10p.)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care dintre nodurile grafului neorientat cu 5 noduri 0 1 1 0 0
numerotate de la 1 la 5, dat prin matricea de adiacenţă 1 0 1 0 1
alăturată, are gradul cel mai mare? (4p.) 1 1 0 1 1
0 0 1 0 1
0 1 1 1 0
a. 4 b. 3 c. 5 d. 2
2. În secvenţa alăturată, i, j şi n sunt variabile întregi, iar a for(i=0; i<8; i++)
este o matrice formată din 8 linii şi 8 coloane, numerotate for(j=0; j<8; j++)
de la 0 la 7. Care este suma elementelor de pe ultima a[i][j] = (i+j)%8;
linie a matricei, în urma executării acestei secvenţe? (4p.)
a. 28 b. 84 c. 36 d. 21
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Câte valori nule pot să apară într-un vector cu legături „de tip tată” asociat unui arbore cu
rădăcină care conţine 10 noduri? (4p.)
a. niciuna b. exact una
c. depinde de configuraţia arborelui d. exact două
2. În secvenţa alăturată, i, j şi n sunt variabile întregi, iar a for(i=0; i<n; i++)
este o matrice pătratică formată din n linii şi n coloane for(j=0; j<n; j++)
numerotate de la 0 la n-1. Care este suma elementelor a[i][j] = (i+j)%n;
de pe diagonala secundară din matricea a, în urma
executării acestei secvenţe, dacă n=8? (4p.)
a. 8 b. 64 c. 24 d. 56
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Care este numărul maxim de valori egale care pot să apară într-un vector cu legături „de tip
tată” asociat unui arbore cu rădăcină care conţine 10 noduri? (4p.)
a. cel mult 2 b. 10
c. nu pot să apară valori egale într-un vector d. 9
cu legături de tip tată
2. În secvenţa alăturată, i, j şi n sunt variabile întregi, iar a for(i=0; i<n; i++)
este o matrice pătratică formată din n linii şi n coloane, for(j=0; j<n; j++)
numerotate de la 0 la n-1. Care este suma elementelor a[i][j] = (i+j)%n;
de pe diagonala principală din matricea a, în urma
executării acestei secvenţe, dacă n=8? (4p.)
a. 24 b. 64 c. 56 d. 8
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră un graf neorientat 5 noduri şi 3 muchii. Care este numărul maxim de noduri
cu grad 1 care pot exista în graf? (6p.)
a. 2 b. 3 c. 4 d. 5
2. Se consideră un arbore cu rădăcină memorat cu ajutorul vectorului de ”taţi”
T=(2,0,1,1,1,2). Stabiliţi care dintre nodurile arborelui sunt situate pe nivelul 3, dacă
rădăcina este situată pe nivelul 1? (4p.)
a. 3 4 5 b. 1 c. 2 6 d. 1 2 6
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Fie graful orientat G cu 5 vârfuri, 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 următoarele vârfuri au gradul extern
egal cu gradul intern? (4p.)
a. 2 şi 4 b. 4 şi 5 c. 1 şi 2 d. 3 şi 4
2. Ce se va afişa în urma executării secvenţe char a[10]="Examen";
de instrucţiuni alăturate, considerând 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);
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Considerăm un arbore cu rădăcină, în care fiecare nod are cel mult doi descendenţi şi x un
număr natural (x>2). Ştiind că rădăcina se află pe nivelul 1, atunci numărul maxim de
noduri de pe nivelul x este: (6p.)
a. 2x b. 2x-1 c. 2x+1 d. 2x/2
2. Considerăm variabila x care memorează şirul de caractere ABAC. Care dintre următoarele
instrucţiuni conduc la afişarea caracterului B? (4p.)
a. cout<<x[strlen(x)-3]; b. cout<<x[strlen(x)-1];
| printf("%c",x[strlen(x)-3]); | printf("%c",x[strlen(x)-1]);
c. cout<<x[2]; d. cout<<x[strlen(x)];
| printf("%c",x[2]); | printf("%c",x[strlen(x)]);
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1. Se consideră graful neorientat cu 5 noduri a cărui matrice de adiacenţă are toate
elementele 1, cu excepţia celor de pe diagonala principală, care sunt nule. Care este
numărul minim de muchii care pot fi eliminate astfel încât graful parţial obţinut să fie format
din 3 componente conexe? (4p.)
a. 4 b. 8 c. 6 d. 7
2. Se consideră lista simplu înlănţuită memorată static, în tabloul de mai jos, în care fiecărui
nod al listei îi corespunde câte o coloană a tabloului: pe prima linie se memorează
informaţia din nodul respectiv, iar pe a doua linie se memorează indicele coloanei din
tablou la care se află nodul următor din listă, sau -1 dacă nu există un nod următor.
Ce informaţii se afişează la parcurgerea nodurilor în ordinea
în care apar în listă, dacă primul nod este memorat în
coloana 1? (4p.)
a) Scrieţi numai antetul unui subprogram p, care primeşte prin intermediul parametrului n
un număr natural de maximum 8 cifre, şi care returnează cel mai mare termen al şirului de
mai sus mai mic sau cel mult egal cu n.
Exemplu: dacă n=83 atunci subprogramul va returna valoarea 80. (4p.)
b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural s (s≤10000000)
şi realizează scrierea lui s ca sumă de termeni distincţi ai şirului dat, folosind apeluri utile ale
subprogramului p. Numerele se vor scrie în fişierul Numere.txt, pe prima linie a acestuia,
separate prin câte un spaţiu.
Exemplu: dacă valoarea citită de la tastatură este 63, atunci fişierul Numere.txt va avea
următorul conţinut: 40 20 3. (6p.)
4. În fişierul numere.txt sunt memorate cel mult 90 de numere reale, separate prin câte un
spaţiu. Se cere să se determine, folosind subprogramul count definit la punctul anterior, şi
să se afişeze pe ecran, numărul de elemente din şir care sunt mai mari sau cel puţin egale
cu jumătate din valoarea ultimului element al şirului.
Exemplu: dacă fişierul numere.txt conţine, în această ordine, numerele 6 12.5 5
12.5 11.2 45 25 se va afişa 4.
a) Descrieţi succinct, în limbaj natural, strategia de rezolvare. (4p.)
b) Scrieţi programul C/C++ corespunzător algoritmului ales. (6p.)
3. Scrieţi programul C/C++ care citeşte de la tastatură două numere naturale nenule n şi k
(n≤100, k≤100) şi afişează pe ecran, separate prin câte un spaţiu, în ordine
descrescătoare, cei mai mici k multipli naturali nenuli ai numărului n.
Exemplu: pentru n=6 şi k=5 se afişează 30 24 18 12 6. (6p.)
4. a) Scrieţi definiţia completă a unui subprogram sterge, cu trei parametri, care:
- primeşte prin parametrii:
- v un tablou unidimensional cu maximum 100 de elemente întregi din intervalul [-1000;1000]
- n o valoare naturală reprezentând numărul de elemente din tabloul v
- i o valoare naturală cu 1≤i≤n
- elimină din tabloul v elementul v[i]şi actualizează valoarea lui n.
Tabloul modificat este furnizat tot prin parametrul v. (10p.)
b) Fişierul text NUMERE.IN conţine pe prima linie un număr natural nenul n (1≤n≤100) şi pe
următoarea linie n numere întregi din intervalul [-1000;1000], separate prin câte un spaţiu.
Scrieţi un program C/C++ care citeşte din fişierul NUMERE.IN numărul natural n,
construieşte în memorie un tablou unidimensional v cu cele n numere întregi aflate pe linia a
doua în fişier şi utilizează apeluri utile ale subprogramului sterge pentru a elimina din
tablou un număr minim de elemente astfel încât să nu existe două elemente alăturate cu
aceeaşi valoare. Elementele tabloului obţinut se afişează pe ecran, separate prin câte un
spaţiu.
Exemplu: Dacă fişierul NUMERE.IN are conţinutul:
12
10 10 2 2 19 9 9 9 9 15 15 15 atunci se afişează 10 2 19 9 15. (6p.)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera care corespunde
răspunsului corect.
1.
În câte moduri se pot aşeza 6 prieteni în bănci de câte 3 locuri ? (4p.)
a. 180 b. 120 c. 2 d. 18
4. Scrieţi programul C/C++ care citeşte de la tastatură un număr natural n (n<100), apoi n
numere naturale de cel mult 3 cifre fiecare şi afişează pe ecran cel mai mare număr de
valori pare (dintre cele n citite) care s-au citit consecutiv de la tastatură.
Exemplu: pentru n=8 şi numerele 12,7,4,16,10,3,6,6 se va afişa 3 . (6p.)
3. Scrieţi în limbajul C/C++ definiţia completă a subprogramul Del care are doi parametri: x,
un număr întreg de cel mult 9 cifre, şi y, un număr natural nenul de o cifră. Subprogramul
determină eliminarea tuturor cifrelor lui x mai mari strict decât y şi furnizează numărul
obţinut tot prin intermediul parametrului x. Dacă toate cifrele lui x sunt mai mari strict decât
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) Scrieţi în limbajul C/C++ numai antetul subprogramului inter. (4p.)
b) Pe prima linie a fişierului bac.in se află un număr natural nenul n≤1000, iar pe a doua
linie a fişierului se află un şir de n numere naturale nenule, despărţite prin câte un spaţiu,
fiecare număr fiind format din cel mult 4 cifre. Scrieţi un program C/C++ care afişează pe
ecran, în ordine crescătoare, numerele aflate pe a doua linie a fişierului. Numerele vor fi
afişate pe o singură linie, iar între două numere se va lăsa un spaţiu. Se vor folosi apeluri
utile ale subprogramului inter. (6p.)
3. Pe prima linie a fişierului bac.in se află un număr natural nenul n (n≤1000), iar pe a doua
linie a fişierului se află un şir format din n numere naturale, despărţite prin câte un spaţiu,
fiecare număr fiind format din cel mult 4 cifre. Scrieţi un program C/C++ care citeşte
numerele din fişier şi care afişează pe ecran mesajul DA dacă elementele pare în şir sunt în
ordine crescătoare, iar cele impare sunt în ordine descrescătoare, şi mesajul NU în caz
contrar.
Exemplu: dacă fişierul bac.in are conţinutul 8
alăturat, pe ecran se va afişa: DA (10p.) 10 1133 12 331 42 1354 221 13
3. Fişierul bac.txt conţine pe prima linie un număr natural n (n≤100), iar pe a doua linie,
separate prin câte un spaţiu, n numere naturale nenule, cu cel mult 4 cifre fiecare. Scrieţi
programul C/C++ care citeşte de la tastatură un număr natural k (k≤25), construieşte în
memorie şi afişează pe ecran un tablou unidimensional ce conţine numerele citite din fişierul
bac.txt care au cel puţin k divizori.
Exemplu: dacă k=9, iar fişierul are conţinutul 8
alăturat, atunci tabloul care se afişează este: 100 56 22 909 222 400 180 616
100 400 180 616 (10p.)
4. a) Scrieţi în limbajul C/C++ doar antetul subprogramului cifre, care prin intermediul
parametrului nr primeşte un număr natural de cel mult 9 cifre şi furnizează prin intermediul
parametrilor nc şi sc numărul de cifre şi respectiv suma cifrelor din scrierea lui nr. (4p.)
b) Scrieţi în limbajul C/C++ definiţia completă a unui subprogram cu un singur parametru,
x, prin intermediul căruia primeşte un număr natural cu cel mult 9 cifre şi care returnează
valoarea 1 dacă în scrierea în baza 10 a lui x se găseşte cel puţin o cifră care să fie media
aritmetică a celorlalte cifre din componenţa lui x şi 0 în caz contrar, folosind apeluri utile ale
subprogramului cifre, de la punctul a.
Exemplu: pentru n=27989 subprogramul va returna valoarea 1 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 returnează 0. (6p.)
4. a) Scrieţi în limbajul C/C++ doar antetul unui subprogram cif, care primeşte prin
intermediul primului parametru, nr, un număr natural cu cel mult 9 cifre şi furnizează prin
intermediul celui de-al doilea parametru, s, suma cifrelor din scrierea lui nr. (4p.)
b) Scrieţi programul C/C++ care citeşte de la tastatură un număr natural n (0<n<25), apoi
un şir de n numere naturale nenule cu cel mult 9 cifre fiecare şi care determină şi afişează
pe ecran, separate prin câte un spaţiu, numerele din şir care au suma cifrelor maximă,
folosind apeluri utile ale subprogramului cif.
Exemplu: dacă pentru n=8 se citeşte şirul de numere 274 56018 354 8219 293 287
932 634 atunci, pe ecran, se afişează numerele 56018 8219. (6p.)
4. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural nenul n (n<=100)
şi apoi cele n numere naturale nenule, de maximum 4 cifre, reprezentând elementele unui
tablou unidimensional v (cu indici de la 1 la n) şi afişează câte dintre elementele vi
(2≤i≤n-1) sunt egale cu suma celor două elemente vecine. În cazul în care nu există
niciun astfel de element în tabloul v, se va afişa valoarea 0.
Exemplu: dacă n=7 şi tabloul unidimensional v are 10 25 15 45 30 2 1
conţinutul alăturat, atunci se va afişa valoarea 2
(deoarece 25=10+15, 45=15+30). (10p.)
1. La un concurs sportiv sunt 5 echipe, iar în fiecare echipă sunt câte 10 elevi. Problema
determinării tuturor grupelor de câte 5 elevi, câte unul din fiecare echipă, este similară cu
generarea tuturor: (4p.)
a. elementelor produsului cartezian b. submulţimilor cu 5 elemente ale mulţimii
AxAxAxAxA, unde A={1,2,…,10} {1,2,…,10}
c. permutărilor mulţimii {1,2,3,4,5} d. partiţiilor mulţimii {1,2,…,10}
1. Problema generării tuturor codurilor formate din exact 4 cifre nenule, cu toate cifrele
distincte două câte două, este similară cu generarea tuturor: (4p.)
a. aranjamentelor de 9 elemente luate câte b. permutărilor elementelor unei mulţimi cu
4 4 elemente
c. elementelor produsului cartezian d. submultimilor cu 4 elemente ale mulţimii
AxAxAxA unde A este o mulţime cu 9 {1,2,3,4,5,6,7,8,9}
elemente
3. Scrieţi în C/C++ definiţia completă a subprogramului medie, care are doi parametri:
- n, prin care primeşte un număr natural (1≤n≤100) ;
- v, prin care primeşte un tablou unidimensional cu n elemente, fiecare element având cel
mult patru cifre.
Funcţia returnează media aritmetică a elementelor impare din tablou sau valoarea 0 dacă nu
există elemente impare. (10p.)
4. Fişierul text NUMERE.IN conţine, pe mai multe linii, cel mult 30000 de numere naturale
nenule mai mici sau egale decât 500, despărţite prin câte un spaţiu.
a) Scrieţi programul C/C++ care afişează pe ecran, în ordine crescătoare, toate numerele
care au apărut exact o singură dată în fişierul NUMERE.IN, despărţite prin câte un spaţiu.
Exemplu: dacă fişierul NUMERE.IN conţine numerele scrise alăturat, se vor 2 23 34 3
afişa valorile următoare: 3 4 5 6 34 . (6p.) 8 9 9 23
6 8 9 2
b) Descrieţi succint, în limbaj natural, metoda de rezolvare folosită la punctul a) 4 5 23 9
(3 – 4 rânduri). (4p.)