Documente Academic
Documente Profesional
Documente Cultură
TesteLicentaRomana2013 StructuriDiscreteAlg
TesteLicentaRomana2013 StructuriDiscreteAlg
n
i=1
p(x
i
)l(s
i
)
(b) L(X)=
n
i=1
p(x
i
) log
2
p(x
i
)
(c) L(X)=
n
i=1
m
l
i
7. Pentru a efectua o codicare neuniforma univoca, pentru o sursa de informat ie X, ale carei stari
le identica prin n simboluri primare, ntrebuintand m simboluri elementare, cu ajutorul carora
sa transmitem o cantitate de informat ie E(X) este necesar ca
(a) lungimea medie a cuvintelor de cod sa e L(X)
E(X)
log
2
m
(b) lungimea minima a secventelor de cod sa e L(X) >
E(X)
log
2
2
(c) lungimea minima a secventelor de cod sa e L(X) <
E(X)
log
2
m
8. Sistemul de numerat ie este denit ca
(a) totalitatea regulilor de reprezentare a numerelor folosind un anumit set de simboluri distincte,
numite alfabet; simbolurile sunt numite cifre.
(b) un sistem lingvistic si un mod de notat ie matematica pentru reprezentarea numerelor folosind
n mod coerent un set de simboluri.
(c) totalitatea regulilor folosite pentru scrierea codurilor cu ajutorul unor simboluri.
9. Legile logice sau tautologiile sunt denite ca
(a) enunt urile compuse care au valoarea de adevar adevarat, indiferent de valorile de adevar ale
componentelor sale.
(b) enunt urile compuse care pot adevarate sau false n funct ie de valorile de adevar ale com-
ponentelor sale.
(c) enunt urile compuse care au valoarea de adevar fals, indiferent de valorile de adevar ale com-
ponentelor sale.
10. Care din urmatoarele armat ii sunt adevarate pentru o latice distributiva si complementata
(L, , +)?
(a) exista un element neutru pe care l notam 1 pentru operat ia care satisface relat ia x 1 =
x, x L.
(b) pentru orice element x L exista un element complementar x L care satisface relat iile:
x + x = 0 si x x = 1.
(c) exista un element neutru pe care l notam 0 pentru operat ia + care satisface relat ia x+0 =
x, x L.
17
2 BAZELE INFORMATICII
(d) pentru orice element x L exista un element complementar x L care satisface relat iile:
x x = 0 si x + x = 1.
(e) exista un element neutru pe care l notam 0 pentru operat ia care satisface relat ia x 0 =
x, x L.
11. O algebra booleana este
(a) o latice distributiva si complementata.
(b) o funct ie bijectiva.
(c) o mult ime pe care sunt denite una sau mai multe operat ii care au anumite proprietat i.
12. O functie booleana de n variabile booleene se deneste ca
(a) o funct ie denita pe produsul cartezian BxBx...xB de n ori cu valori n mult imea B: f : B
B
n
, x
i
f(x
i
), x
i
B, i = 1, n.
(b) o funct ie denita pe produsul cartezian BxBx...xB de n ori cu valori n mult imea B: f : B
n
B, (x
1
, ..., x
n
) f(x
1
, ..., x
n
), x
i
B, i = 1, n.
(c) o funct ie f : {0, 1}
n
{0, 1}
m
pentru m, n 0.Fiecarei n-tuple x = x
1
, ..., x
n
{0, 1}
n
,
funct ia i pune n corespondent a o m-tupla unica f(x) = y = y
1
, ..., y
n
{0, 1}
m
.
13. Pentru funct ia lui Peirce, care din urmatoarele armat ii sunt adevarate?
(a) f
8
(0, 0) = 1, f
8
(0, 1) = 0, f
8
(1, 0) = 0, f
8
(1, 1) = 0
(b) f
8
(0, 0) = 1, f
8
(0, 1) = 1, f
8
(1, 0) = 0, f
8
(1, 1) = 0
(c) f
8
(0, 0) = 0, f
8
(0, 1) = 1, f
8
(1, 0) = 0, f
8
(1, 1) = 1
14. Pentru funct ia lui Sheer, care din urmatoarele armat iisunt adevarate?
(a) f
14
(x
1
, x
2
) = x
1
+x
2
(b) f
14
(x
1
, x
2
) = x
1
x
2
+x
1
x
2
(c) f
14
(x
1
, x
2
) = x
1
x
2
+x
1
x
2
15. Fie data mult imea X = {x
1
, x
2
, . . . , x
p
} si mult imea de simboluri A = {a
1
, a
2
, . . . , a
m
}. Care
este lungimea minima n a secvent elor de cod care se pot realiza cu simboluri din A, pentru o
codicare uniforma a elementelor lui X?
(a) n este cel mai mic ntreg m
(b) n este cel mai mare ntreg [log
p
m]
(c) n este cel mai mic ntreg [log
m
p]
16. Stabilit i lungimea minima a secvent elor de cod alfanumeric uniform binar, care cont in literele
mari ale alfabetului latin, cifrele zecimale si alte 20 de caractere speciale.
(a) n = 6
18
2 BAZELE INFORMATICII
(b) n = 5
(c) n = 7
17. Sursa de informat ie X poate emite trei simboluri x
1
, x
2
, x
3
cu probabilitat ile p(x
1
) = 0.7, p(x
2
) =
0.2, p(x
3
) = 0.1. Folosind o codicare binara neuniforma univoca, asociind secvent e binare la
ecare simbol primar, sa se determine care este lungimea medie a secvent elor de cod.
(a) L(X) = 1.3
(b) L(X) = 2.33
(c) L(X) = 1.16
18. O secvent a de cod este reprezentata prin 32479210000. Care este cifra de control c corespunzatoare,
stiind ca ponderile sunt (de la st anga la dreapta): 8, 7, 5, 4, 2, 1 si apoi se repeta? Formula de
calcul a cifrei de control este c = q (
p
i=1
x
i
a
i
)mod q
(a) c = 3
(b) c = 5
(c) c = 9
19. Care din variantele urmatoare reprezinta codicarea mesajului Azi 20 folosind codul EBCDIC
(a) 11000001 10101001 10001001 01000000 11110010 11110000
(b) 111111 110001 110000 011001 111001 000010 000000
(c) 1000001 1111010 1101001 0100000 0110010 0110000
20. Care va reprezentarea n baza 10 a numarului (63.2)
8
?
(a) (51.25)
10
(b) (30, 25)
10
(c) (34, 25)
10
21. Se arunca 2 zaruri. Care este cantitatea medie de informat ie obt inuta n urma aruncarii cu
zarurile, tinand cont ca toate fet ele au probabilitate egala de aparit ie.
(a) E(X) = 2 log
2
6
(b) E(X) = log
2
6
(c) E(X) = log
2
12
22. O cultura de sera este dirijata prin 4 factori de mediu, variabili dupa cum urmeaza: temper-
atura (12 trepte), iluminatul (8 trepte), ngrasamant (6 trepte), umiditate (7 trepte). Care este
cantitatea de informat ie cont inuta ntr-o ret eta de mediu, n ipoteza ca toate ret etele sunt egal
posibile?
19
2 BAZELE INFORMATICII
(a) E(X) = 12 bit i
(b) E(X) = 6 bit i
(c) E(X) = 7 bit i
23. De la un proces tehnologic se culeg valorile debitului, presiunii si temperaturii, transmit andu-se
spre procesare la un calculator numeric. Esantioanele de date sunt culese la anumite intervale de
timp si se codica binar.
In secvent a de cod exista cate o zona de 2 bit i pentru denirea ecarui
parametru, urmata de zone n care se trec valorile acestuia. Stiind ca temperatura variaza n 30
de trepte, presiunea n 25 si debitul n 14, lungimea unei secvent e de cod este
(a) 14 bit i
(b) 20 bit i
(c) 6 bit i
24. Care este reprezentarea pe 8 bit i n complement fat a de 2 a lui -1?
(a) N= 00000000
(b) N= 11111111
(c) N= 11111001
25. Care este reprezentarea pe 8 bit i n complement fat a de 2 a numarului -6 ?
(a) 11111010
(b) 11111001
(c) 00000110
26. Care este reprezentarea n virgul a otanta simpla precizie a numarului N = 178, 125?
(a) 0 10000110 011001000100000
(b) 0 10000001 010000000000000
(c) 0 10000111 110000010000000
27. Care este numarul reprezentat n virgula otanta simpla precizie: 1 10000001 0100000000000?
(a) N = 5
(b) N = 12
(c) N = +6
28. Care din urmatoarele formule logice sunt tautologii?
(a) ((P Q) Q) P
(b) (P Q) (Q P)
(c) (P (P Q)) Q
20
2 BAZELE INFORMATICII
(d) P P
29. Formula logica urmatoare ((P Q) R) ((R P) Q) este
(a) tautologie
(b) antilogie
(c) realizabila
30. Stiind ca f
1
(x
1
, x
2
) = x
1
x
2
; f
7
(x
1
, x
2
) = x
1
+ x
2
; f
8
(x
1
, x
2
) = x
1
x
2
; f
12
(x
1
, x
2
) = x
1
. Care din
urmatoarele funct ii sunt corecte?
(a) f
1
(x
1
, x
2
) = f
8
(f
8
(x
1
, 0), f
8
(x
2
, 0))
(b) f
1
(x
1
, x
2
) = x
1
x
2
(c) f
1
(x
1
, x
2
) = f
12
(f
7
(f
12
(x
1
, 0), f
12
(x
2
, 0)), 0)
(d) f
1
(x
1
, x
2
) = f
7
(f
12
(x
1
, 0), f
12
(x
2
, 0))
21
3 STRUCTURI DE DATE
3 Structuri de date
/ * Se presupune, acolo unde este cazul, ca sierele care cont in prototipul funct iilor apelate din bib-
lioteca C, vor corect incluse n programele care apeleaza funct iile din testele enunt ate */
1. Componentele unei structuri de date:
(a) trebuie sa e toate de acelasi tip;
(b) pot la randul lor structuri de date;
(c) pot toate de acelasi tip;
(d) nu pot tipuri denite de c atre utilizator;
(e) pot avea unul din tipurile standard ale limbajului de programare utilizat.
2. Se numeste lista liniara:
(a) structura de date n care inserarile, suprimarile si orice alt acces se efectueaza la unul din
capetele listei;
(b) o colect ie de n 0 elemente de acelasi tip, ale caror proprietat i structurale se reduc la
pozit iile relative liniare (unidimensionale) ale elementelor n cadrul structurii;
(c) o structura de date asimilata cu un tablou in care elementele sunt memorate ntr-o zona
continua de memorie, in locat ii succesive;
(d) o structura avansata de date ce se caracterizeaza printr-un grad de abstractizare ridicat.
3. Selectat i care din urmatoarele operat ii sunt considerate operat ii de baza asupra listelor n general:
(a) Sortarea elementelor listei n ordinea crescatoare/ descrescatoare a valorilor anumitor campuri;
(b) Insumarea elementelor listei ;
(c) Accesul la elementul de pe pozit ia i din lista;
(d) Suprimarea unui nod din lista ;
(e) Copierea unei liste pe un alt suport;
4. Care din declarat iile de mai jos denesc corect o structura de tip lista liniara l, implementata
prin tipul tablou?
(a) #define lungmax 5
typedef int nod;
typedef struct{
nod elemente[lungmax];
int ultim;
}lista;
lista l;
22
3 STRUCTURI DE DATE
(b) #define lung_max 5
struct {
nod elemente [lung_max];
int ultim;
}l;
(c) #define lung_max 5
typedef int nod;
typedef struct {
nod elemente [lung_max];
}l;
(d) #define lung_max 5
typedef int nod;
struct {
nod elemente [lung_max];
int ultim;
} ;
lista l;
5. Se considera descrierile n limbajul C:
#include <stdio.h>
#include <conio.h>
#define lung_max 5
typedef int nod;
typedef struct {
nod elemente[lung_max];
int ultim; / * indexul ultimului element al listei */
}lista;
lista l;
int k; / * k indica o pozitie din interiorul listei*/
void initializare(void) {
...
l.ultim=-1;
} / * initializare */
void ins(void) {
int i;
if(l.ultim>=lungime_max-1)
printf( "Depasire\n ");
23
3 STRUCTURI DE DATE
else {
for(i=l.ultim;i>=k;i--)
l.elemente[i+1]=l.elemente[i];
printf( "Introduceti val. noului el.(nr.intreg): ");
scanf( "%d ",&l.elemente[k]);
printf( "\n ");
l.ultim++;
}
} /* insp */
si o lista l astfel implementata, cu l.elemente=(3, 2, 5, 7,0), l.ultim=3. Care va imaginea listei
l dupa apelul funct iei ins,
pentru k=2 si citirea de la tastatura a numarului 9 ?
(a) l.element = {3, 9, 2, 5, 7} l.ultim = 4;
(b) l.element = {3, 2, 9, 5, 7} l.ultim = 4;
(c) l.element = {2, 5, 5, 7, 3} l.ultim = 4;
(d) l.element = {3, 2, 5, 7, 9} l.ultim = 4.
6. Se considera descrierile n limbajul C:
#include <stdio.h>
#include <conio.h>
#define lung_max 20
typedef int nod;
typedef struct {
nod elemente[lung_max];
int ultim;
}lista;
lista l;
int i;
/ * i indica o pozitie din interiorul listei*/
void initializare(void) {
l.ultim=-1;
} / * initializare */
Ce nt eleget i prin suprimarea nodului de pe pozit ia i, diferit de ultimul nod, dintr-o lista astfel
implementata?
(a) Se atribuie valoarea 0 elementului de pe pozitia i;
24
3 STRUCTURI DE DATE
(b) Se decrementeaza campul ultim, apoi se deplaseaza toate elementele de dupa pozit ia i spre
sfarsitul tabloului;
(c) Se deplaseaza toate elementele de dupa pozit ia i cu o pozit ie spre nceputul tabloului, apoi
se decrementeaza valoarea campului ultim;
(d) Se deplaseaza toate elementele de dinaintea pozit iei i spre nceputul tabloului, apoi se decre-
menteaza valoarea campului ultim.
7. O lista liniara simplu nlant uita este:
(a) lista liniara, n care relat ia de ordonare este materializata pe suport printr-n pointer catre
elementul urmator;
(b) o structura de date implementata prin tipul tablou;
(c) o structura explicita si recursiva;
8. Se considera descrierile n limbajul C:
struct nod {
int cheie;
char info[10];
struct nod *urm;
};
typedef struct nod Tnod;
typedef Tnod \ast ref;
ref p=NULL,q;
/ * p - pointerul spre primul element al listei */
Se da funct ia:
void func(void) {
q=(ref)malloc(sizeof(Tnod));
printf( "Introdu cheia= ");
scanf( "%d ", &q->cheie);
printf( "Introdu informatia= ");
fflush(stdin);
scanf( "%s ", q->info);
q->urm=p;
p=q;
}
Funct ia de mai sus va realiza:
25
3 STRUCTURI DE DATE
(a) crearea unei liste liniare simplu nlant uita desemnata de p cu inserare in fat a listei;
(b) crearea primului nod al listei;
(c) crearea unei liste cu elementele n ordinea inversa a cheilor date;
(d) inserarea unui nod n fat a listei desemnata de p;
(e) crearea unei liste cu inserare n spatele listei.
9. Se considera descrierile n limbajul C:
struct nod {
int cheie;
char info[10];
struct nod *urm;
};
typedef struct nod Tnod;
typedef Tnod * ref;
ref p,r;
/ * p - pointerul spre inceputul listei */
int k;
Funct ia urmatoare:
void inserare(void) {
ref s;
s = (ref)malloc(sizeof(Tnod));
*s = *r; r->urm = s;
printf( "Introdu cheia= ");
scanf( "%d ",&r->cheie);
printf( "Introdu informatia= ");
fflush(stdin);
scanf( "%s ", r->info);
}
realizeaza inserarea unui nou nod n fat a unui nod de cheie data-k, ntr-o lista liniara simplu
nlant uita, cu structura de mai sus:
(a) chiar daca lista este vida;
(b) cu except ia cazului cand lista este vida;
(c) n fat a nodului de cheie k, de adresa memorata n r, cand exista n lista un nod cu cheia data;
(d) dupa nodul de cheie k, de adresa memorata n r, cand exista n lista un nod cu cheia data;
26
3 STRUCTURI DE DATE
10. Se considera descrierile n limbajul C:
struct nod {
int cheie;
char info[10];
struct nod *urm;
};
typedef struct nod Tnod;
typedef Tnod * ref;
ref p,q;
/ * p - pointerul spre inceputul listei */
int k;
Se da funct ia:
void cautare(void) {
int b = 0;
q=p;
while ((b==0) && ( q != NULL))
if (q->cheie ==k)
b=1;
else
q=q->urm;
}
care realizeaza cautarea unui nod de cheie k intr-o lista liniara simplu nlant uita. Variabila b
trebuie introdusa n aceasta funct ie pentru:
(a) dereferent ierea unui nod de adresa NULL;
(b) a evita dereferent ierea unui nod de adresa NULL;
(c) a parcurge mai usor lista;
(d) a putea stabili daca nodul exista sau nu n lista.
11. Fie p un pointer catre primul nod al unei liste liniare simplu nlant uita de numere ntregi cu
structura:
struct nod {
int info;
struct nod *urm;
};
typedef struct nod Tnod ;
27
3 STRUCTURI DE DATE
typedef Tnod *ref;
ref p,r;
Spre al catelea nod va pointa r n urma execut iei secvent ei urmatoare, presupunand ca lista are
cel putin 7 elemente:
i=1;
r=p;
while(i<=5) {r=r->urm; i++;}
(a) 3;
(b) 4;
(c) 5;
(d) 6;
(e) secvent a este gresita
12. Fie p un pointer catre primul nod al unei liste liniare simplu nlant uita de numere intregi cu
structura:
struct nod {
int info;
struct nod *urm;
};
typedef struct nod Tnod ;
typedef Tnod *ref;
ref p;
/ * p - pointerul spre primul element al listei */
iar lista cont ine n ordine numerele: 3, 4, 5, 6. Ce valoare va returna apelul functie(p) aceasta
avand urmatoarea denitie:
int functie (ref p) {
int s=0;
ref r;
r=p;
while(r->urm) {
if(!(r->info%2))
s+=r->info;
r=r->urm;
} return s;
}
28
3 STRUCTURI DE DATE
(a) 3;
(b) 4;
(c) 8;
(d) 10;
(e) 18.
13. Fie p un pointer catre primul nod al unei liste liniare simplu nlant uita de numere ntregi cu
structura:
struct nod {
int info;
struct nod *urm;
};
typedef struct nod Tnod ;
typedef Tnod *ref;
ref p;
Care din urmatoarele instruct iuni aseaza numarul cont inut n al treilea nod din lista?
(a) printf("%d",p->urm->urm->info);
(b) printf("%d",p->urm->info);
(c) printf("%d",p->urm->info->info);
(d) printf("%d",p->urm->urm->urm);
(e) printf("%d",p->urm->urm->urm->info);
14. Fie p un pointer catre primul nod al unei liste liniare simplu nlant uita de numere ntregi cu
structura:
struct nod {
int info;
struct nod *urm;
};
typedef struct nod Tnod ;
typedef Tnod *ref;
ref p;
Care este act iunea apelului funct iei urmatoare? void
29
3 STRUCTURI DE DATE
func(void) {
ref q;
q=(ref)malloc(sizeof(Tnod));
printf("Introduceti informatia:");
scanf("%d",&(q->info)); q->urm=p;
p=q;
}
(a) creaza un nou nod si l insereaza la sfarsitul listei;
(b) creaza un nou nod si l insereaza la nceputul listei;
(c) modica cont inutul primului nod al listei, adresa ramanand neschimbata;
(d) modica adresa primului nod, cont inutul ramane neschimbats
(e) nici una din act iunile de mai sus.
15. Fie p un pointer catre primul nod al unei liste liniare simplu inlant uita de numere ntregi cu
structura:
struct nod {
int info;
struct nod *urm;
};
typedef struct nod Tnod ;
typedef Tnod *ref;
ref p,r,s;
/ * p indica primul nod al listei, r indica un nod oarecare al listei*/
Care este act iunea apelului funct iei operatie?
void operatie(void)
{
if (r->urm==NULL)
if (p==r) {
p=NULL;
free(r);
} else {
s=p;
while (s->urm!=r) s=s->urm;
s->urm=0;
free(r);
}
30
3 STRUCTURI DE DATE
else {
s=r->urm;
*r=*s;
free(s);
} }
(a) suprimarea nodului de dupa nodul precizat de r;
(b) suprimarea nodului precizat de r;
(c) suprimarea unui nod diferit de ultimul nod al listei.
16. Fie p un pointer catre primul nod al unei liste liniare simplu nlant uita de numere ntregi, q un
pointer catre ultimul nod al aceleeasi liste, lista care are structura:
struct nod {
int info;
struct nod *urm;
};
typedef struct nod Tnod ;
typedef Tnod *ref;
ref p,q;
Care este efectul apelului funct iei urmatoare?
void func(void)
{
ref r;
r=(ref)malloc(sizeof(Tnod));
printf("Introduceti informatia:");
scanf("%d",&(r->info));
r->urm=NULL;
q->urm=r;
q=r;
}
(a) creaza un nou nod si l insereaza la sfarsitul listei desemnata de p, nevida, care are ultimul
nod de adresa q;
(b) creaza un nou nod si l insereaza la nceputul listei;
(c) modica cont inutul ultimului nod al listei, adresa ramanand neschimbata;
(d) modica adresa ultimului nod, cont inutul ramane neschimbat;
(e) nici una din act iunile de mai sus.
31
3 STRUCTURI DE DATE
17. Fie q un pointer catre ultimul nod al unei liste liniare simplu nlant uita de numere ntregi cu
structura:
struct nod {
int info;
struct nod *urm;
}
typedef struct nod Tnod ;
typedef Tnod *ref;
ref q;
Care este act iunea funct iei urmatoare?
void func(void)
{
ref r;
r=(ref)malloc(sizeof(Tnod));
printf("Introduceti informatia:");
scanf("%d",&(r->info)); r->urm=NULL;
q->urm=r;
q=r;
}
(a) creaza un nou nod si l insereaza la sfarsitul listei;
(b) creaza un nou nod si l insereaza la nceputul listei;
(c) modica cont inutul ultimului nod al listei, adresa ramanand neschimbata;
(d) modica adresa ultimului nod, cont inutul ramane neschimbata;
(e) nici una din act iunile de mai sus.
18. Fie p un pointer catre primul nod al unei liste liniare simplu nlant uita de numere ntregi cu
structura:
struct nod {
int info;
struct nod *urm;
};
typedef struct nod Tnod ;
typedef Tnod *ref;
ref p;
32
3 STRUCTURI DE DATE
Care este act iunea funct iei urmatoare?
ref func(int k) {
ref r;
int b=0;
r=p;
while((b==0)&&(r!=NULL)) {
if(r->info==k)
b=1;
else r=r->urm;
}
return r;
}
(a) cauta primul nod al listei si returneaza valoarea sa;
(b) cauta nodul care cont ine valoarea k n campul info si returneaza adresa sa;
(c) cauta nodul urmator nodului ce cont ine valoarea k n campul info;
(d) cauta nodul de pe pozit ia k si returneaza adresa sa;
(e) nici una din act iunile de mai sus.
19. Se considera descrierile n limbajul C:
struct nod {
int cheie;
char info[10];
struct nod *urm;
};
typedef struct nod Tnod;
typedef Tnod * ref;
ref p; / * p - pointerul spre \^{\i}nceputul listei */
Descrierea anterioara se poate utiliza pentru a deni o structura de date de tip
(a) lista liniara dublu nlant uita cu elemente care au cheia de tip ntreg;
(b) lista circulara simplu nlant uita cu elemente care au cheia de tip ntreg;
(c) lista circulara dublu nlant uita cu elemente care au cheia de tip ntreg;
(d) arbore binar cu elemente care au cheia de tip ntreg;
(e) lista liniara simplu nlant uita cu elemente care au cheia de tip ntreg.
33
3 STRUCTURI DE DATE
20. Se considera descrierile n limbajul C:
struct nod {
int info;
struct nod *urm;
};
typedef struct nod Tnod ;
typedef Tnod *ref;
ref p,r,s;
/ * p indica primul nod al listei, r indica predecesorul nodului
care va fi suprimat, s o variabila auxiliara*/
void suprimare(void) {
if (r->urm==NULL)
printf( "Eroare: nodul de suprimat nu exista.\n ");
else {
s=r->urm;
...
} }
Care din secvent ele urmatoare pot completa descrierea corecta a funct iei care va realiza supri-
marea succesorului nodului precizat de r?
(a) r->urm=s; free(s);
(b) r->urm=s->urm; free(s);
(c) r->urm=s->urm; free(r);
21. O lista liniara dublu nlant uita, cu elemente ntregi, este descrisa in C, astfel:
(a) struct nod {
int element;
struct nod *urm, *ant;
};
typedef struct nod Tnod;
typedef Tnod *ref;
ref p;
(b) struct nod {
int element;
struct nod urm, ant;
};
34
3 STRUCTURI DE DATE
typedef struct nod *Tnod;
typedef Tnod ref;
ref p;
(c) typedef struct nod {
int element;
struct nod *urm, *pred;
}Tnod;
typedef Tnod *ref;
ref p;
(d) struct nod {
int element;
struct nod *urm, *pred;
};
typedef struct nod Tnod;
typedef Tnod ref;
ref p;
22. Se considera descrierea n C, a unei structuri de tip lista liniara dublu nlant uita :
struct nod {
int info;
struct nod *ant,*urm;
};
typedef struct nod Tnod;
typedef Tnod *ref;
ref p;
Care din armat iile urmatoare sunt gresite:
(a) info este campul de informat ie utila (un numar ntreg);
(b) existent a celor doi pointeri permite parcurgerea listei n ambele sensuri;
(c) o lista dublu nlant uita permite inserarea unui nou element doar la unul din capetele listei;
(d) toate armat iile de mai sus sunt adevarate.
23. Se considera descrierile n limbajul C:
struct nod {
int element;
struct nod *urm, *ant;
};
typedef struct nod Tnod;
typedef Tnod *ref;
ref p,r;
35
3 STRUCTURI DE DATE
Funct ia urmatoare:
void inserare(void) {
ref pred, s;
pred = r->ant;
s=(ref)malloc(sizeof(Tnod));
printf( "Introdu elementul= ");
scanf( "%d ", &s->element);
s->ant = pred;
s->urm = r;
pred->urm = s;
r->ant = s;
}
realizeaza:
(a) inserarea unui nou nod naintea nodului de adresa r;
(b) inserarea unui nou nod dup a nodul de adresa r;
(c) inserarea unui nou nod naintea nodului de adresa r, cu r->ant!=0;
(d) inserarea unui nou nod naintea nodului *r;
24. Se considera descrierile n limbajul C:
struct nod {
int element;
struct nod *urm, *ant;
};
typedef struct nod Tnod;
typedef Tnod *ref;
ref p,r;
/ * p desemneaza primul nod al listei,
iar r nodul care trebuie sters*/
void sterg\_nod(void) {
ref pred,suc;
pred=r->ant;
suc=r->urm;
\dots
if (r==p) / * daca nodul de suprimat este primul nod */
p=p->urm;
free(r);
}
36
3 STRUCTURI DE DATE
Cu care din secvent ele urmatoare trebuie completata funct ia sterg nod astfel ncat sa realizeze
suprimarea unui nod de adresa r, dintr-o lista liniara dublu nlant uita cu structura nodurilor
denita mai sus:
(a) if (r->urm!=NULL) suc->ant=pred;
if (r->ant!=NULL) pred->urm=suc;
(b) if (r->ant!=NULL) pred->urm=suc;
if (r->urm!=NULL) suc->urm=pred;
(c) if (r->urm!=NULL) pred->urm=suc;
if (r->ant!=NULL) suc->ant=pred;
25. O stiva este:
(a) lista liniara n care inserarile se fac la un capat al listei si suprimarile la celalalt capat al
listei;
(b) o lista liniara de tipul LIFO (Last In First Out);
(c) o lista liniara cu restrict ie la intrare;
(d) o lista liniara n care se manipuleaza mereu elementul cel mai recent introdus.
26. Se considera o stiva implementata prin tipul tablou:
#define lung_max 100
typedef int nod;
typedef struct {
int varf;
nod elemente [lung_max];
} stiva;
stiva s;
Care din urmatoarele funct ii realizeaza initializarea stivei s (initializarea consta n a face stiva
vida), stiva crescand, n ordinea descresterii indexului n tablou.
(a) void initializare (stiva s) {
s->varf = lung_max; }
(b) void initializare(stiva *s) {
s->varf = NULL;
}
(c) void initializare(stiva *s) {
s->varf = lung_max;
}
37
3 STRUCTURI DE DATE
(d) void initializare (stiva s) {
s->varf = NULL;
}
27. Se considera descrierile n limbajul C:
typedef int tipelem;
typedef struct nod {
tipelem elem;
struct nod *urm;
} Tnod;
typedef Tnod *ref;
ref varf; / * virful stivei */
ref r; / * variabila auxiliara */
void adauga(void) {
r=malloc(sizeof(Tnod));
printf( "Introduceti informatia(nr.intreg,max 5 cifre): ");
scanf( "%d ",&r->elem);
...
}
Care din secvent ele urmatoare completeaza corect funct ia adauga astfel ncat ea sa realizeze
adaugarea unui element n stiva s?
(a) r.urm=varf;
varf=r;
(b) r->urm=varf;
varf=r;
(c) r->urm=varf;
28. O structura de date de tip coad a este:
(a) structura de tip lista cu restrict ie la intrare;
(b) o lista liniara de tipul FIFO (First In First Out);
(c) o lista liniara n care toate operat iile se efectueaza doar la unul din capetele listei;
(d) o lista liniara n care inserarile se efecueaza la un capat al listei, iar suprimarile si ori ce alt
acces se efectueaza la celalalt capat al listei.
29. Se considera descrierile n limbajul C:
38
3 STRUCTURI DE DATE
typedef int tipelement;
typedef struct nod {
tipelement element;
struct nod *urm;
}Tnod;
typedef Tnod *ref;
typedef struct {
ref fata,spate;
}Coada;
Coada c;
void initializare(Coada* c) { / * creeaza nodul fictiv*/
c->fata=(ref)malloc(sizeof(Tnod));
c->fata->urm=0;
/ * nodul fictiv este primul si ultimul nod*/
c->spate=c->fata;
} / * initializare */
Pentru init ializarea cozii c, cu structura de mai sus, cu element ctiv cap de lista, se va apela
funct ia init ializare astfel:
(a) initializare(c);
(b) initializare(&c);
(c) initializare(* c).
30. Se considera descrierile n limbajul C:
typedef int tipelement;
typedef struct nod {
tipelement element;
struct nod *urm;
} Tnod;
typedef Tnod *ref;
typedef struct {
ref fata,spate;
} Coada;
Coada c;
void adauga(tipelement x, Coada * c) {
39
3 STRUCTURI DE DATE
c->spate->urm=malloc(sizeof(Tnod));
...
c->spate->element=x;
c->spate->urm=NULL;
} / * adauga */
Cu care din secvent ele urmatoare trebuie completata funct ia adauga pentru a realiza adaugarea
unui element de cheie data x ntr-o coada implementata prin structura de mai sus, cu element
cap de lista.
(a) c->fata= c->spate->urm;
(b) c->spate=c->spate->urm;
(c) c->spate->urm=NULL;
40
4 TEORIA GRAFURILOR SI COMBINATORIC
A
4 Teoria grafurilor si combinatorica
1. Cate noduri ale grafului orientat cu sase noduri numerotate de la 1 la 6 si urmatoarele arce:(1,5),
(1,6), (2,1), (2,3), (3,1), (3,4), (4,3), (4,2), (5,4), (6,5) au gradul interior egal cu gradul exterior?
(a) 4
(b) 6
(c) 5
(d) 3
2. Intr-un graf orientat cu n noduri, gradul exterior al unui varf poate maximum:
(a) n-1
(b) 1
(c) n+1
(d) 2
3.
Intr-un graf orientat G(X, V ) cu 6 noduri numerotate cu numere distincte de la 1 la 6, exista arc
de la nodul i la nodul j daca si numai daca i < j si j i > 1. Numarul de noduri din graf care
au gradul interior mai mare dec at gradul exterior este:
(a) 3
(b) 0
(c) 2
(d) 1
4. Fie graful orientat G cu n = 6 noduri dat prin listele de adiacent a: 1: (2,3,4), 2: (3, 5), 3: (2, 4),
4: (5), 5: (6), 6: (4). Care este lungimea celui mai scurt drum de la nodul 1 la nodul 6?
(a) 2
(b) 3
(c) 1
(d) 4
5. Matricea de adiacent a a unui graf neorientat G are numarul valorilor de 1 egal cu jumatate din
numarul valorilor de 0. Care dintre valorile de mai jos poate numarul de noduri ale grafului G?
(a) 12
(b) 14
(c) 11
(d) 13
41
4 TEORIA GRAFURILOR SI COMBINATORIC
A
6. Care este numarul de circuite distincte ale grafului orientat dat prin matricea de adiacent a de
mai jos? Doua circuite sunt considerate distincte daca difera prin cel put in un arc.
0 0 1 0 0 0
1 0 1 0 1 1
0 0 0 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 1 1 0
(a) 2
(b) 3
(c) 1
(d) 0
7. Un graf orientat este reprezentat prin matricea de adiacent a de mai jos. Care sunt nodurile
pentru care gradul interior este mai mare decat gradul exterior?
0 1 1 0 0 0
0 0 1 1 0 1
1 1 0 1 0 0
0 0 0 0 1 0
0 1 0 0 0 0
0 1 0 0 1 0
(a) 2, 4, 5, 6
(b) 2, 4, 5
(c) 1, 4, 5
(d) 1, 3, 6
8. Cate grafuri orientate, distincte, cu 4 varfuri se pot construi? Doua grafuri se considera distincte
daca matricele lor de adiacent a sunt diferite. Se presupune ca arcele sunt ntre noduri distincte
(nu se admit bucle)
(a) 4
6
(b) 2
6
(c) 6
4
(d) 4
8
9. Intr-un graf orientat cu 7 noduri suma gradelor interioare ale tuturor nodurilor este egala cu 10.
Care este valoarea sumei gradelor exterioare ale tuturor nodurilor?
(a) 5
42
4 TEORIA GRAFURILOR SI COMBINATORIC
A
(b) 20
(c) 10
(d) 17
10. Cate grafuri neorientate, distincte, cu 4 varfuri se pot construi? Doua grafuri se considera dis-
tincte daca matricele lor de adiacent a sunt diferite.
(a) 24
(b) 4
(c) 4
6
(d) 2
6
11. Se considera un graf neorientat cu 50 noduri si 32 muchii. Care este numarul maxim de varfuri
cu gradul 0 pe care le poate avea graful?
(a) 45
(b) 40
(c) 41
(d) 50
12. Se considera graful neorientat cu 7 noduri numerotate de la 1 la 7, si muchiile: [1,3], [2,3], [3,4],
[3,5], [5,4], [1,2], [2,5], [2,4], [6,7], [3,6]. Care dintre urmatoarele succesiuni de noduri reprezinta
un lant care trece o singura data prin toate nodurile grafului?
(a) (1, 2, 3, 4, 5, 6, 7)
(b) (4, 5, 3, 6, 7)
(c) (7, 6, 3, 5, 4, 2, 1)
(d) (1, 3, 5, 4, 2, 3, 6)
13. Un graf neorientat cu 7 noduri, numerotate de la 1 la 7 are muchiile [1,5], [2,3], [2,4], [2,5], [3,4],
[4,5], [4,7], [5,6], [5,7]. Cate cicluri elementare distincte exista n graf? Doua cicluri sunt distincte
daca difera prin cel put in o muchie.
(a) 7
(b) 4
(c) 5
(d) 6
14. Care dintre urmatorii algoritmi permit determinarea unui drum de cost minim ntr-un graf pon-
derat?
(a) Algoritmul Roy-Warshall
43
4 TEORIA GRAFURILOR SI COMBINATORIC
A
(b) Algoritmul lui Prim
(c) Algoritmul Roy-Floyd
(d) Algoritmul lui Kruskal
15. Care dintre urmatorii algoritmi permit determinarea unui arbore de acoperire de cost minim
ntr-un graf ponderat?
(a) Algoritmul Roy-Warshall
(b) Algoritmul lui Prim
(c) Algoritmul Roy-Floyd
(d) Algoritmul lui Kruskal
16. Care dintre urmatoarele armat ii referitoare la grafuri orientate sunt adevarate?
(a) Suma gradelor tuturor nodurilor este egala cu dublul numarului de muchii
(b) Numarul de grafuri orientate cu n noduri este 4
C
2
n
(c) Un nod este izolat daca gradul interior este egal cu 0
(d) Matricea de adiacent a a grafului nu este simetrica
(e) In matricea de adiacent a a grafului suma elementelor de pe linia i este egala cu suma ele-
mentelor de pe coloana i
(f) suma elementelor de pe coloana i din matricea de adiacent a a grafului este egala cu gradul
intern al nodului i
17. Un graf neorientat cu 5 noduri are gradele nodurilor egale cu 1, 2, 2, 1, x. Pentru ce valoare a
lui x graful este arbore?
(a) x = 2
(b) x < 2
(c) x > 2
(d) nicio valoare
18. Se considera un graf neorientat cu 10 noduri si 7 muchii. Care este numarul maxim de componente
conexe din care poate format graful?
(a) 4
(b) 5
(c) 6
(d) 7
19. Care este gradul maxim posibil si care este gradul minim posibil pentru un nod dintr-un graf cu
n noduri, care este arbore?
44
4 TEORIA GRAFURILOR SI COMBINATORIC
A
(a) maxim n, minim 0
(b) maxim n 1, minim 1
(c) maxim n 2, minim 2
(d) maxim n, minim 1
[Raspuns: (b)]
20. Se considera graful neorientat cu mult imea varfurilor {1, 2, 3, 4, 5, 6} si mult imea muchiilor {[1, 2],
[2, 3], [3, 4], [3, 5], [4, 5], [1, 3], [2, 6], [2, 4], [4, 6]}. Care este numarul minim de muchii ce trebuie
eliminate si care sunt aceste muchii astfel ncat graful part ial obt inut sa nu mai e conex?
(a) 1
(b) 3
(c) 2
(d) 4
45
5 LIMBAJE FORMALE SI TEORIA AUTOMATELOR
5 Limbaje formale si teoria automatelor
1. Limbajul generat de gramatica G = (V
N
, V
T
, S, P), unde V
N
= {S}; V
T
= {0, 1, 2}; P = {S
0S0|1S1|2S2|0}, este:
(a) L = {0
n
1
n
2
n
|n 1};
(b) L = {w {0, 1, 2}
;
(d) L = {a
n
b
n
c
n
|n 1};
7. Limbajul generat de gramatica G = (V
N
, V
T
, S, P), unde V
N
= {S, A, B, C, D, E, F}, V
T
=
{a, b, . . . , z}, P = {S iA|aB, A oC, B nD, C n, D a}, este :
(a) L = {ion, ana};
(b) L = {ion, ani, ina, aia, iao};
(c) L = {w {a, b, . . . , z}
};
(c) L = {w {a, b}
|w se termina cu a };
(d) L = {w {a, b}
|w ncepe cu a };
9. Limbajul generat de gramatica G = (V
N
, V
T
, S, P), unde V
N
= {S, X}, V
T
= {a, b, c}, P = {S
aS|bS|cS|abbaX, X aX|bX|cX|}, este:
(a) L = {w {a, b, c}
};
(c) L = {w {a, b, c}
|w se termina cu abba };
(d) L = {wabbax|w, x {a, b, c}
};
(e) L = {w {a, b, c}
|w ncepe cu abba };
10. Regulile gramaticii G = (V
N
, V
T
, S, P), unde V
N
= {S}, V
T
= {PCR, PDAR, UDMR}, P =
{S PCR|PDAR|UDMR}, respecta restrict iile impuse gramaticilor:
(a) regulate (tip 3);
(b) independente de context (tip 2);
(c) dependente de context (tip 1);
(d) de tipul 0, 1, 2, 3;
11. Regulile gramaticii G = (V
N
, V
T
, S, P), unde V
N
= {S, X}, V
T
= {a, b, c}, P = {S aS|bS|cS|abbaX, X
aX|bX|cX|}, respecta restrict iile impuse gramaticilor:
47
5 LIMBAJE FORMALE SI TEORIA AUTOMATELOR
(a) regulate (tip 3);
(b) independente de context (tip 2);
(c) dependente de context (tip 1);
(d) de tipul 0, 1, 2, 3;
12. Regulile gramaticii G = (V
N
, V
T
, S, P), unde P = {S abc|aAbc, Ab bA, Ac Bbcc, bB
Bb, aB aaA|aa}, respecta restrict iile impuse gramaticilor:
(a) regulate (tip 3);
(b) independente de context (tip 2);
(c) dependente de context (tip 1);
(d) de tipul 0;
13. Regulile gramaticii G = (V
N
, V
T
, S, P), unde P = {S aSb|}, respecta restrict iile impuse
gramaticilor:
(a) regulate (tip 3);
(b) independente de context (tip 2);
(c) dependente de context (tip 1);
(d) de tipul 0;
14. Regulile gramaticii G = (V
N
, V
T
, S, P), unde P = {S aS|bS}, respecta restrict iile impuse
gramaticilor:
(a) regulate (tip 3);
(b) independente de context (tip 2);
(c) dependente de context (tip 1);
(d) de tipul 0;
15. Expresia regulata ce noteaza limbajul L = {w| siruri de 0 si 1 terminate cu 1 }, este:
(a) (0|1)
1;
(b) 1|(0|1)
;;
(c) (0
|1
1;
(d) (1|0|1)
1;
16. Expresia regulata ce noteaza limbajul L = {w| siruri de 0 si 1 ce cont in cel putin un simbol 1 },
este:
(a) (0|1)
1;
(b) 1|(0|1)
1(1|0)
;
48
5 LIMBAJE FORMALE SI TEORIA AUTOMATELOR
(c) 0
11
;
(d) (0|1)
1(0|1)
;
17. Expresia regulata ce noteaza limbajul L = {w| siruri de 0 si 1 ce cont in cel putin un simbol },
este:
(a) (0|1)
1;
(b) 1|0|(0|1)
;
(c) (0
|1
|1|0;
(d) (1|0)(0|1)
;
18. Expresia regulata ce noteaza limbajul L = {ana, ani, ina, ini}, este:
(a) ana|ani|ina|ini;
(b) (a|i)n(a|i);
(c) a
ni
;
(d) (a|i)
n(a|i)
;
19. Expresiile regulate noteaza:
(a) limbajele regulate;
(b) limbajele de tipul 0 si 3;
(c) limbajele recunoascute de automate nite deterministe;
(d) numai limbajele nite;
20. Limbajul L notat de expresia regulata (a|i)n(a|i) este:
(a) L = {ana, ani, ina, ini};
(b) L = {w {a, n, i}
este:
(a) L = {0, 1, 00, 01, 10, 11, 000, . . .};
(b) L = {w {0, 1}
;
22. Limbajul L notat de expresia regulata 01
|1; este:
(a) L = {0, 1, 00, 01, 10, 11, 000, . . .};
49
5 LIMBAJE FORMALE SI TEORIA AUTOMATELOR
(b) L = {w {0, 1}
|w ncepe cu 1 };
(c) L = {w {0, 1}
|w ncepe cu 1 };
(d) L = {01
n
|n 1}
{1};
23. Limbajul L notat de expresia regulata (11)
1 este:
(a) L = {1, 11, 111, 1111, . . .};
(b) L = {w {0, 1}
0(0|1) este:
(a) L = {0, 1, 00, 01, 10, 11, . . .};
(b) L = {w {0, 1}
ASPUNSURI
6 Raspunsuri
Algoritmica
1. 1c
2. 2d
3. 3d
4. 4c,4d
5. 5a
6. 6c
7. 7c
8. 8b
9. 9a,9d
10. 10d
11. 11b,11e
12. 12d
13. 13b
14. 14c,14d,14e
15. 15b
16. 16b,16c
17. 17a,17d
18. 18c
19. 19d
20. 20c
21. 21b
22. 22b,22c
23. 23b
24. 24b,24d
25. 25a,25b,25d
26. 26b,26e
27. 27d,27f
28. 28d
29. 29b,29d,29f
30. 30b
51
6 R
ASPUNSURI
Bazele informaticii
1. 1a,1b,1c
2. 2a,2b
3. 3a,3b,3c
4. 4a,4b,4c,4d
5. 5b
6. 6a
7. 7a
8. 8a,8b
9. 9a
10. 10a,10c,10d
11. 11a
12. 12b
13. 13a
14. 14a
15. 15c
16. 16a
17. 17a
18. 18a
19. 19a
20. 20a
21. 21a
22. 22a
23. 23b
24. 24b
25. 25a
26. 26a
27. 27a
28. 28a,28b,28c,28d
29. 29a
30. 30a,30b,30c
52
6 R
ASPUNSURI
Structuri de date
1. 1b,1c,1e
2. 2b
3. 3a,3c,3d,3e
4. 4a
5. 5b
6. 6c
7. 7a,7c
8. 8b,8e
9. 9c
10. 10b
11. 11d
12. 12b
13. 13a
14. 14b
15. 15b
16. 16a
17. 17a
18. 18b
19. 19b,19d
20. 20b
21. 21a,21c
22. 22c,22d
23. 23c
24. 24a
25. 25b,25d
26. 26d
27. 27b
28. 28b,28d
29. 29b
30. 30b
Teoria grafurilor si combinatorica
1. 1a
2. 2a
3. 3a
4. 4b
5. 5a
6. 6d
7. 7a
8. 8a
9. 9c
10. 10d
11. 11c
12. 12c
13. 13b
14. 14a,14c
15. 15b,15d
16. 16a,16b,16f
17. 17a
18. 18c
19. 19b
20. 20c
53
6 R
ASPUNSURI
Limbaje formale si teoria automatelor
1. 1b,1d
2. 2d
3. 3b,3d
4. 4a,4d
5. 5d
6. 6d
7. 7a
8. 8b,8c
9. 9a,9d
10. 10a,10b,10c,10d
11. 11b
12. 12d
13. 13b,13d
14. 14a,14b,14d
15. 15a,15c,15d
16. 16b,16d
17. 17d
18. 18a,18b
19. 19a,19c
20. 20a
21. 21a,21b
22. 22d
23. 23c,23d
24. 24b,24d
54