Subiect și barem
Se deschide documentul PDF… Deschide PDF
Model de pregătire · Informatică · 2021
Facultatea de Automatică și Calculatoare · TUIASI
Înapoi la arhivăDespre acest subiect
Modelul 1
Sursa documentelor: Facultatea de Automatică și Calculatoare – TUIASI. Verifică răspunsurile cu baremul după ce rezolvi subiectul.
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 · 8 pagini
Subiect · pagina 1
Universitatea Tehnic "Gheorghe Asachi" din Ias, i
Facultatea de Automatic s, i Calculatoare *
Admitere sesiunea iulie 2021
Domeniile: Calculatoare s, i tehnologia informat, iei
Ingineria sistemelor (Automatic s, i informatic aplicat )
Subiecte la testul gril de Informatic
1. Ce se as, eaz pe monitor la rularea urm torului program:
#include <i o s t r e a m >
using namespace s t d ;
int main ( void )
{
int num , a =10;
int b = 0 ;
num = a&&b + −1&&a ;
c o u t << num << a << e n d l ;
return 0 ;
}
(a) 110 (b) 010 (c) La compilare vor ap rea erori (d) 00
2. Ce se va as, a la rularea secvent, ei urm toare?
int i , s = 0 ;
for ( i = 1 0 ; i > 0 ; i −−)
{
s = s + i ;
c o u t << i −− << " " ; // p r i n t f ("%d " , i −−);
s = s − i ;
}
c o u t << " s = " << s ; // p r i n t f (" s = %d " , s ) ;
(a) 10 8 6 4 2 s = 0
(b) 10 9 8 7 6 5 4 3 2 1 s = 45
(c) 10 8 6 4 2 s = 5
(d) 9 7 5 3 1 s = 5
3. Se consider secvent, a din pseudocodul de mai jos, în care n s, i s sunt variabile de tip întreg. Cu ce valoare trebuie
init, ializat variabila n, astfel încât rezultatul s e 26?
s ← 0
cât timp n mod 2 ! = 0 execut
s ← s + n
n ← n div 2
(a) 9 (b) 7 (c) 15 (d) 21
4. Programul de mai jos va as, a:
1Subiect · pagina 2
void f ( )
{
s t a t i c int k = 4 ;
i f (−−k )
{
f ( ) ;
cou t << k << " " ;
}
}
int main ( )
{
f ( ) ;
return 0 ;
}
(a) 1 2 3 (b) 3 2 1 (c) 0 0 0 (d) 3 2 1 0
5. Ce se as, eaz pe monitor la rularea urm torului program:
#include <i o s t r e a m >
using namespace s t d ;
#define n 24
int main ( void )
{
int x ;
for ( x = 0 ; x < n ; x += 4 )
{
switch ( x )
{
case 0 : c out << x ;
case 8 : c out << x ;
default : break ;
case 4 : c out << x ;
}
}
return 0 ;
}
(a) 0048 (b) 048 (c) La compilare vor ap rea erori (d) 0084
6. Pentru a cripta textul din vectorul x, Ionel foloses, te funct, ia denit mai jos. De asemenea, hot r s, te s utilizeze litera
Q pentru a marca toate caracterele albe (spat, iul, enter, tab, etc), iar n reprezint num rul de caractere al vectorului
x. Care este formula utilizat pentru decriptare dac apelul pentru operat, ia de codicare a fost criptare(26)?
void c r i p t a r e ( int p )
{
for ( int i =0; i <n ; i ++)
x [ i ] = ( ( 'Z '−x [ i ])%p+ ' a ' ) ;
}
void d e c r i p t a r e ( int p )
{
for ( int i =0; i <n ; i ++)
. . . // i n s t r u c t i u n e f o r m u l a d e c r i p t a r e
}
2Subiect · pagina 3
(a) x[i]=(('z'-x[i])%p+'A'); (b) x[i]=('z'-x[i]+'A'); (c) x[i]=(('z'-x[i])*p+'A'); (d) x[i]=('Z'-x[i]+'A')%p.
7. Fie v un vector s, i poz una din pozit, iile vectorului corect init, ializat . Ce operat, ie efectuat asupra vectorului v necesit
utilizarea urm torului cod?
for ( i = poz ; i <= N − 1 ; i ++)
v [ i ] = v [ i + 1 ] ;
N = N − 1 ;
(a) Calcularea sumei elementelor vectorului aate intre pozitia poz si sfârs, itul vectorului
(b) Eliminarea unui element din vector
(c) Introducerea unui element în vector
(d) Interschimbarea elementului v[i] cu v[i+1] incepând de la pozitia poz si pân la sfârs, itul vectorului
8. Ce se va as, a la consol în urma apelului f (”Anaaremere”);, unde funct, ia f este denit mai jos? Funct, iile strlen,
strcmp s, i strcat sunt din biblioteca string (sau din cstring).
void f ( char a [ 1 0 0 ] )
{
char b [ 1 0 0 ] , c [ 1 0 0 ] ;
int n = s t r l e n ( a ) ;
int i , j ;
i = n−1;
b [ 0 ] = ' \0 ' ;
c [ 3 ] = ' \0 ' ;
while ( i >1)
{
for ( j = i ; j >= i −2; j = j − 1 )
c [ i −j ] = a [ j ] ;
i f ( strcmp ( c , " i n f " ) < 0 )
s t r c a t ( b , c ) ;
// s t r c a t ( b , c ) ;
i = i − 3 ;
}
cout<<b ; // p r i n t f ("% s " , b ) ;
}
(a) ereeremeraanaan (b) ereaan (c) Anaaremere (d) eremeraan
9. Fie A o matrice p tratic de dimensiune n x n. Ce reprezint Output din secvent, a de pseudocod de mai jos?
C ← 100
pentru i ← 1 la n execut
pentru j ← 1 la n execut
temp ← A[i][j] + C
A[i][j] ← A[j][i]
A[j][i] ← temp − C
pentru i ← 1 la n execut
pentru j ← 1 la n execut
Output(A[i][j])
(a) O matrice obt, inut din matricea A la care s-a adaugat 100 la elementele de deasupra diagonalei principale
s, i s-a sc zut 100 din elementele de sub diagonala principal
3Subiect · pagina 4
(b) O matrice obt, inut din matricea A la care s-a adaugat 100 la elementele de deasupra diagonalei principale
s, i s-a scazut 100 din diagonalei matricei date
(c) Matricea A
(d) Transpusa matricei A
10. Fie urm torul program ce implementeaz un algoritm care caut într-un tablou unidimensional init, ializat cu elemente
în ordine strict cresc toare dou numere a c ror diferent, a este d.
#define N 10
const int d = 1 8 ;
int v [N] = { 1 1 , 3 0 , 5 4 , 5 9 , 6 1 , 6 9 , 7 3 , 8 7 , 9 1 , 9 7 } ;
int main ( )
{
int i = 0 ;
int j = 1 ;
while ( j < N)
{
i f (E)
j ++;
e l s e i f ( v [ j ] − v [ i ] == d )
break ;
e l s e
i ++;
}
i f ( j < N)
cou t << " E x i s t a : ( " << v [ j ] << " − " << v [ i ] << " ) == " <<d ;
e l s e
cou t << "Nu e x i s t a " ;
return 0 ;
}
Care este expresia E:
(a) v[i] - v[j] < d
(b) v[j] - v[i] > d
(c) v[j] - v[i] < d
(d) v[i] - v[j] > d
11. Urm torul program determin maximul elementelor unui tablou unidimensional v.
#define N 10
int Maxim( int v [ ] , int n ) ;
int main ( )
{
int v [N] = { 1 3 , 1 1 3 , 9 7 , 6 , −1, 6 9 , 7 4 , 3 1 , 1 1 1 , 9 7 } ;
cou t << Maxim( v , N ) ; // p r i n t f ("%d " , Maxim( v , N) ) ;
return 0 ;
}
int Maxim( int v [ ] , int n )
{
int i = 0 ;
int j = n − 1 ;
while ( E )
{
i f ( v [ i ] <= v [ j ] )
4Subiect · pagina 5
i = i + 1 ; e l s e j = j − 1 ; } return v [ i ] ; } Care este expresia E: (a) j == i (b) j >= i (c) j != i (d) i < j - 1 12. Un melc cade într-o fântân adânc de N metri. Care dintre secvent, ele de mai jos calculeaz corect în câte zile (Z) va sc pa melcul din fântân , s, tiind c într-o zi întâi urc X metri s, i apoi alunec Y metri? O dat ce melcul a ies, it din fântân , nu mai poate s cad înapoi. Variabilele N , X, Y , Z sunt de tipul long int, iar N > X > Y . (a) Z = N/(X − Y ); (b) Z = (N − Y )/(X − Y ); (c) Z = (N %X == 0)?(N/(X − Y )) : (N/(X − Y ) − 1); (d) Z = (X%Y == 0)?(N/(X − Y )) : (N/(X − Y ) − 1); 13. Fie urm torul pseudocod: funct, ia f(x) y ← 1 z ← 1 cât timp x > y execut y ← y + 1 z ← z ∗ y returneaz z Care dintre urm toarele instruct, iuni dau ca rezultat valoarea 719? (a) f(6) (b) f(6) − 1 (c) f(7) (d) f(7) − 1 14. Se consider 6 secvenμe de numere sortate cresc tor. Dimensiunile secvenμelor sunt 10, 5, 35, 40, 5, 30. Pentru interclasarea a doua secvenμe de dimensiuni n respectiv m, sunt necesare n + m operaμii. Care este num rul minim de operaμii pentru interclasarea celor 6 secvenμe? (a) 270 (b) 280 (c) 250 (d) 125 15. Tat l lui Cristian dore³te s cumpere cât mai multe bomboane pentru bradul de Cr ciun, dar nu are la el decât 20 lei. Bomboanele sunt în 5 cutii. Tabelul de mai jos cont, ine pret, ul ec rei cutii ³i num rul de bomboane aate în aceasta. Nu exist dou cutii din aceea³i categorie. Cutia 1 2 3 4 5 Pret, ul 5 8 3 6 10 Num rul de bomboanedin cutie 10 8 15 18 40 Vânz torul spune c este dispus s deschid doar o cutie, pentru a completa cu bomboane din ea pân la suma de 20 lei. Care este cutia pe care o alege tat l lui Cristian pentru a deschis ? (a) 2 (b) 1 (c) 3 (d) 5 5
Subiect · pagina 6
16. Sa presupunem ca dorim sa înmulμim doua numere întregi, x ³i y, formate din n cifre. Presupunem ca x si y sunt pozitive (de exemplu x = 61438521 ³i y = 94736407). Spargem acum x în jumataμile xs ³i xd (xs = 6143, xd = 8521). Spargem apoi y în doua jumataμi ys ³i yd (ys = 9473 ³i yd = 6407). Vom avea x = xs10n/2 + xd ³i y = ys10n/2 + yd ³i xy = xsys10n + xsyd10n/2 + xdys10n/2 + xdyd (x = xs104 + xd ³i y = ys104 + yd ³i xy = xsys108 + xsyd104 + xdys104 + xdyd). xy se obt, ine în acest fel cu 4 înmulμiri de numere formate din n/2 cifre. Înmult, irea cu 10 se face prin adaugarea unui 0 la dreapta num rului. Nu este considerat operat, ie de inmult, ire. Cum putem efectua înmult, irea xy cu 3 înmulμiri de numere formate din n/2 cifre? (a) xy = xs(ys10n/2 + yd)10n/2 + xdys10n/2 + xdyd (b) xy = xsys10n + xsyd10n/2 + xd(ys10n/2 + yd). (c) xy = ys(xs10n/2 + xd)10n/2 + xsyd10n/2 + xdyd (d) xy = xsys10n + xdyd + [(xs − xd)(yd − ys) + xsys + xdyd]10n/2 17. Fie G un graf neorientat cu n noduri s, i m muchii. Câte muchii cont, ine complementul lui G? Graful G' este complementul unui graf G dac oricare dou noduri adiacente în G nu sunt adiacente în G' ³i invers. (a) (n − 1)2 − m (b) n2 − m/2 (c) n ∗ (n − 1)/2 − m (d) n!/m! 18. Fie un arbore binar oarecare cu N niveluri în care r d cina se consider a pe nivelul 1. Care din urm toarele armat, ii este adevarat ? (a) Arborele poate avea maxim 512 noduri pe al 10-lea nivel (b) Numarul maxim de frunze cand N = 10 este 1024 (c) Arborele poate avea maxim 1024 noduri când N = 10 (d) Dac arborele este strict (are doar noduri de grad 0 sau 2), atunci num rul de frunze este cu 1 mai mic decat numarul de noduri de grad 2 19. Se dores, te utilizarea unei structuri de date de tip graf pentru reprezentarea h rt, ii de teren într-un joc 3D de tip RTS (Real Time Strategy), de ex. Warcraft I, II. Harta de teren este descris de o ret, ea de triunghiuri (ca o plas ). Fiecare nod din graf reprezint un triunghi din aceast ret, ea. Între dou noduri din graf exist o muchie dac cele dou noduri corespund unor triunghiuri adiacente (au o latur comun ). Graful este construit în timpul execut, iei jocului (`on-the-y') pe masur ce juc torul exploreaz mediul virtual s, i interact, ioneaz cu acesta. Ce structur de date at, i folosi pentru reprezentarea grafului? (a) Lista de adiacent, deoarece permite actualizarea mai rapid grafului (ad ugarea/s, tergerea de noduri/mu- chii) (b) Lista de adiacent, deoarece ecare nod din graf va avea foarte multe muchii (c) Matrice de adiacent, deoarece ecare nod din graf va avea foarte multe muchii (d) Matrice de adiacent, deoarece permite actualizarea mai rapid a grafului (ad ugarea/s, tergerea de noduri- /muchii) 20. În lt, imea unui arbore se denes, te ca ind num rul de muchii din cea mai lung cale din arbore. Funct, ia de mai jos descris în pseudocod calculeaz s, i returneaz în lt, imea unui arbore binar pentru care se cunoas, te r d cina acestuia notat cu rad. Subarborelui stâng al rad cinii se noteaz u_stâng(rad) iar subarborele drept se noteaz u_drept(rad). Un subarbore vid are r d cina nul s, i în lt, imea 0. 6
Subiect · pagina 7
funct, ia f(rad)
dac rad = 0 atunci
returneaz -1;
dac f iu_stang(rad) = 0 atunci
dac f iu_drept(rad) = 0 atunci
returneaz 0;
altfel
returneaz B1;
altfel
h1=f(f iu_stang(rad));
dac f iu_drept(rad) = 0 atunci
returneaz h1 + 1;
altfel
h2=f(u_drept(rad));
returneaz B2;
Expresiile corecte pentru secventele B1 s, i B2 sunt:
(a) B1 : 1 + f (f iu_drept(rad)), B2 : 1 + max(h1, h2)
(b) B1 : f (f iu_drept(rad)), B2 : 1 + max(h1, h2)
(c) B1 : f (f iu_drept(rad)), B2 : max(h1, h2)
(d) B1 : 1 + f (f iu_drept(rad)), B2 : max(h1, h2)
21. Dac un graf complet neorientat are 15 noduri, care este num rul minim de muchii ce trebuie eliminate pentru a
obt, ine un arbore binar cu exact 3 niveluri în afar de nivelul r d cin (se consider r d cina pe nivelul 0).
(a) 91 (b) 105 (c) 13 (d) 99
22. Ce tip res, te urm toarea funct, ie pentru n=25?
void fun ( int n )
{
i f ( n != 0 )
{
cout<<n%2; // p r i n t f ("%d " , n%2);
fun ( n / 2 ) ;
}
}
(a) 11001 (b) 10011 (c) 11111 (d) 10110
23. Se consider o stiv de capacitate n implementat static cu un vector de n elemente. Operat, iile de inserare s, i stergere
se realizeaz utilizând indexul VÂRF (indic pozit, ia ultimei valorii inserate în stiv ). Dac stiva este goal , valoarea
se va insera pe pozitia 0 (indexul VÂRF=0). Condit, iile necesare pentru a detecta stiva plin s, i stiva goal sunt:
(a) Plin : V ARF = n, Goal : V ARF = 0
(b) Plin : V ARF = n, Goal : V ARF = −1
(c) Plin : V ARF = n − 1, Goal : V ARF = −1
(d) Plin : V ARF = n − 1, Goal : V ARF = 0
7Subiect · pagina 8
24. Fie urm toarea matrice cu 5 linii s, i 5 coloane cu elementul de pe prima linie s, i prima coloan aat pe pozit, ia 0, 0:
1 1 1 0 0
1 0 0 1 0
1 0 0 0 1
1 1 1 0 0
0 1 1 0 0
Ce va as, a funct, ia urm toare dac se apeleaz functie(2, 2)?
void f u n c t i e ( int x , int y )
{
cou t << "x = " << x << " y = " << y << e n d l ;
i f ( m a t r i c e [ x ] [ y ] != 1 && x > 0 && y > 0 )
f u n c t i e ( x − 1 , y − 1 ) ;
}
(a)
x = 2 y = 2
x = 1 y = 1
x = 0 y = 0
(b)
x = 1 y = 1
x = 0 y = 0
(c)
x = 2 y = 2
x = 1 y = 1
(d)
x = 2 y = 2
25. Antrenorul de karate de la clubul K'Kids scrie un program cu ajutorul c ruia s p streze informat, iile necesare despre
ecare copil înscris în club. El foloses, te un tablou de N elemente în care stocheaz informat, ii despre numele s, i vârsta
ec rui copil, astfel încat s -i e us, or s -i ordoneze pe copii atât alfabetic cât t, i dup vârst . Fiecare element din
tablou este reprezentat printr-o structur cu trei câmpuri: nume, varsta, idxN ext.
Informat, iile despre copii sunt stocate în tablou în ordine alfabetic . Câmpul idxN ext este folosit pentru a indica
ordinea în care trebuie parcurse elementele tabloului pentru a-i obt, ine pe copii în ordinea crescatoare a vârstei. Dac
mai mult, i copii au aceeas, i vârst , aces, tia sunt ordonat, i s, i dupa nume. Pentru a indica ultimul element din ordonarea
dup vârst se foloses, te valoarea −1 pentru campul idxN ext. Indexul în tabel al copilului cu vârsta cea mai mic este
stocat în variabila celM aiM ic. Care din urmatoarele variante de pseudocod corespund unei funct, ii care îl poate ajuta
pe antrenor s as, eze copiii în ordinea descrescatoare a vârstei? Funct, ia primeste ca parametri tabloul de elemente
s, i un index în tablou. La apelul funct, iei în programul principal, parametrul idx va lua valoarea celM aiM ic.
(a)
funct, ia f(V , N , idx)
pentru crt ← N − 1 la 0 execut
print(nume(V [crt]), varsta(V [crt]))
(b)
funct, ia f(V , idx)
dac idx 6 = −1 atunci
f(V , idxN ext(V [idx]))
print(nume(V [idx]), varsta(V [idx]))
(c)
funct, ia f(V , idx)
crt ← idx
cât timp crt 6 = −1 execut
print(nume(V [crt]), varsta(V [crt]))
crt ← idxN ext(V [crt])
(d)
funct, ia f(V , idx)
dac idx 6 = −1 atunci
print(nume(V [idx]), varsta(V [idx]))
f(V , idxN ext(V [idx]))
8Barem · 4 pagini
Barem · pagina 1
R spunsurile corecte cu explicat, ii
1. a
În C/C++ orice valoare nenul este asimilat cu valoarea logic ADEVRAT (TRUE) care are ca valoare numeric
valoarea 1 s, i orice valoare nul este asimilat cu valoarea logic FALS (FALSE) care are ca valoare numeric valoarea 0.
2. c
Pentru primul pas al instruct, iunii for, variabila i va avea valoarea 10, deci cele trei instruct, iuni vor avea urm torul efect:
s va lua valoarea 10
se va as, a valoarea 10, dup care i va decrementat, deci va lua valoarea 9
s va egal cu 10 - 9, deci va avea valoarea 1
Aces, ti trei pas, i vor reluat, i pentru valorile lui i: 8 6 4 2. La ecare trecere prin for, variabila s va incrementat .
3. c
Pentru a rezolva aceast problem , trebuie vericat pseudocodul pentru toate variantele de r spuns.
4. c
Având în vedere c variabila k este static , la revenirea din ecare apelul se va as, a valoarea acesteia care este 0 (zero).
5. a
Instruct, iunea switch veric valoarea lui x s, i face saltul la instruct, iunile cu eticheta respectiv . Dup execut, ia instruct, iunilor
corespunz toare etichetei la care s-a f cut saltul, execut, ia programului se continu cu instruct, iunile imediat urm toare
(dac nu exist break s, i iese din switch la întâlnirea instruct, iunii break.
6. b
#include <i o s t r e a m >
#include <c s t r i n g >
using namespace s t d ;
char x [ ] = { 'A ' , 'N ' , 'A ' , 'L ' , ' I ' , 'Z ' , 'A ' , 'Q ' , 'R ' , 'E ' , 'Z ' , 'U ' , 'L ' , 'T ' , 'A ' , 'T ' , 'Q ' } ;
int n ;
void c r i p t a r e ( int p )
{
for ( int i =0; i <n ; i ++)
x [ i ] = ( ( 'Z '−x [ i ])%p+ ' a ' ) ;
}
void d e c r i p t a r e ( int p )
{
for ( int i =0; i <n ; i ++)
x [ i ] = ( ( ' z '−x [ i ])+ 'A ' ) ;
}
void a f i s ( )
{
for ( int i =0; i <17; i ++)
cout<<x [ i ] ;
cout<<e n d l ;
}
int main ( )
{
n=s t r l e n ( x ) ;
9Barem · pagina 2
a f i s ( ) ; c r i p t a r e ( 2 6 ) ; a f i s ( ) ; d e c r i p t a r e ( 2 6 ) ; a f i s ( ) ; return 0 ; } 7. b Prin parcurgerea codului se identic urm toarele aspecte: vectorul este parcurs începând cu o anumit pozit, ie pân la ultimul element (inclusiv). De la aceast pozit, ie pân la nalul vectorului se mut elementele de pe pozitia i+1 pe pozit, ia i. La nal, num rul de elemente ale vectorului se decrementeaz . Toate aceste operat, ii elimin din vector elementul de pe pozit, ia de start a instruct, iunii f or. 8. b S, irul de caractere este procesat de la nal la început în grupuri de trei caractere. Caracterele din ecare grup sunt puse într-un s, ir temporar în ordine invers , iar s, irul temporar este as, at doar dac este înaintea s, irului inf din punct de vedere lexicograc. Ultima grupare de trei caractere ar fost format doar din caracterul A, dar aceasta nu este procesat pentru c i ajunge 0 s, i se iese din bucla while. 9. c Raspuns c) Matricea A Orice element A[l][m] va interschimbat de dou ori, odata pentru i = l si j = m si apoi pentru i = m si j = l. Swap de dou ori înseamn ca matricea nu se schimb . 10. c Algoritmul de c utare a existent, ei a cel putin unei perechi de numere din tabloul v a c ror diferent, a este d, utilizeaza dou variabile index init, ializate cu 0 respectiv 1. Aceste variabile vor incrementate funct, ie de valoarea de adev r a expresiei E. Dac diferent, a dintre elementele indicate este strict mai mic decât d este incrementat indexul j altfel indexul i (daca nu cumva diferent, a este d). A nu se uita faptul elementele tabloului sunt în ordine strict cresc toare. 11. c Algoritmul de c utare utilizeaz dou variabile de tip index init, ializate cu 0 s, i n-1 (elementele de cap t ale tabloului). Sunt comparate elementele de index i s, i j s, i corespunz tor se incrementeaza i sau j în funct, ie de valoarea de adev r a expresiei (v[i] <= v[j]. Algoritmul se opreste atunci când i == j. Elementul maxim este cel de pe pozit, ia i (sau j). 12. b Deoarece, o dat ce melcul a ies, it din fântân , nu mai poate s cad înapoi, se poate considera c fântâna are (N − Y ) metri, iar melcul urc zilnic (X − Y ) metri. 13. b Pseudocodul calculeaz factorialul num rului x. Acest lucru se poate observa calculând f (2) s, i f (3). Deoarece 6! = 720, valoarea 719 se poate obt, ine prin instruct, iunea f (6) − 1. 14. b 1. Secvenμele sunt asezate în ordinea cresc toare a dimensiunilor lor. 2. Se aleg pentru interclasare primele dou secvenμe. Secvenμa rezultat inlocuie³te cele dou secvenμe interclasate. 3. Se repet pa³ii 1 si 2 pân se obμine o singura secvenμ . 15. b Tat l lui Cristian a³eaz cutiile în ordinea 3,5,4,1,2 (15/3>40/10>18/6>10/5>8/8). Alege cutiile 3,5,4 ³i cere desfacerea cutiei 1. Observat, ie. Nu cred c trebuie s explic metoda greedy. Cei care cunosc metoda, vor rezolva problema mai rapid. Ceilalt, i vor încerca toate variantele posibile. 10
Barem · pagina 3
16. d
((ys10n/2 + yd) ³i ((xs10n/2 + xd) sunt numere formate din n cifre. În varianta (d), (xs − xd) ³i (yd − ys) sunt numere
formate din n/2 cifre. Înmulμirile xsys ³i xdyd pot efectuate o singur dat .
17. c
Complementul unui graf G cu n noduri s, i m muchii: din graful complet (care cont, ine acelas, i noduri ca G), s, i care
are n ∗ (n − 1)/2 muchii, se elimin cele m muchii din G. Prim urmare, num rul de muchii din complementul lui
G = n ∗ (n − 1)/2 − m.
18. a
(a) corect, nr max de noduri pe nivelul level =2level−1; (b) gres, it, nr max de frunze = 210−1 = 512; (c) gres, it, nr max
noduri din arbore = 2level − 1 = 1023; (d) gres, it, n0 = n2 + 1 pt un arbore strict
19. a
Nodurile nu vor avea multe muchii - acestea se denesc doar între un triunghi s, i triunghiurile vecine din ret, ea. Lista de
adiacent, este mai potrivit , deoarece este mai ecient pentru stocarea grafurilor rare s, i se evit re-alocarea matricei în
cazul ad ug rii/s, tergerii de noduri/muchii (graful este construit 'on-the'y', pe masur ce se exploreaz scena).
20. a
Raspuns a) B1 : (1 + height(n->right)), B2 : (1 + max(h1,h2))
typedef int Tip_cheie ;
struct Nod
{
Tip_cheie c h e i e ; // c h e i a e s t e c h i a r v a l o a r e a
Nod * s t g , * d r t ;
} ;
int Height ( Nod *n )
{
int h1 , h2 ;
i f ( n == NULL) return −1;
i f ( n−>s t g == NULL)
i f ( n−>d r t == NULL) return 0 ;
e l s e return ( 1 + Height ( n−>d r t ) ) ; // a i c i e s t e B1
e l s e {
h1 = Height ( n−>s t g ) ;
i f ( n−>d r t == NULL) return ( 1 + h1 ) ;
e l s e
{
h2 = Height ( n−>d r t ) ;
i f ( h1>=h2 ) // a i c i e s t e B2 d i n pseudocod
return ( 1 + h1 ) ;
e l s e return (1+ h2 ) ;
}
}
}
void I n s e r t N ( Nod *&r , Tip_cheie k ) // p e n t r u c r e a r e BST
{
i f ( r==0) r=MakeNod ( k ) ;
e l s e
{
Nod *p , *p1 ; p=r ;
while ( p !=0)
{
p1=p ;
11Barem · pagina 4
i f ( p−>c h e i e > k ) p=p−>s t g ;
e l s e
i f ( p−>c h e i e < k ) p=p−>d r t ;
e l s e // n o d u l e x i s t a
{ p r i n t f ( " nodul e x i s t a \n" ) ; return ; }
} // s e i e s e cu p=0 s i p1 i n d i c a n o d u l dupa c a r e s e i n s e r e a z a
i f ( k < p1−>c h e i e ) p1−>s t g=MakeNod ( k ) ;
e l s e p1−>d r t=MakeNod ( k ) ;
}
}
21. a
n(n-1)/2 muchii in total in graf => 15*14/2=105 muchii arbore binar cu 3 niveluri=> 14 muchii 105-14=91
22. b
Se printeaz reprezentarea binar in ordine inversa 10011
23. a
Plin : VÂRF = = n-1, Goal : VÂRF = = -1
Pentru push: stiva[++varf]=val Pentru pop: return stiva[- -varf]
24. a
Funct, ia dat este o funct, ie recursiv care se va opri când se va ajunge pe un element al matricii cu valoarea 1 sau când
x sau y va lua o valoare mai mic sau egal cu 0. Funct, ia este apelat cu valorile 2, 2. Elementul din matrice de pe
aceast pozit, ie are valoarea 0. Se va as, a x = 2, y = 2 s, i se va apela funct, ia recursiv cu valorile x - 1, y - 1, respectiv
1, 1. Elementul de pe aceast pozit, ie are tot valoarea 0, deci se va asa x = 1, y = 1 s, i se va apela funct, ia recursiv cu
valorile x - 1, y - 1, respectiv 0, 0. Acest element are valoarea 1, deci se va as, a x = 0, y = 0, dar nu se va mai apela
funct, ia din nou, deoarece oricare dintre cele trei condit, ii din if va avea valoarea fals.
25. b
Pentru as, area în ordinea descrescatoare a vârstei, lista liniar simplu înlant, uit trebuie parcurs în ordinea de la ultimul
la primul element. (a) gres, it - parcurge tabloul în ordine invers alfabetic; (b) corect - parcurge recursiv lista - as, area
se face la revenirea din recursie, deci în ordine invers a elementelor; (c) gres, it - parcurge lista de la primul la ultimul
element, deci în ordinea crescatoare a vârstei; (d) gres, it - parcurge lista recursiv, cu as, area înainte de intrarea în recursie,
deci de la primul la ultimul element.
12Alte subiecte de la aceeași facultate
Răspunsuri directe
Ce trebuie să știi despre acest subiect?
Ce document de admitere este acesta?
Pagina prezintă model de pregătire din 2021 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.