Pregătire cu un profesor

Glisează →

Subiect și barem

PDF

Se deschide documentul PDF… Deschide PDF

Model de pregătire · Informatică · 2022

Facultatea de Automatică și Calculatoare · TUIASI

Înapoi la arhivă

Subiectul și baremul în format text

Text extras automat din documentul original. Pentru formule, tabele, imagini și așezarea răspunsurilor, verifică întotdeauna PDF-ul.

Subiect · 9 pagini

Subiect · pagina 1

Universitatea Tehnic "Gheorghe Asachi" din Ias, i
Facultatea de Automatic s, i Calculatoare *
Admitere  sesiunea iulie 2022
Domeniile: Calculatoare s, i tehnologia informat, iei
Ingineria sistemelor (Automatic s, i informatic aplicat )
Subiecte la testul gril de Informatic
1. Care este valoarea returnat de expresia de mai jos pentru variabila întreag i cu valoarea 12345?
i % 1000 % 10 + i % 1000 / 100
(a) 7 (b) 9 (c) 6 (d) 8
2. O imagine alb-negru este poate reprezenta printr-o matrice (img[m][m]) cu valori de 1 (pixel negru) s, i 0 (pixel alb).
Pentru a m ri imaginea (zoom), ecare pixel se expandeaz în 4 pixeli identici cu cel init, ial, rezultand matricea
imNoua[2*m][2*m]. Funct, ia de mai jos care realizeaz acest lucru, trebuie completat cu <secventa cod>.
int img [m] [m]
int imNoua [DIMMAX] [DIMMAX] ;
int iNou = 0 ;
int jNou = 0 ;
for ( int i = 0 ; i < m; i ++)
{
jNou = 0 ;
for ( int j = 0 ; j < m; j ++)
{
<s e c v e n t a cod >;
}
iNou += 2 ;
}
Care este aceasta?
(a) imNoua[iNou][jNou] = im[i][j];
imNoua[iNou][jNou + 1] = im[i][j];
imNoua[iNou + 1][jNou] = im[i][j++];
imNoua[iNou + 1][jNou+1] = im[i][j++];
(b) imNoua[iNou][jNou] = im[i][j];
imNoua[iNou+1][jNou + 1] = im[i][j];
imNoua[iNou + 1][jNou] = im[i+1][j];
imNoua[iNou + 1][jNou++] = im[i+1][j];
(c) imNoua[iNou][jNou] = img[i][j];
imNoua[iNou][jNou + 1] = img[i][j];
imNoua[iNou + 1][jNou++] = img[i][j];
imNoua[iNou + 1][jNou++] = img[i][j];
(d) imNoua[iNou][jNou] = im[i][j];
imNoua[iNou][jNou + 1] = im[i][j+1];
imNoua[iNou + 1][jNou++] = im[i][j];
imNoua[iNou + 1][jNou] = im[i][j];
1

Subiect · pagina 2

