Variante Bac Alocare Dinamica V 31-35


Varianta 31
3. 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.)
  1. a. 15 4
  2. b. 15 4 20
  3. c. 4 20
  4. d. 20
Raspuns: b) avem initial 2 1, adugam 10 si 15 eliminam 2, adaugam 4, eliminam 1 adaugam 20 si eliminam 10 => 15 4 20.


Varianta 32
2. Într-o listă simplu înlănţuită circulară, alocată dinamic, fiecare element reţine în câmpul adr adresa elementului următor din listă. Dacă p şi q sunt adresele a două elemente distincte din listă astfel încât să fie îndeplinite condiţiile p= q->adr şi q = p->adr , atunci lista are:
a. un numar impar de elemente
b. exact 2 elemente
c. cel putin 3 elemente
d. exact 1 element

raspuns b deoarece daca lista e circulara atunci p=q->adr si q=p->adr nu se poate numai daca sunt exact 2 elemente pentu a se putea ajunge de la unul la altul, conform conditiilor.


Varianta 33 
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?      

a.  5                     b.  2                      c.  3                 d.  4

7
6
5
4                         
3
2
1
Pentru a avea în vârful stivei valoarea 5 trebuie să eliminăm maxim două valori,strict două valori şi anume (7,6).
Varianta 34
2. Se consideră o listă alocată dinamic care are cel puţin 10 elemente şi fiecare element al listei memorează în câmpul info un număr întreg, iar în câmpul next adresa elementului următor în listă sau NULL dacă nu există un element următor. Variabila p memorează adresa de început a listei, iar variabila aux este de acelaşi tip cu p. Dacă în urma executării secvenţei alăturate de program, variabila p are valoarea NULL, atunci:

a. toate numerele din listă sunt divizibile cu 5
b. doar primul element din listă este divizibil cu 5
c. în listă nu s-a memorat niciun număr divizibil cu 5
d. doar ultimul element memorat în listă este divizibil cu 5

Raspunsul corect este c deoarece in cerinta while se spune ca numai daca p este diferit de 0 si nu este divizibil cu 5 se poate efectua secventa de program.
Varianta 35

2. Într-o listă liniară simplu înlănţuită cu cel puţin 3 noduri, fiecare element reţine în câmpul
urm, adresa următorului element din listă. Dacă în variabila p se reţine adresa primului
element din listă şi q este o variabilă de acelaşi tip cu p, atunci care dintre secvenţele de
mai jos elimină din listă al doilea nod ? (4p.)
a). q=p->urm;
p->urm=q->urm;
delete q; | free(q);
b). q=p->urm;
delete q; | free(q);
p->urm=q->urm;
c). delete p->urm; | free(p->urm);
p->urm=p->urm->urm;
d(. q=p->urm->urm;
p->urm=q->urm;
delete q; | free(q);

Varianta b) este corecta pentru ca :
 q=p->urm ;
dupa care se apeleaza functia delete q ; free q 
iar q=q->urm .