Despre acest subiect
Modelul 1
Sursa documentelor: Facultatea de Automatică și Calculatoare – TUIASI. Verifică răspunsurile cu baremul după ce rezolvi subiectul.
Se încarcă profesorii disponibili…
Se deschide documentul PDF… Deschide PDF
Facultatea de Automatică și Calculatoare · TUIASI
Înapoi la arhivăModelul 1
Sursa documentelor: Facultatea de Automatică și Calculatoare – TUIASI. Verifică răspunsurile cu baremul după ce rezolvi subiectul.
Text extras automat din documentul original. Pentru formule, tabele, imagini și așezarea răspunsurilor, verifică întotdeauna PDF-ul.
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:
1void 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
}
2(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
3(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 ] )
4i = 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
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
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
724. 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]))
8R 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 ) ;
9a 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
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 ;
11i 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.
12Răspunsuri directe
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.
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.
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.
Glisează pentru a vedea profesorii
Sunt profesor de Informatica-Matematica si Trainer IT, cu experienta de lucru cu elevi/studenti de aproximativ 15 ani. Am absolvit Facultatea de Cibernetica din cadrul Academiei de Studii Economice, olimpica la Informatica, ofer meditatii orice nivel, pentru C/C++, Adobe Illustrator, Python, PHP, SQL, lucrul in diferite medii (ex. APEX etc) cat si pregatire pentru ECDL. Sedintele de meditatii le tin in format online (prin intermediul unor metode usor de inteles, care simuleaza sedinta de meditatii clasica). Pot oferi ajutor si pentru pregatire de examene nationale, Bacalaureat, admiteri, corectari teme. O ședință poate fi de o oră, o oră și 30 de minute sau 2 ore. Ofer meditații individuale sau în grupe de câte 2-5 elevi.
Sunt profesor de Informatica-Matematica si Trainer IT, cu experienta de lucru cu elevi/studenti de aproximativ 15 ani. Am absolvit Facultatea de Cibernetica din cadrul Academiei de Studii Economice, olimpica la Informatica, ofer meditatii orice nivel, pentru C/C++, Adobe Illustrator, Python, PHP, SQL, lucrul in diferite medii (ex. APEX etc) cat si pregatire pentru ECDL. Sedintele de meditatii le tin in format online (prin intermediul unor metode usor de inteles, care simuleaza sedinta de meditatii clasica). Pot oferi ajutor si pentru pregatire de examene nationale, Bacalaureat, admiteri, corectari teme. O ședință poate fi de o oră, o oră și 30 de minute sau 2 ore. Ofer meditații individuale sau în grupe de câte 2-5 elevi.
Preț
230 lei / 90 min
Ofer meditații tuturor elevilor și studenților care își doresc să învețe informatică, și să se perfecționeze pentru a obține o notă cât mai mare la Bacalaureat, dar și pentru studenții care întâmpină probleme la susținerea examenelor universitare. Lucrez cu elevi de orice nivel și adaptez stilul în funcție de nevoile fiecăruia. Datorită faptului că diferența de vârstă mică dintre mine și elevii mei, orele de pregătire se desfășoară într-o atmosferă relaxată, lucru care le permite elevilor să fie mai deschiși la a pune întrebări și astfel, asimilează mult mai ușor cunoștințele. Pentru mai multe detalii, vă rog să mă contactați.
„profesorul este bun, intelegator,si te ajuta sa intelegi indiferent de nivelul la care esti, fie ca e lectie noua sau o recapitulare ,stie sa te tina prins in ora, sincer nu cred ca exista profesor sa ma faca sa imi placa sa invat pana am dat de el, ma bucur ca imi este meditator si recomand cu toata increderea!!”Floris Daniel T.
Ofer meditații tuturor elevilor și studenților care își doresc să învețe informatică, și să se perfecționeze pentru a obține o notă cât mai mare la Bacalaureat, dar și pentru studenții care întâmpină probleme la susținerea examenelor universitare. Lucrez cu elevi de orice nivel și adaptez stilul în funcție de nevoile fiecăruia. Datorită faptului că diferența de vârstă mică dintre mine și elevii mei, orele de pregătire se desfășoară într-o atmosferă relaxată, lucru care le permite elevilor să fie mai deschiși la a pune întrebări și astfel, asimilează mult mai ușor cunoștințele. Pentru mai multe detalii, vă rog să mă contactați.
„profesorul este bun, intelegator,si te ajuta sa intelegi indiferent de nivelul la care esti, fie ca e lectie noua sau o recapitulare ,stie sa te tina prins in ora, sincer nu cred ca exista profesor sa ma faca sa imi placa sa invat pana am dat de el, ma bucur ca imi este meditator si recomand cu toata increderea!!”
Preț
100 lei / 2 h
💻 De ce să colaborăm? Sunt mentor de informatică pentru gimnaziu și liceu, cu o experiență de peste 4 ani și mai mult de 200 de tineri ghidați cu succes în universul programării. Având o formare solidă în matematică și informatică, pun accent pe o predare intuitivă, logică și vizuală. Nu ne limităm la teorie: descompun fiecare concept în pași simpli, astfel încât elevul să înțeleagă exact de ce funcționează un cod și să capete autonomie în fața problemelor. 🧠 Cum lucrez cu elevii? Studiile mele în psihologia copilului mă ajută să mă sincronizez cu ritmul și stilul de învățare al fiecărui cursant. Îmi propun să mențin un climat relaxat și constructiv, eliminând teama de greșeală și transformând scrierea de cod într-o activitate creativă și plăcută. 🎓 Metodologie modernă Participarea constantă la cursuri de specialitate îmi oferă instrumente didactice actualizate, care facilitează predarea eficientă a algoritmilor și a structurilor de date, construind în același timp o relație bazată pe deschidere și încredere. 🏆 Performanțe și rezultate Cea mai mică notă obținută de elevii mei la Bacalaureat (la proba de Informatică): 8,80 Bilanțul pentru 2025: 2 note de 10 curate la Bacalaureat (Informatică) și o rată de promovabilitate excelentă, mulți elevi reușind să își depășească propriile așteptări. 👨🏫 Cine sunt eu? ✍️ Scriu frecvent articole și probleme de specialitate pentru reviste dedicate. Mă descriu ca o persoană calmă, extrem de răbdătoare și empatică. Știu cum să transform noțiuni abstracte – cum ar fi vectorii, matricile sau recursivitatea – în concepte prietenoase, ușor de asimilat. 💡 Cred cu tărie că informatica se înțelege prin exercițiu și înțelegere logică, nu prin memorare mecanică. Ajut fiecare elev să își descopere potențialul și să capete încredere deplină în forțele proprii. 📚 Cum se desfășoară pregătirea? Toate ședințele sunt exclusiv 1 la 1 (individuale). 💻 Întâlnirile au loc online, într-un mediu interactiv optimizat pentru partajarea ecranului și scriere de cod în timp real. Structura unei ședințe tip: Debriefing: Analiza temei anterioare și clarificarea oricăror neclarități. Predare interactivă: Noțiuni noi explicate pas cu pas, însoțite de exemple practice și vizuale direct în mediul de lucru. Sesiune practică: Rezolvarea împreună de probleme, analizarea erorilor de cod (debugging) și exersarea logicii algoritmice. Temă personalizată: Set de aplicații croite exact pe nivelul și ritmul elevului.
„Nu mă învață doar să scriu cod, ci să gândesc ca un programator. Când greșesc, nu îmi dă direct rezolvarea, ci mă ghidează cu răbdare să îmi găsesc singur eroarea. Asta m-a ajutat enorm să devin mult mai sigur pe mine la problemele grele.”Munteanu M.
💻 De ce să colaborăm? Sunt mentor de informatică pentru gimnaziu și liceu, cu o experiență de peste 4 ani și mai mult de 200 de tineri ghidați cu succes în universul programării. Având o formare solidă în matematică și informatică, pun accent pe o predare intuitivă, logică și vizuală. Nu ne limităm la teorie: descompun fiecare concept în pași simpli, astfel încât elevul să înțeleagă exact de ce funcționează un cod și să capete autonomie în fața problemelor. 🧠 Cum lucrez cu elevii? Studiile mele în psihologia copilului mă ajută să mă sincronizez cu ritmul și stilul de învățare al fiecărui cursant. Îmi propun să mențin un climat relaxat și constructiv, eliminând teama de greșeală și transformând scrierea de cod într-o activitate creativă și plăcută. 🎓 Metodologie modernă Participarea constantă la cursuri de specialitate îmi oferă instrumente didactice actualizate, care facilitează predarea eficientă a algoritmilor și a structurilor de date, construind în același timp o relație bazată pe deschidere și încredere. 🏆 Performanțe și rezultate Cea mai mică notă obținută de elevii mei la Bacalaureat (la proba de Informatică): 8,80 Bilanțul pentru 2025: 2 note de 10 curate la Bacalaureat (Informatică) și o rată de promovabilitate excelentă, mulți elevi reușind să își depășească propriile așteptări. 👨🏫 Cine sunt eu? ✍️ Scriu frecvent articole și probleme de specialitate pentru reviste dedicate. Mă descriu ca o persoană calmă, extrem de răbdătoare și empatică. Știu cum să transform noțiuni abstracte – cum ar fi vectorii, matricile sau recursivitatea – în concepte prietenoase, ușor de asimilat. 💡 Cred cu tărie că informatica se înțelege prin exercițiu și înțelegere logică, nu prin memorare mecanică. Ajut fiecare elev să își descopere potențialul și să capete încredere deplină în forțele proprii. 📚 Cum se desfășoară pregătirea? Toate ședințele sunt exclusiv 1 la 1 (individuale). 💻 Întâlnirile au loc online, într-un mediu interactiv optimizat pentru partajarea ecranului și scriere de cod în timp real. Structura unei ședințe tip: Debriefing: Analiza temei anterioare și clarificarea oricăror neclarități. Predare interactivă: Noțiuni noi explicate pas cu pas, însoțite de exemple practice și vizuale direct în mediul de lucru. Sesiune practică: Rezolvarea împreună de probleme, analizarea erorilor de cod (debugging) și exersarea logicii algoritmice. Temă personalizată: Set de aplicații croite exact pe nivelul și ritmul elevului.
„Nu mă învață doar să scriu cod, ci să gândesc ca un programator. Când greșesc, nu îmi dă direct rezolvarea, ci mă ghidează cu răbdare să îmi găsesc singur eroarea. Asta m-a ajutat enorm să devin mult mai sigur pe mine la problemele grele.”
Preț
150 lei / 2 h