3. Se consider denit, iile urm toarelor variabile:
char s [ ] = " Admitere2022 " ;
char d [ 3 0 ] ;
Care este valoarea s, irului d dup execuatea instruct, iunii urm toare?
s t r c a t ( s t r c p y ( d , s +5) , s +8);
?
(a) ere2022022 (b) re20222022 (c) ere20222022 (d) re2022022
4. Fie codul de mai jos:
int f c t ( int &a , int b ) {
for ( int i =0; i <a ; ++i ) {
int a =0;
a++;
b++;
cout<<a<<" "<<b ;
}
return a=a+b ;
}
int main ( ) {
int a=5, b=0;
cou t << f c t ( a , b ) << " " << a << " " << b ;
return 0 ;
}
Ce se va as, a dup rularea acestuia?
(a) 1 2 1 3 1 4 1 5 6 5 0 (b) 1 11 21 31 41 51 5 6 (c) 1 11 21 31 41 56 1 5 (d) 1 11 21 31 41 510 10 0
5. Se considera un numar natural n constituit din k + 1 cifre (n = ckck−1. . . c1c0). Daca k=3, care sunt cifrele numarului
m construit prin secventa de prelucrari de mai jos? Obs.: operatorii DIV si MOD permit calculul catului respective
restului impartirii in domeniul numelor intregi.
p ← 1;
m ← n M OD10;
n ← n DIV 10;
q ← 1;
cât timp n<>0 execut
q ← q + 1;
pentru i ← 1 la q execut
p ← p ∗ 10;
m ← (n M OD 10) ∗ p + m;
n ← n DIV 10;
(a) c0000c100c20c3 (b) c3000c200c10c0 (c) c300c0c1c0 (d) c30c20c10c0
6. Se considera ca asupra unui tablou unidimensional a cu 2 <= n <=100 elemente din multimea 1, 2,. . . , n initial denit
astfel incat a[i] = i (se presupune ca indicii incep de la 1) a fost aplicata o transformare prin deplasare circulara catre
dreapta sau stanga cu k pozitii (1 <= k < n). Se cere sa se determine valoarea lui k pornind de la tabloul transformat
fara a efectua comparatii intre elementele tabloului. Care dintre urmatoarele armatii este adevarata?
(a) daca deplasarea este la stanga atunci k = n - x[n]
2

Subiect · pagina 3

(b) daca deplasarea este la dreapta atunci k = x[1] - 1
(c) indiferent de sensul deplasarii k = n - x[n]
(d) daca deplasarea este la dreapta atunci k = n - x[n]
7. Un vierme se deplaseaz în spiral în sens trigonometric intrând s, i ies, ind din p mânt. Aceasta se mis, c alternativ în
p mânt s, i la suprafat, . La întâlnirea unei gropi, dac viermele se a la suprafat, intr în p mânt s, i invers (dac se
a în p mânt iese la suprafat, ). Gropile sunt marcate în matricea dat mai jos prin valori de 0, restul valorilor ind 1.
Determinat, i coordonatele gropilor prin care viermele intr în p mânt s, tiind c acesta pornes, te de la suprafat, din pozit, ia
(1, 1).
1 1 0 1 0
1 1 1 0 1
0 0 1 0 1
1 1 1 1 0
1 0 0 0 1
(a) (5,2), (5, 4), (1, 5), (3, 2), (2, 4)
(b) (3,1), (5,3), (4,5), (1,3), (3,4)
(c) (1,3), (3, 5), (5,4), (3,1), (4,3)
(d) (3,1), (5,3), (4,5), (1,3), (4,3)
8. Se consider denit, iile pentru tablourile s, i funct, ia de mai jos:
char TA [ ] [ 4 ] = {
{ 'R ' , 'A ' , 'A ' , 'C ' } ,
{ 'D ' , 'D ' , 'R ' , 'R ' } ,
{ 'C ' , 'D ' , 'C ' , 'C ' } ,
{ 'C ' , 'C ' , 'A ' , 'D ' } ,
} ;
int vx [ ] = { 0 , 1 , 0 , =1} ;
int vy [ ] = { 1 , 0 , =1, 0} ;
int f ( char c , int N) {
int i , j , k , f l a g , vi , vj , r e t = 0 ;
for ( i = 0 ; i < N; i ++) {
for ( j = 0 ; j < N; j ++) {
f l a g = 0 ;
for ( k = 0 ; k < 4 ; k++) {
v i = i + vx [ k ] ;
v j = j + vy [ k ] ;
i f ( ( v i >=0 ) && ( v i < N) && ( v j >=0 ) && ( v j < N) ) {
i f (TA[ v i ] [ v j ] == c ) {
f l a g = 1 ; k = 4 ;
}
}
}
i f (TA[ i ] [ j ] == c && f l a g ) {
r e t ++;
}
}
}
return r e t ;
}
3

Subiect · pagina 4

Care este valoarea returnat de apelul funct, iei f(`C', 4) ?
(a) 4 (b) 5 (c) 2 (d) 3
9. În cadrul unui exercit, iu Diana are de implementat un program care s calculeze valoarea polinomului P (x) = anxn +
an−1xn−1 + . . . + a1x + a0, pentru orice valoare a lui x 6 = 0 citit de la tastatur (unde ai 6 = 0, pentru orice i = 0 . . . n,
n ∈ N ∗ ), cu un num r minim de operat, ii de înmult, ire (un calcul de forma x2 este considerat o înmult, ire x*x).
Care este num rul minim de operat, ii de înmult, ire posibil de efectuat?
(a) n(n+1)/2 (b) n(n-1)/2 (c) n (d) n!
Se cites, te un num r natural n. As, at, i toate tripletele de numere naturale x, y, z (1<x<y<z<n) care sunt divizori ai lui
n s, i care au proprietatea c x+y+z=n
10. Se d un num r natural n (n<100). Câte triplete de numere naturale x, y, z (1<x<y<z<n) care sunt divizori ai lui n
s, i care au proprietatea c x+y+z = n exist ?
(a) 0 (b) 16 (c) 15 (d) 17
11. Fie secvent, a de cod de mai jos pentru procesarea celor 1000 de elemente ale unui vector A. Înainte de apelul funct, iei f2,
A este init, ializat cu elemente de la 1000 la 1 în ordine strict descresc toare.
#include <s t d i o . h>
int f 1 ( int A [ ] , int p , int r ) {
int x , i , j , aux ;
x=A[ r ] ;
i=p=1;
for ( j=p ; j<=r =1; j ++)
{
i f (A[ j ]<=x )
{
i=i +1;
aux=A[ i ] , A[ i ]=A[ j ] , A[ j ]=aux ;
}
}
aux=A[ i +1] , A[ i +1]=A[ r ] , A[ r ]= aux ;
return i +1;
}
void f 2 ( int A [ ] , int p , int r ) {
int q ;
i f ( p<r )
{
q = f 1 (A, p , r ) ;
f 2 (A, p , q =1);
f 2 (A, q+1, r ) ;
}
}
int main ( ) {
. . .
f 2 (A, 0 , n =1);
return 0 ;
}
4

Subiect · pagina 5

Câte apeluri ale funct, iei f1 s, i câte apeluri ale funct, iei f2 vor  executate?
(a) 500, 1000; (b) 501, 1001; (c) 999, 1000; (d) 499, 999;
12. Fie secvent, a de cod de mai jos.
#include <s t d i o . h>
int f 1 ( int V [ ] , int n , int x ) ;
void f 2 ( int V [ ] , int n ) ;
void f 2 ( int V [ ] , int n ) {
int i ;
p r i n t f ( "\n %d " , n ) ;
for ( i =0; i<=n ; i ++)
p r i n t f ( "%d " , V[ i ] ) ;
p r i n t f ( "\n" ) ;
}
int f 1 ( int V [ ] , int n , int x ) {
int c , f , aux , i ;
++n , V[ n]=x , c=n , f =(n =1)/2;
while ( f >=0)
{
i f (V[ f ]<V[ c ] )
aux=V[ f ] , V[ f ]=V[ c ] , V[ c ]=aux , c=f , f =( f =1)/2;
e l s e
f ==1;
}
return n ;
}
int main ( ) {
int V[ 2 0 ] = { 3 0 , 1 5 , 2 5 , 1 0 , 1 2 , 2 0 , 1 8 , 3 , 5 , 7 , 8 , 1 1 , 0 } , n=11;
n=f 1 (V, n , 4 8 ) ;
f 2 (V, n ) ;
return 0 ;
}
Ce va as, a programul dup apelul lui f2?
(a) 13 48 15 30 10 12 25 18 3 5 7 8 11 20;
(b) 13 48 15 30 10 12 18 25 3 5 7 8 11 20;
(c) 48 15 30 10 12 18 25 3 5 7 8 11 20 13;
(d) 13 48 30 25 20 18 15 12 11 10 8 7 5 3;
13. Fie secvent, a de cod de mai jos.
#include <s t d i o . h>
int f 1 ( int V [ ] , int n , int x ) ;
#include <s t d i o . h>
void f ( char A [ ] , int n , int k ) {
int j ;
i f ( n<1)
{
A[ k]= ' \0 ' ;
5

Subiect · pagina 6

p r i n t f ( "\n%s " ,A ) ;
}
e l s e
{
A[ n=1]= ' 0 ' ;
f (A, n=1,k ) ;
A[ n=1]= ' 1 ' ;
f (A, n=1,k ) ;
}
}
int main ( ) {
. . .
f (A, n , n ) ;
return 0 ;
}
Câte s, iruri de caractere va genera funct, ia f pentru n=10?
(a) 1024 (b) 1000 (c) 100; (d) 2048
14. Membrii unei echipe de ciclism particip pe rând la diferite competit, ii conform strategiei echipei. Totus, i, ecare ciclist
s, i-ar dori s participe la un anumit tur ciclist cu premii foarte mari. Cum acest lucru nu este sust, inut de sponsori,
conducerea invit ciclis, tii la o mas rotund s, i decide s fac select, ia astfel : este selectat ecare al k-lea (0<k<n) sportiv
din cei n, num rând din k în k. Când num r toarea ajunge la ultimul sportiv se continu cu cel care a fost primul,
num rând mai departe tot, i sportivii, e c au fost sau nu selectat, i. Num r toarea se opres, te atunci când ar trebui ales
un sportiv deja selectat. Dar, managerul echipei alege neinspirat combinat, ia de valori n s, i k pentru algoritmul de select, ie
propus, astfel încât la competit, ie urmeaz s plece tot, i ciclis, tii. Care este acea combinat, ie?
(a) N = 18, k = 4 (b) N = 25, k = 7 (c) N = 28, k = 7 (d) N = 20, k = 5
15. Vr jitorul din Oz vrea s creeze o vraja care s o trimit pe Dorothy acas . Pentru aceasta roag pe un candidat de
la Facultatea de Automatic s, i Calculatoare din Ias, i s îi scrie un program care s îl ajute s amestece aceste elemente
într-o anumit ordine. Solut, ia realizat este urm toarea:
#include <i o s t r e a m >
using namespace s t d ;
int x [ 1 0 ] , n=7, p=5;
char magic [ ] [ 7 ] = { "Apa" , " Aer " , "Foc" , "Vant" , "Pamant" , " Metal " , "Lemn" } ;
int V a l i d a r e ( int k ) {
for ( int i =0; i <k ; i ++)
i f ( x [ i ]>=x [ k ] ) return 0 ;
return 1 ;
}
void A f i s a r e ( int k ) {
for ( int i =0; i <p ; i ++)
cout<<magic [ x [ i ]]<<" " ;
cout<<e n d l ;
}
. . .
int main ( ) {
Back ( 0 ) ;
return 0 ;
}
6

Subiect · pagina 7

S se indice care dintre variantele de mai jos pot  corecte pentru funct, ia Back, astfel încât a treia solut, ie as, at s e:
Aer Foc Pamant Metal Lemn
(a)
void Back ( int k ) {
for ( int i = 0 ; i < n ; ++i ) {
x [ k]= i ;
i f ( V a l i d a r e ( k ) )
i f ( k>=n=1) A f i s a r e ( k ) ;
e l s e Back ( k +1);
}
}
(b)
void Back ( int k ) {
for ( int i = 0 ; i < n ; ++i ) {
x [ k]= i ;
i f ( V a l i d a r e ( k ) )
i f ( k > = p=1) A f i s a r e ( k ) ;
e l s e Back ( k +1);
}
}
(c)
void Back ( int k ) {
for ( int i = 0 ; i < n ; ++i ) {
x [ k ] = n=1= i ;
i f ( V a l i d a r e ( k ) )
i f ( k>=p=1) A f i s a r e ( k ) ;
e l s e
Back ( k +1);
}
}
(d)
void Back ( int k ) {
for ( int i = 0 ; i < n ; ++i ) {
x [ k ] = p=1= i ;
i f ( V a l i d a r e ( k ) )
i f ( k>=p=1) A f i s a r e ( k ) ;
e l s e
Back ( k +1);
}
}
16. Se d un arbore descris prin urm torul vector de "tat, i" [11, 7, 9, 11, 2, 9, 0, 3, 7, 8, 2, 3]. Determinat, i frunzele
acestui arbore.
(a) 1, 4, 5, 10, 12 (b) 1, 4, 10, 12 (c) 2, 3, 7, 8, 9, 11 (d) 1, 4, 5, 6, 10, 12
17. Se consider un graf neorientat cu 60 de noduri s, i 34 de muchii. Care este num rul maxim de vârfuri cu gradul 0 pe care
le poate avea graful?
(a) 51 (b) 55 (c) 60 (d) 52
7

Subiect · pagina 8

18. Se d un graf neorientat complet cu 5 noduri. Care dintre valorile de mai jos NU pot  num rul de muchii ale unui
subgraf al acestui graf.
(a) 6 (b) 3 (c) 2 (d) 1
19. Matricea de adiacent, a unui graf neorientat cu 2022 de noduri cont, ine 100 de valori nenule. S se indice care este
num rul maxim de componente conexe .
(a) 2022 (b) 2012 (c) 2008 (d) 1921
20. Un graf neorientat are 40 de noduri s, i 10 componente conexe, ecare dintre acestea ind arbore. Indicat, i num rul de
muchii ale grafului..
(a) 10 (b) 30 (c) 39 (d) 41
21. Pentru amenajarea gradinii, Alex are la dispozitie 130 de lei. Stiind ca un mesteacan costa 50 lei, un arbust costa 25 lei
si un r de trandar costa 10 lei, cate variante de decorare pot  identicate astfel incat Alex sa nu ramana cu mai mult
de 9 lei?
(a) 10 (b) 12 (c) 11 (d) 9
22. Se d un num r natural N s, i subprogramul de mai jos. Ce va furniza subprogramul prin intermediul parametrilor x s, i y?
void subprogram ( int N, int &x , int &y )
{
i f (N <= 9 )
i f (N%2 == 0 ) { x = N; y = 0 ; }
e l s e { x = 0 ; y = N; }
e l s e
{
subprogram (N/ 1 0 , x , y ) ;
i f (N%2 == 0 )
x = x *10 + N%10;
e l s e i = y *10 + N%10;
}
}
(a) nici una din variantele de mai sus, subprogramul este gres, it
(b) nimic, valorile variabilelor vor  aceleas, i cu cele de dinaintea apel rii subprogramului
(c) parametrul x reprezint num rul format cu cifrele pare ale lui N, parametrul y num rul format cu cifrele impare ale
lui N
(d) parametrul x reprezint num rul format cu cifrele impare ale lui N, parametrul y num rul format cu cifrele pare ale
lui n
23. Se consider denit, iile pentru tabloul s, i funct, ia de mai jos:
int a [ ] = { 2 , 8 , 5 , 0 , 4 , 0 , 7 , 9 , 7 } ;
int f ( int i ) {
i f ( i )
return f ( i =1) * 10 + a [ i ] ;
8

Subiect · pagina 9

e l s e
return 0 ;
}
Care este valoarea returnat de funct, ia f dup apelul acesteia cu valoarea 4 pentru parametrul i?
(a) 4058 (b) 8504 (c) 2850 (d) 582
24. Se consider denit, iile pentru tabloul s, i funct, ia de mai jos:
int a [ ] = { 8 0 , 1 6 , 0 , 2 0 , 3 7 , 2 9 } ;
void f ( int i ) {
i f ( i ) {
a [ i ] += a [ i = 1 ] ;
f ( i =1);
}
}
Câte elemente ale tabloului a îs, i modic valoarea dup apelul funct, iei f cu valoarea 4 pentru parametrul i?
(a) 2 (b) 1 (c) 3 (d) 4
25. Fie urm torul program:
#include <i o s t r e a m >
using namespace s t d ;
int f ( int x , int y , int v [ ] ) {
i f ( x==y )
i f ( v [ x]=1==y ) return x ;
e l s e return 0 ;
e l s e return f ( x , ( x+y ) / 2 , v ) + f (1+( x+y ) / 2 , y , v ) ;
}
int main ( ) {
int s t =1, dr =4, v [ ] = { 0 , 2 , 3 , 4 , 5 , 6 } ;
cout<<f ( s t , dr , v ) ;
return 0 ;
}
Ce se va as, a în urma rul rii codului de mai sus?
(a) 9 (b) 10 (c) 20 (d) 14
9
Deschide documentul original
Barem · 4 pagini

Barem · pagina 1

R spunsurile corecte cu explicat, ii
1. d
Subexpresiile care reprezint termenii sumei extrag câte o cifr zecimal din valoarea variabilei i. Prima subexpresie are
valoarea 5, iar cea de a doua are valoarea 3. Suma valorilor este 8.
void zoom ( int &m, int img [ ] [ DIMMAX] )
int imNoua [DIMMAX] [DIMMAX] ;
int iNou = 0 ;
int jNou = 0 ;
for ( int i = 0 ; i < m; i ++)
{
jNou = 0 ;
for ( int j = 0 ; j < m; j ++)
{
imNoua [ iNou ] [ jNou ] = img [ i ] [ j ] ;
imNoua [ iNou ] [ jNou + 1 ] = img [ i ] [ j ] ;
imNoua [ iNou + 1 ] [ jNou++] = img [ i ] [ j ] ;
imNoua [ iNou + 1 ] [ jNou++] = img [ i ] [ j ] ;
}
iNou += 2 ;
}
m *= 2 ;
for ( int i = 0 ; i < m; i ++)
{
for ( int j = 0 ; j < m; j ++)
{
img [ i ] [ j ] = imNoua [ i ] [ j ] ;
}
}
3. c
Funct, ia strcpy copie în s, irul d port, iunea "ere2022" din s, irul s, indicat prin expresia s+5. Apelul funct, iei strcpy returneaz
adresa s, irului d. Aceast adres este utilizat la apelul funct, iei strcat care concateneaz la nalul caracterelor s, irului d
port, iunea "2022" a s, irului s, indicat prin expresia s+8.
4. d
Valoarea lui a se modic în funct, ie, ultima valoare ind primit în return.
5. b
Codul este
int n = 1 2 3 4 ;
int p = 1 ;
int m = n % 1 0 ;
n = n / 1 0 ;
int q = 1 ;
while ( n != 0 ) {
q = q + 1 ;
for ( int i = 1 ; i <= q ; i ++)
{
p = p * 1 0 ;
}
10

Barem · pagina 2

m = ( n % 1 0 ) * p + m;
n = n / 1 0 ;
}
cou t << "m="<<m << e n d l ;
6. d
Se verica usor
7. b
1 1 0 1 0
1 1 1 0 1
0 0 1 0 1
1 1 1 1 0
1 0 0 0 1
8. b
Funct, ia f parcurge elementele matricii TA pân la linia N-1 s, i coloana N-1. Pentru ecare element se veric valorile
vecinilor ortogonal adiacent, i (s, i valizi). Dac cel put, in un vecin are aceeas, i valoare cu elementul curent, atunci se
incrementeaz valoarea ce va  returnat de c tre funct, ie. Pentru valorile paramentrilor din enunt, , funct, ia va returna
num rul de elemente din întreaga matrice cu valoarea 'C' care au m car un vecin ortogonal cu aceeas, i valoare.
9. c
Dac se scrie polinomul sub forma: P (x) = a0 + x(a1 + x(a2 + . . . x(an−1 + anx) . . .)) se vor efectua doar n operat, ii de
înmult, ire.
10. b
n trebuie s e divizibil cu 6, astfel tripletul este de forma n = n/6 + n/3 + n/2
6=1+2+3
12=2+4+6
18=3+6+9
24=4+8+12
30=5+10+15
36=6+12+18
42=7+14+21
48=8+16+24
54=9+18+27
60=10+20+30
66=11+22+33
72=12+24+36
78=13+26+39
84=14+28+42
90=15+30+45
96=16+32+48
11. d
Sortare crescatoare cu QuickSort, cazul cel mai defavorabil. Apel de QuickSort pe 5 elemente, genereaza 4 apeluri de
QS, respectiv 1 apel de P. Apel de QuickSort pe 10 elemente, genereaza 9 apeluri de QS, respectiv 4 apeluri de P. Pe n
elemente, n-1 apeluri de QS si n/2 -1 apeluri de P, n= 1000 -> P:499 apeluri, QS: 999 apeluri
12. a
11

Barem · pagina 3

13. a
Programul genereaza siruri de biti de lungime n. n=2 22 = 4sirurin = 323 = 8sirurin = 424 = 16sirurigeneralizaren =
10210 = 1024siruri
14. b
Se considera numaratoarea in cerc ca o numaratoare liniara in mai multe siruri mici, ecare cu n ciclisti, obtinând un sir
mare cu p ciclisti (p ind multiplu de n). Numaratoarea se termina atunci cand al n-lea ciclist (dintr-un sir mic) este
selectat, si astfel, urmatorul ciclist care ar trebui sa e selectat va  un al k-lea din urmatorul sir mic. Mai exact, p trebuie
sa e si multiplu de k, adica p = cmmmc(n, k). Dintre cei p ciclisti, au fost selectati exact p / k ciclisti, deci sportivii
neselectati vor  in numar de nr = n - p/k = n - cmmmc(n,k)/k = n - (n*k/cmmdc(n,k))/k = n - n/cmmdc(n,k). Vor 
selectati toti daca cmmdc(n,k)=1.
15. c
a) Are doar o solut, ie: Apa Aer Foc Vant Pamant b) A treia solut, ie este Apa Aer Foc Vant Lemn c) A treia solut, ie este
Aer Foc Pamant Metal Lemn d) A treia solut, ie este Apa Foc Vant Pamant În Validare se observ c se impune o ordine
între solut, ii!
#include <i o s t r e a m >
using namespace s t d ;
int x [ 1 0 ] , n=7, p=5;
char magic [ ] [ 7 ] = { "Apa" , " Aer " , "Foc" , "Vant" , "Pamant" , " Metal " , "Lemn" } ;
int V a l i d a r e ( int k ) {
for ( int i =0; i <k ; i ++)
i f ( x [ i ]>=x [ k ] ) return 0 ;
return 1 ; // sau 0
}
void A f i s a r e ( int k )
{
for ( int i =0; i <p ; i ++)
cout<<magic [ x [ i ]]<<" " ;
cout<<e n d l ;
}
void Back ( int k ) {
for ( int i = 0 ; i < n ; ++i ) {
x [ k]=n=1= i ;
i f ( V a l i d a r e ( k ) )
i f ( k>=p=1) A f i s a r e ( k ) ;
e l s e
Back ( k +1);
}
}
int main ( ) {
Back ( 0 ) ;
return 0 ;
}
16. d
Frunzele sunt reprezentate de nodurile care nu apar în vectorul de "tat, i". As, adar, nodurile 1, 4, 5, 6, 10, 12 reprezint
frunzele arborelui dat.
12

Barem · pagina 4

17. a
Pentru a acoperi cele 34 de muchii sunt necesare 9 noduri, as, adar restul de 51 de noduri au gradul 0.
18. c
Graful init, ial are 5*4/2=10 muchii Dac elimin m: - un singur nod vom obt, ine 4 noduri si 6 muchii - dou noduri, vom
obt, ine 3 noduri s, i 3 muchii - 3 noduri, vom obt, ine 2 nod s, i 0 muchie - 4 noduri, va ramane 1 nod si 0 muchii
19. b
100 de valori nenule în matricea de adiacent, înseamn 50 muchii. n(n-1)/2=50 =>n=11 noduri pt o component cât
mai complet , deci 11 noduri pot face parte dintr-o component conex s, i 2022-11= 2011 noduri izolate, adic 2012
componente conexe.
20. b
daca notam cu nr nr de noduri a unei componente conexe, înseamn c num rul de muchii al acesteia este nr-1 (altfel nu
ar  arbore). Cum sunt 10 comonente conexe, numarul total de muchii va  40-10=30.
21. b
Se poate construi arborele de parcurgere a spatiului solutiilor pornind de la nodul cu suma totala si ramicand prima
data dupa mesteacan (pot  2, 1 sau 0), dupa aceea pentru arbusti iar de restul banilor se cumpara trandari ca sa nu
ramana rest mai mare ca 9:
2 mesteceni  1 sau 0 arbusti (2 variante)
1 mesteacan  3, 2, 1, 0 arbusti (4 variante)
0 mesteceni  5, 4, 3, 2, 1, 0 arbusti (6 variante)
In total 12 variante.
22. c
Pentru a acoperi cele 34 de muchii sunt necesare 9 noduri, as, adar restul de 51 de noduri au gradul 0.
23. b
Funct, ia parcurge s, irul de numere întregi în sens descresc tor începând cu indexul 4. Valoarea returnat dup ecare apel
recursiv este dat de suma elementului curent (indicat prin valoarea indexului i) s, i valoarea returnat de urm torul apel
multiplicat cu 10. Se obt, ine astfel un num r alc tuit din cifrele/valorile tabloului a.
24. c
Funct, ia realizeaz parcurgerea s, irului de numere întregi în sens descresc tor începând cu indexul 4. Înainte de ecare
apel recursiv al funct, iei, valoarea elementului curent (indicat prin valoarea indexului i) este actualizat prin sumarea la
valoarea sa a valorii elementului anterior. Elementele ale c ror valoari sunt modicate sunt cele de pe poziit, iile (indecs, ii)
1, 2 s, i 4. Valorile lor devin 96, 16 s, i respectiv 57.
25. b
Se returneaza indexul, nu valoarea din vector, pentru pozit, iie de la 1 la 4.
13
Deschide documentul original

Răspunsuri directe

Ce trebuie să știi despre acest subiect?

Ce document de admitere este acesta?

Pagina prezintă model de pregătire din 2022 pentru Informatică, la Facultatea de Automatică și Calculatoare. Documentul este etichetat după instituție, facultate, program și tipul probei folosind inventarul public verificat. Consultă metodologia actuală a instituției pentru condițiile examenului viitor.

Există și barem sau răspunsuri pentru acest subiect?

Da. Pagina include baremul sau răspunsurile publice asociate acestui subiect, afișate separat ori în același document atunci când sursa le publică împreună. Verifică fiecare rezolvare după ce ai terminat varianta și urmărește exact criteriile de punctare indicate de instituție.

Cum folosesc acest subiect în pregătirea pentru admitere?

Rezolvă documentul fără ajutor și respectă timpul prevăzut de metodologia examenului. Corectează cu baremul disponibil, marchează capitolele unde ai pierdut puncte și repetă exerciții similare. Compară apoi cu alte probe din aceeași facultate și confirmă programa curentă pe site-ul oficial al instituției.