Cte grafuri neorientate, distincte, cu 4 vrfuri se pot construi? Dou grafuri se consider
distincte dac matricele lor de adiacen sunt diferite.
(4p.)
6
6
a. 24
b. 4
c. 4
d. 2
4.
Prin nlimea unui arbore cu rdcin nelegem numrul de muchii ale celui mai lung lan
format din noduri distincte care are una dintre extremiti n rdcina arborelui. Scriei care
este nlimea i care sunt frunzele arborelui descris prin urmtorul vector de tai:
(6,6,5,0,6,4,4,7).
(6p.)
5.
Scriei un program Pascal care citete de la tastatur dou numere naturale nenule n i m
(2m10, 2n10) i care construiete n memorie i apoi afieaz o matrice A cu n linii
(numerotate de la 1 la n) i m coloane (numerotate de la 1 la m) cu proprietatea c fiecare
element Aij memoreaz cea mai mic dintre valorile indicilor i i j (1in, 1jm).
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a ecranului, elementele
fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 i m=5 se va afia matricea alturat.
1 1 1 1 1
(10p.)
1 2 2 2 2
1 2 3 3 3
1 2 3 4 4
Subiectul II
Cte grafuri neorientate, distincte, cu 8 vrfuri se pot construi? Dou grafuri se consider
distincte dac matricele lor de adiacen sunt diferite.
(4p.)
14
a. 4
14
b. 2
28
c. 4
d. 64
2.
4.
5.
s:=0;
for j:=1 to n div 2 do
begin
.............
end;
writeln(s);
S se scrie un program Pascal care citete de la tastatur un cuvnt format din cel mult 20
de caractere, doar litere mici ale alfabetului englez. Programul determin transformarea
cuvntului citit prin nlocuirea fiecrei vocale a cuvntului, cu un ir format din dou
caractere i anume vocala respectiv urmat de litera mare corespunztoare, restul literelor
nemodificndu-se, ca n exemplu. Programul afieaz pe ecran cuvntul obinut, pe o
singur linie. Se consider vocale literele din mulimea {a,e,i,o,u}.
Exemplu: pentru cuvntul bacalaureat se va afia pe ecran: baAcaAlaAuUreEaAt
(10p.)
Subiectul II
1.
Cte frunze are arborele cu rdcin descris prin urmtorul vector de tai:
(6,5,5,2,0,3,3,3,8,7,7)?
(4p.)
b. 2
c. 5
d. 4
a. 1
2.
4.
5.
Subiectul II
1.
2.
vrf
2
1
4.
5.
i:=1;
while i<=length(s) do
...............
writeln(s);
Subiectul II
ntr-un graf neorientat cu 20 muchii, fiecare nod al grafului are gradul un numr nenul. Doar
patru dintre noduri au gradul un numr par, restul nodurilor avnd gradele numere impare.
Care este numrul maxim de noduri pe care poate s le aib graful?
(4p.)
b. 36
c. 10
d. 16
a. 32
2.
4.
5.
i:=1;
j:=length(s);
while i<j do
begin
.......
end;
Subiectul II
3.
4.
5.
Se consider un text cu maximum 255 de caractere n care cuvintele sunt separate prin
unul sau mai multe spaii. Primul caracter din textul citit este o liter, iar cuvintele sunt
formate numai din litere mici ale alfabetului englez. Scriei un program Pascal care citete
de la tastatur textul i l transform, nlocuind prima liter a fiecrui cuvnt cu litera mare
corespunztoare, restul caracterelor rmnnd nemodificate. Textul astfel transformat va fi
afiat pe ecran.
Exemplu: dac de la tastatur se introduce textul: mare
frig rosu
se va afia pe ecran: Mare
Frig Rosu
(10p.)
Subiectul II
1.
while p^.urm<>nil do
O list liniar simplu nlnuit cu cel puin
begin
dou elemente, alocat dinamic, reine n
if p^.urm^.info < p^.info then
cmpul info al fiecrui element cte un
p^.urm^.info:=p^.info;
numr natural de maximum 4 cifre, iar n
p:=p^.urm
cmpul urm adresa elementului urmtor
end;
din list sau nil dac nu exist un
write(p^.info);
element urmtor.
Dac variabila p reine adresa primului element al listei atunci, n urma executrii secvenei
de program alturate se afieaz ntotdeauna:
(4p.)
a. cea mai mic dintre valorile memorate de
b. cea mai mare dintre valorile memorate de
elementele din list.
elementele din list.
c. valoarea memorat de
penultimul
d. valoarea memorat de primul element din
element din list.
list.
2.
4.
5.
frig
sai
(10p.)
Subiectul II
a. 3
b. 2
c. 1
d. 4
2.
delete(s,3,2);
write(s, ,length(s));
4.
s:=.....;
while ..... do
begin
p:=p^.urm;
s:=s+p^.info
end;
write(s);
5.
Subiectul II
1.
2.
x:=copy(s,5,3);
delete(s,5,3);
s:=s+123+x;
write(s);
Subiectul II
1.
2.
ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul info
o valoare ntreag, iar n cmpul urm adresa elementului urmtor din list sau nil dac
nu exist un element urmtor. Variabila p reine adresa primului element din list.
Lista conine, ncepnd de la primul while (p^.urm<>nil)and(p<>nil)do
element, n aceast ordine, valorile: 2, 3,
begin
4, 5, 6, 7, 8. Ce se va afia n urma
p^.urm:=p^.urm^.urm;
executrii
secvenei
de
instruciuni
p:=p^.urm;
alturate?
(4p.)
write(p^.info, )
end;
b. 2 4 8
a. 2 5 8
d. 4 6 8
c. 2 4 6 8
4.
5.
i:=1;
while i<length(s) do
if s[i]=s[i+1] then
delete(s,i,1)
else
i:=i+1;
write(s);
0 4 16
36 64 100
Subiectul II
a. 4
b. 3
c. 1
0 1
0 0
0 0
0 0
1 1
1 0
d. 5
1
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
0
2.
Cte grafuri neorientate, distincte, cu 5 vrfuri, se pot construi? Dou grafuri se consider
distincte dac matricele lor de adiacen sunt diferite.
(4p.)
4
2
10
10
a. 5
b. 5
c. 2
d. 4
3.
4.
ntr-o list liniar simplu nlnuit, alocat dinamic, cu cel puin 3 noduri, fiecare
reine n cmpul nr un numr real, iar n cmpul urm adresa urmtorului element
sau valoarea NIL n cazul n care este ultimul nod al listei. Dac p reine adresa
element din list, scriei o expresie Pascal a crei valoare este egal cu suma
reale reinute n primele trei noduri ale listei.
5.
Scriei un program Pascal care citete de la tastatur dou valori naturale nenule m i n
(m10, n10) i apoi m*n numere naturale nenule cu cel mult 4 cifre fiecare, reprezentnd
elementele unei matrice cu m linii i n coloane. Programul determin apoi valorile minime de
pe fiecare linie a matricei i afieaz pe ecran cea mai mare valoare dintre aceste minime.
element
din list
primului
valorilor
(6p.)
6 5 4 7
(cea mai mic valoare de pe prima linie a matricei este 3, cea mai mic valoare de pe linia a
doua este 6, cea mai mic valoare de pe linia a treia este 2. Cea mai mare dintre aceste trei
valori este 6).
(10p.)
Subiectul II
a. 1, 3, 4, 5
2.
b. 2, 3, 4, 5
c. 1, 4, 5, 6
0
0
1
0
0
0
1
0
1
0
1
1
d. 2,
1 0 0
1 1 0
0 1 0
0 0 1
0 0 0
0 0 1
3, 5
0
1
0
0
0
0
ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul inf
un numr ntreg, iar n cmpul urm adresa urmtorului nod din list sau NIL n cazul
ultimului nod al listei. Adresa primului element al listei este reinut n variabila prim, iar p
este o variabil de acelai tip cu prim. Dac n list sunt memorate, n aceast ordine,
numerele 1, 2, 3, 4 ca n figura de mai jos, care va fi coninutul listei n urma executrii
secvenei de instruciuni alturate?
(4p.)
p:=prim;
prim:=p^.urm;
p^.urm:=nil;
prim^.urm^.urm^.urm:=p;
a. 1 3 2 4
b. 2 3 4 1
c. 4 1 2 3
d. 1 4 3 2
4.
5.
Scriei un program Pascal care citete de la tastatur un numr natural n (2<n<25) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei
elemente primesc valori dup cum urmeaz: elementul din linia i i coloana j primete ca
valoare ultima cifr a produsului i*j (1in i 1jn).
Programul va afia matricea astfel construit pe ecran, cte o linie a matricei 1 2 3 4
pe o linie a ecranului, elementele fiecrei linii fiind separate prin cte un 2 4 6 8
3 6 9 2
spaiu.
4 8 2 6
Exemplu: pentru n=4 se va afia matricea alturat.
(10p.)
Subiectul II
a. 0 0 5 7 6 5 1
c. 7 4 5 0 4 5 4
b. 1 0 0 7 6 5 0
d. 7 4 5 0 4 5 7
2.
Scriei listele de adiacen prin care este reprezentat un exemplu de graf neorientat conex,
cu 6 noduri, numerotate de la 1 la 6, care este eulerian, dar NU este hamiltonian.
(4p.)
4.
5.
Scriei un program Pascal care citete de la tastatur un numr natural n (2<n<25) i apoi
construiete n memorie o matrice cu n linii i n coloane, numerotate de la 1 la n, ale crei
elemente primesc valori dup cum urmeaz:
- elementele aflate pe diagonala secundar sunt toate nule.
- elementele de pe coloana i (1in), aflate deasupra diagonalei secundare, au valoarea
egal cu i;
- elementele de pe linia n-i+1 (1in), aflate sub diagonala secundar, au valoarea egal
cu i.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 1 2 3 0
pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte 1 2 0 3
1 0 2 2
un spaiu.
0 1 1 1
Exemplu: pentru n=4 se va afia matricea alturat.
(10p.)
s:='abcdefghoid'; i:=1;
write(length(s));
while i<=length(s) do
if pos(s[i],'aeiou')>0 then
delete(s,i,1)
else i:=i+1;
writeln(' ',s);
Subiectul II
2.
ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul inf
un numr ntreg, iar n cmpul ref adresa urmtorului nod din list sau NIL n cazul
ultimului element al listei.
Adresa primului element al listei este reinut n p:=prim; s:=0;
variabila prim, iar variabila p este de acelai tip while p^.ref<>NIL do
begin
cu prim. Dac n list sunt memorate, n aceast
if p^.inf mod 5<>0 then
ordine, numerele 3, 5, 18, 20, ce se va afia pe
s:=s+p^.inf;
ecran n urma executrii secvenei alturate de
p:=p^.ref
program?
(6p.)
end;
writeln(' ',s);
b. 25
c. 5
d. 46
a. 21
3.
4.
Care sunt nodurile de tip frunz ale arborelui cu rdcin, avnd 7 noduri, numerotate de la
1 la 7, i urmtorul vector de tai: (5,1,5,1,0,7,5)?
(6p.)
5.
Scriei un program Pascal care citete de la tastatur un numr natural nenul, cu maximum
8 cifre, construiete n memorie i afieaz apoi pe ecran o matrice ptratic, avnd
numrul de linii i de coloane egal cu numrul de cifre ale numrului dat, completat cu
cifrele numrului citit.
Astfel, elementele de pe prima coloan a matricei vor fi toate egale cu
cifra unitilor numrului dat, elementele de pe a doua coloan a
matricei vor fi toate egale cu cifra zecilor numrului dat, i aa mai
departe, ca n exemplu.
Exemplu: dac se citete numrul 1359, matricea construit va fi cea
alturat.
(10p.)
Subiectul II
ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul ref
adresa urmtorului nod din list sau NIL n cazul ultimului element al listei, iar n cmpul
inf un numr ntreg.
Adresa primului element al listei p:=prim;
este reinut n variabila prim, iar p while (p^.inf mod 2=0) and (p<>NIL) do
p:=p^.ref;
este o variabil de acelai tip cu
if
p<>NIL then writeln(p^.inf)
prim. Ce va afia pe ecran n urma
else
writeln('NU');
executrii secvenei de program
alturate?
(6p.)
a. Toate valorile impare din list dac astfel
b. Toate valorile pare din list dac astfel de
de valori exist i NU n caz contrar.
valori exist i NU n caz contrar.
c. Prima valoare impar din list, dac
aceasta exist i NU n caz contrar.
2.
5.
Scriei un program Pascal care citete de la tastatur un numr natural cu exact 5 cifre i
construiete n memorie o matrice cu 6 linii i 6 coloane, numerotate de la 1 la 6, format
astfel:
- elementele aflate pe diagonala principal sunt toate nule;
- elementele de pe linia 1, aflate deasupra diagonalei principale precum i elementele de pe
coloana 1, aflate sub diagonala principal au toate valoarea egal cu cifra unitilor
numrului citit;
- elementele de pe linia 2, aflate deasupra diagonalei principale precum i elementele de pe
coloana 2, aflate sub diagonala principal au toate valoarea egal cu cifra zecilor numrului
citit, i aa mai departe, ca n exemplu.
0 1 1 1 1 1
Matricea astfel construit va fi afiat pe ecran, cte o linie a
1 0 3 3 3 3
matricei pe cte o linie a ecranului, elementele de pe aceeai
1 3 0 7 7 7
linie fiind separate prin cte un spaiu.
Exemplu: dac se citete numrul 28731 matricea construit va 1 3 7 0 8 8
1 3 7 8 0 2
fi cea scris alturat.
1 3 7 8 2 0
(10p.)
Subiectul II
Dac n este un numr natural impar mai mare dect 2, atunci un graf neorientat cu n
noduri, n care fiecare nod este adiacent cu exact n-1 noduri, este ntotdeauna :
(4p.)
a. arbore
c. graf neconex
2.
b. graf eulerian
d. graf aciclic (graf care nu conine niciun
ciclu)
Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan vrsta n ani mplinii i media la bacalaureat a unui elev?
(4p.)
a. var x:record
media:real;
varsta:byte
end;
c. var x.media:real;
x.varsta:byte;
b. type x=record
media:real;
varsta:byte
end;
d. type elev=record
x.media:real;
x.varsta:byte
end;
ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element conine n cmpul nr un
numr real, iar n cmpul urm adresa elementului urmtor sau nil dac nu exist un
element urmtor. Lista are cel puin dou elemente, iar variabila x memoreaz adresa
primului element din list. Cu ce pot fi completate punctele de suspensie din secvena
urmtoare, astfel nct, n urma executrii, s afieze cuvntul ADEVARAT dac media
aritmetic dintre valorile cmpului nr ale primelor dou elemente din list este mai mic sau
cel puin egal cu 4.75, respectiv cuvntul FALS n caz contrar?
if ..... then write(ADEVARAT)
else write(FALS);
4.
5.
(6p.)
k:=ord(a)-ord(A);
a:=clasa a-XII-a A;
writeln(a);
for i:=1 to length(a)do
if (a[i]>=a) and (a[i]<=z) then
a[i]:=chr(ord(a[i])-k);
write(a);
Subiectul II
1.
2.
Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan codul de identificare al unui candidat la un examen, exprimat printr-un
numr natural de cel mult 4 cifre i media obinut de acesta la examen, exprimat printr-un
numr real?
(4p.)
a. type x=record
b. var x:record
cod:integer;
cod:integer;
media:real
media:real
end;
end;
c. var x.cod:integer;
d. type candidat=record
x.media:real;
x.cod:integer;
x.media:real
end;
5.
Care este gradul maxim posibil i care este gradul minim posibil pentru un nod dintr-un
arbore cu n noduri (n>1)?
(6p.)
Ce se va afia n urma executrii
secvenei de program alturate, tiind c
variabila a memoreaz un ir cu cel mult
100 de caractere, iar variabila i este de
tip ntreg ?
(6p.)
a:=bacalaureat;
writeln(length(a));
for i:=1 to length(a) do
if pos(a[i],aeiou)<>0 then
write(*);
Subiectul II
Fiecare element al unei liste circulare, simplu nlnuit, nevid, alocat dinamic,
memoreaz n cmpul val o valoare ntreag, iar n cmpul adr adresa elementului
urmtor din list. tiind c variabila p reine adresa unui element oarecare din list, iar
variabila q este de acelai tip cu p, precizai care dintre urmtoarele secvene de program
afieaz, n urma executrii, toate valorile memorate de elementele listei?
(4p.)
a. q:=p;
while q<>p do
begin
write(q^.val); q:=q^.adr
end;
b.
q:=p;
while q^.adr<>p do
begin
write(q^.val); q:=q^.adr
end;
q:=p;
repeat
write(q^.val); q:=q^.adr
until q=p;
d.
q:=p^.adr;
while q<>p do
begin
write(q^.val); q:=q^.adr
end;
c.
2.
Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan coordonatele reale (abscisa i ordonata) ale unui punct n planul
xOy?
(4p.)
var
x:record
var
x:string[2];
a.
b.
ox,oy:real
end;
c. type x=record
d. var x:real;
ox,oy:real
end;
4.
5.
Un arbore binar este un arbore cu rdcin n care fiecare nod are cel mult 2 descendeni
direci (fii). nlimea unui arbore este reprezentat de numrul maxim de muchii ale unui
lan elementar ce unete rdcina cu un vrf terminal (frunz).
Pentru un arbore binar cu exact 8 noduri, care este nlimea minim posibil i care poate fi
numrul maxim de noduri terminale (frunze) ale arborelui n acest caz?
(6p.)
n secvena de program alturat, variabila a
memoreaz un ir cu cel mult 100 de caractere, iar
variabila i este de tip ntreg.
Completai punctele de suspensie din secven astfel
nct, n urma executrii secvenei, aceasta s afieze
irul de caractere *nf*rm*t*c*.
(6p.)
a:=informatica;
for i:=1 to length(a) do
if ... then
write(...)
else
write(...);
Subiectul II
Un graf neorientat este complet dac oricare dou noduri distincte ale sale sunt adiacente.
Care este numrul de muchii care trebuie eliminate dintr-un graf neorientat, complet, cu 7
noduri, astfel nct graful parial obinut s fie arbore?
(4p.)
a. 15
b. 1
c. 6
d. 21
2.
Fiecare element al unei liste liniare, simplu nlnuite, alocat dinamic, reine n cmpul nr
un numr ntreg, iar n cmpul adr adresa elementului urmtor din list sau NIL dac nu
exist un element urmtor.. Dac p reine adresa primului element, iar lista are cel puin
dou elemente, care dintre urmtoarele secvene de instruciuni copiaz n cmpul nr al
celui de-al doilea element al listei, coninutul cmpului nr al primului element din list?(4p.)
b. p^.adr:=p^.nr;
a. p^.nr:=p^.adr^.nr;
c. p^.adr^.nr:=p^.nr;
d. p^.adr^.adr^.nr=p^.nr;
4.
5.
write(NU);
(6p.)
Subiectul II
Matricea de adiacen a unui graf neorientat G are numrul valorilor de 1 egal cu jumtate
din numrul valorilor de 0. Care dintre numerele de mai jos poate fi numrul de noduri ale
grafului G?
(4p.)
a. 12
b. 14
c. 11
d. 13
2.
Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan numrtorul i numitorul unei fracii ireductibile:
(4p.)
a. var x:real;
b. var x:string[2];
c. type x=record
d. var x:record
n1,n2:integer
n1,n2:integer
end;
end;
4.
5.
ntr-o list circular, simplu nlnuit, nevid, alocat dinamic, cu exact 9 elemente, fiecare
element memoreaz n cmpul val o valoare ntreag, iar n cmpul adr adresa
elementului urmtor.
tiind c n list sunt memorate, n ordine, q:=p; writeln(q^.adr^.val);
numerele de la 1 la 9, i variabila p reine while q^.adr<>p do
adresa
elementului cu valoarea 4, iar
q:=q^.adr ;
variabila q este de acelai tip cu p, precizai write(q^.adr^.val);
ce se va afia n urma executrii secvenei
de program alturate?
(6p.)
In secvena de program alturat, variabila a
memoreaz un ir cu cel mult 100 de caractere, iar
variabila i este de tip ntreg. Completai punctele de
suspensie, astfel nct, n urma executrii secvenei,
s se afieze doar literele mici i literele mari din irul
de caractere memorat n variabila a. (6p.)
3
9
24
64
7
4
12
36
94
8
5 6
15 7
34 8
78 9
9 10
Subiectul II
p:=1;
for i:=1 to 20 do
....
a. p:=p*a[21-i,i]*a[i,21-i];
b. p:=p*a[i,i]*a[i,20-i];
c. p:=p*a[i,i]*a[21-i,21-i];
d. p:=p*a[21-i,21-i]*a[i,21-i];
2.
ntr-un graf orientat cu 7 noduri suma gradelor interioare ale tuturor nodurilor este egal cu
10. Care este valoarea sumei gradelor exterioare ale tuturor nodurilor?
(4p.)
a. 5
b. 20
c. 10
d. 17
Se consider declarrile de mai jos, n care variabila ev memoreaz date despre un anumit
elev. Scriei instruciunea Pascal prin care se iniializeaz anul naterii acestui elev cu
valoarea 1990.
(6p.)
type data=record
zi:integer;
luna:integer;
an:integer
end;
type elev=record
nume:string[30];
data_nasterii:data;
media:real end;
var ev:elev;
4.
5.
Se consider un text alctuit din cel mult 250 de caractere, n care cuvintele sunt formate doar
din litere mici ale alfabetului englez i sunt separate prin unul sau mai multe caractere *.
Scriei un program Pascal care citete de la tastatur textul i afieaz pe ecran, pe cte
o linie, toate secvenele formate din cte dou litere identice, ca n exemplu.
Exemplu: dac textul citit este:
perechile alturate.
se
afieaz
ii
ii
oo
(10p.)
Subiectul II
a. 5
b. 2
c. 3
d. 4
2.
Ce valoare are expresia de mai jos dac variabila s memoreaz irul de caractere
alfabet?
length(copy(s,3,7))
(4p.)
4.
ntr-un graf neorientat cu 10 noduri, numerotate de la 1 la 10, exist cte o muchie ntre
oricare dou noduri numerotate cu numere consecutive i cte o muchie ntre nodul
numerotat cu 10 i fiecare dintre celelalte noduri. Cte subgrafuri cu exact 3 noduri, toate
adiacente dou cte dou, are graful dat? Scriei pentru fiecare dintre aceste subgrafuri
nodurile din care este format.
(6p.)
5.
Subiectul II
1.
a. s=copy(s,6,5)
b. pos(copy(s,6,5),s)=1
c. s=s+5
d. s+copy(s,6,5)=s
2.
a. (3 , 5)
b. (4 , 1)
c. (5 , 3)
1
0
0
0
0
0
0
0
1
0
d. (3 , 2)
Care sunt nodurile care au exact 2 descendeni pentru un arbore cu rdcin, cu 7 noduri,
numerotate de la 1 la 7, dat de vectorul de tai: (3,3,0,1,2,2,4)?
(4p.)
4.
5.
Subiectul II
ntr-o list simplu nlnuit, alocat dinamic, cu cel puin patru elemente, fiecare element
reine n cmpul urm adresa elementului urmtor din list sau NIL dac nu exist un
element urmtor. Dac variabilele p, q i r memoreaz adresele a trei noduri din list astfel
nct p^.urm =q^.urm^.urm i r^.urm =q atunci ordinea logic a nodurilor n list
(noduri identificate prin adrese) este:
(4p.)
a. r, q, p
b. p, r, q
d. q, r, p
c. p, q, r
2.
Care din urmtoarele proprieti este adevrat pentru un graf orientat cu n vrfuri i n arce
(n>3) care are un circuit de lungime n:
(6p.)
4.
5.
Scriei un program Pascal care citete de la tastatur dou iruri de caractere formate din
maximum 100 litere mici ale alfabetului englez i afieaz pe ecran cel mai lung sufix
comun al celor dou iruri de caractere. Dac cele dou iruri nu au niciun sufix comun,
atunci programul va afia pe ecran mesajul NU EXISTA.
Exemplu: pentru irurile marina i elena se va afia na
(10p.)
Subiectul II
Structura de date la care se aplic principiul primul venit, primul ieit: (first in, first out)
este:
(4p.)
a. lista nlnuit
b. stiva
c. coada
d. graf orientat
2.
a. x=1
b. x<3
c. x>3
d. nicio valoare
Se consider graful orientat din figura alturat. Care este numrul minim
de arce ce trebuie adugate grafului i care sunt aceste arce, astfel nct
oricare dou vrfuri din graf s fie unite prin drumuri elementare?
(6p.)
4.
Scriei o secven de instruciuni Pascal care determin, n urma executrii ei, afiarea pe
ecran a mesajului Corect dac un ir de maximum 100 caractere, memorat de variabila s,
este palindrom sau mesajul Incorect n caz contrar. Un ir de caractere este palindrom
dac citit de la nceput la sfrit este identic cu irul citit de la sfrit la nceput.
Exemplu: irul de caractere cojoc este palindrom
(4p.)
5.
Subiectul II
2.
b.
c.
d.
d.
b.
c.
s:=RATON;
s[2]:=s[4];
write(s);
Subiectul II
a.
2.
a.
b. 2
c. 3
d. 4
Care este numrul nodurilor de tip frunz din arborele cu rdcin, cu 8 noduri, numerotate
de la 1 la 8, reprezentat prin vectorul de tai (2,0,6,2,4,4,5,5)?
(6p.)
3
b. 4
c. 5
d. 2
x
.
y
type fractie=record
x,y:integer
end;
var F,G,H:fractie;
p:=prim;
O list liniar simplu nlnuit, alocat dinamic,
while p^.urm<>nil do
reine n cmpul nr al fiecrui element cte un
begin
numr natural, iar n cmpul urm, adresa
p^.urm^.nr := p^.nr* p^.urm^.nr;
elementului urmtor din list sau nil dac nu
p:=p^.urm
exist un astfel de element. Lista memoreaz, n
end;
acest ordine, doar numerele: 1,2,3,4,5.
tiind c variabila prim memoreaz adresa primului element al listei i c p este o variabil
de acelai tip cu prim, care va fi valoarea reinut n ultimul element al listei dup
executarea secvenei de program de mai sus?
(4p.)
5.
Subiectul II
a. 1
b. 3
c. 2
d. 5
2.
ntr-un arbore cu rdcin nivelul unui nod este egal cu lungimea lanului format din noduri
distincte care unete rdcina cu acel nod. Rdcina se afl pe nivelul 0. Dac toate
frunzele se afl pe nivelul 3 i oricare nod neterminal aflat pe un nivel k are exact k+1
descendeni direci (fii), care este numrul de noduri din acest arbore ?
(4p.)
a. 8
b. 9
c. 10
d. 6
p:=prim;
x:=p^.nr;
while p^.urm<>nil do
begin
p^.nr := p^.urm^.nr;
p:=p^.urm
end;
p^.nr:=x;
5. irul de caractere s2 este clona irului de caractere s1 dac se poate obine din s1 prin
eliminarea tuturor apariiilor unei singure vocale. Se consider vocal orice liter din
mulimea {a,e,i,o,u}.
Scriei programul Pascal care citete de la tastatur un cuvnt format din cel mult 20 litere
mici ale alfabetului englez i afieaz pe ecran (dac exist), toate clonele acestui cuvnt,
fiecare pe cte o linie a ecranului.
nformatca
Exemplu: pentru cuvntul informatica se afieaz, nu neaprat n infrmatica
aceast ordine, clonele scrise alturat.
(10p.) informtic
Subiectul II
Care este numrul maxim de noduri de grad 3 ntr-un graf neorientat cu 5 noduri?
a. 4
2.
b. 5
c. 3
(4p.)
d. 2
ntr-un arbore cu rdcin, nivelul unui nod este egal cu lungimea lanului
format din noduri distincte care unete rdcina cu acel nod. Care dintre
noduri trebuie ales ca rdcin n arborele din figura alturat astfel nct
pe fiecare nivel s se gseasc un numr impar de noduri?
(6p.)
a. 2
b. 3
c. 6
d. 4
4.
5.
s:=arac;
t:=s[2]; s[2]:=s[4];
s[4]:=t;
write(s);
n:=0;
while(p<>q)and(q^.urm<>p)do
begin
p:=p^.urm;
q:=q^.prec;
n:=n+1
end;
(10p.)
Subiectul II
a. 0
b. 1
c. 2
d. 3
Care este valoarea expresiei length(s) pentru variabila s de tip ir de caractere, declarat
var s:string[15]; i iniializat astfel: s:=Proba_E;
(4p.)
b. 15
c. 6
d. 5
a. 7
2.
Care sunt nodurile de tip frunz din arborele alturat dac se alege
ca rdcin nodul 6?
(6p.)
4.
5.
p:=prim;prim:=ultim;
while(p<>prim) do
begin
q:=p;p:=p^.urm;
ultim^.urm:=q;
ultim:=q
end;
ultim^.urm:=nil;
Subiectul II
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)
2.
a.
{1, 2, 5, 6, 10}
b.
{6, 2, 5}
c.
{6}
d.
{5, 2}
Scriei definiia corect a unui tip de date necesar pentru a memora simultan, ntr-o singur
variabil de acest tip, urmtoarele caracteristici ale unui autoturism: marca (cuvnt de
maximum 20 caractere) i anul fabricaiei (numr natural format din exact 4 cifre), astfel
nct expresia Pascal de mai jos s aib ca valoare vechimea mainii ale crei
caracteristici sunt memorate n variabila x.
2008-x.anul_fabricatiei
(6p.)
4.
5.
Se consider o list liniar simplu nlnuit, alocat dinamic, n care fiecare nod memoreaz
n cmpul info un cuvnt fiind format din cel mult 20 de caractere, doar litere mari ale
alfabetului englez, iar n cmpul urm, adresa urmtorului nod al listei sau nil dac nu exist
un element urmtor.
Scriei un program PASCAL care citete de la tastatur un numr natural n (n100) i apoi n
cuvinte distincte, fiecare cuvnt avnd maximum 20 de litere, toate majuscule, i
construiete o list simplu nlnuit, cu acele cuvinte citite, care ncep i se termin cu
aceeai liter. Cuvintele se vor memora n list n ordine invers citirii lor. Programul va afia
pe ecran cuvintele din list, n linie, separate prin cte un spaiu.
for j:=1 to 6 do
for i:=1 to 4 do
a[i,j]:=2*i+j;
Subiectul II
a. 2 i 5
2.
b. 1,3 i 4
c. 6
4:(1,2)
5:(2)
6:(2,4,5)
d. 2 i 3
ntr-o structur de date de tip coad au fost adugate, n aceast ordine, urmtoarele valori:
3, 10, 2, 8 i 6. Care este ultima valoare care s-a extras din coad dac s-au efectuat, n
aceast ordine, urmtoarele operaii: extragerea unui element, adugarea valorii 100,
extragerea a trei elemente.
(6p.)
4.
5.
Subiectul II
1.
2.
(6p.)
4.
5.
O list dublu nlnuit, alocat dinamic, memoreaz n cmpul info al fiecrui nod un
numr real, iar n cmpurile urm i prec adresa nodului urmtor, respectiv precedent din
list sau nil dac nu exist un element urmtor, respectiv precedent. Adresa primului nod
este memorat n variabila prim.
Considerndu-se creat lista dublu nlnuit, scriei declarrile de date necesare definirii
listei precum i secvena de program Pascal care modific lista, insernd n list dup
fiecare nod ce memoreaz n cmpul info o valoare negativ, un nou nod ce va memora
n cmpul info valoarea 0, i afieaz toate informaiile din nodurile listei dup efectuarea
acestei operaii.
(10p.)
Subiectul II
2.
4.
5.
c:='tamara';
for i:=1 to length(c) do
begin
p:=pos('a',c);write(p)
end;
Subiectul II
a.
c.
2.
a.
c.
5.
Subiectul II
a. ENXAME
b. EAENMX
c. NEEXMA
d. NEMAXE
2.
ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul adr
adresa urmtorului element din list sau nil dac nu exist un element urmtor, iar n
cmpul info un numr ntreg. Adresa primului element al listei este memorat n variabila
p. tiind c lista conine exact 4 elemente, atunci expresia p^.adr^.info reprezint:
(4p.)
a. adresa celui de al doilea element
b. adresa celui de al treilea element
c. valoarea memorat n al doilea element
d. valoarea memorat n al treilea element
4.
Cte muchii trebuie eliminate dintr-un graf neorientat complet cu 20 de noduri, pentru ca
graful parial obinut s fie arbore?
(4p.)
5.
Subiectul II
1.
2.
ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare element reine n cmpul adr
adresa urmtorului nod din list sau NIL dac nu exist un nod urmtor, iar n cmpul
info un numr ntreg. Variabilele d i q rein adresele cte unui nod (nodul referit de d
este inclus n list, iar cel referit de q nu aparine listei). S se identifice secvena de
instruciuni care realizeaz inserarea corect, n list, a nodului referit de variabila q, ca
succesor al nodului referit de variabila d.
(4p.)
b. q^.adr:=d^.adr; d^.adr:=q;
a. d^.adr:=q; q^.adr:=d;
d. d:=q; q^.adr:=d^.adr;
c. d^.adr:=q; q^.adr:=d^.adr;
4.
(6p.)
Un ir cu maximum 255 de caractere conine cuvinte separate prin unul sau mai multe spaii.
Cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriei un program Pascal
care citete un astfel de ir i l afieaz modificat, prima i ultima liter a fiecrui cuvnt fiind
afiat ca liter mare.
Exemplu: pentru irul: maine este
proba
la informatica se va afia:
MainE EstE
ProbA
LA InformaticA
(10p.)
Subiectul II
ntr-o list liniar simplu nlnuit, alocat dinamic, fiecare nod reine n cmpul adr
adresa urmtorului nod din list sau nil dac nu exist un nod urmtor, iar n cmpul
info un numr ntreg. Considerm c o astfel de list memoreaz, n ordine, doar valorile
7, 5, 4, 9, 3. Variabila d reine adresa nodului la care este memorat valoarea 4. Care este
secvena de instruciuni care trebuie executat pentru ca lista s conin, n ordine, doar
valorile 7, 5, 9, 3?
(4p.)
a. d^.adr:=d^.adr;
b. d^.adr:=d^.adr^.adr;
d^.info:=d^.adr^.info;
c. d^.info:=d^.adr^.info;
d. d^.adr^.adr:=d^.adr;
d^.adr:=d^.adr^.adr;
d^.adr^.info:=d^.info;
Considerm c variabila s memoreaz irul de s[1]:= E;
caractere examen. Care va fi valoarea lui s dup s[length(s)]:= A;
executarea instruciunilor scrise alturat?
(4p.) s[length(s)div 2]:= N;
s[length(s) div 2+1]:= M;
b. exAMen
c. ExNMeA
d. ExAMeN
a. ExameN
2.
(3p.)
c) Care este numrul minim de muchii care trebuie eliminate astfel nct graful parial obinut
s aib 3 componente conexe?
(6p.)
4.
Subiectul II
1.
1
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
2.
3.
4.
for i:=1 to 3
Considerm declaraiile:
for j:=1 to
var i,j:integer;
a:array[1..10,1..10]of integer; for i:=1 to 3
for j:=1 to
Ce se va afia dup executarea secvenei de
writeln
instruciuni alturate?
(6p.)
end;
5.
Un ir cu maximum 255 de caractere conine cuvinte separate prin cte un spaiu. Cuvintele
sunt formate numai din litere mici ale alfabetului englez. Scriei un program Pascal care
citete de la tastatur un astfel de ir i l afieaz pe ecran modificat, inversnd prin
oglindire doar cuvintele care ncep cu vocal, ca n exemplu. Se consider ca fiind vocale
urmtoarele litere: a, e, i, o, u.
Exemplu: pentru irul: maine este proba la informatica se va afia:
maine etse proba la acitamrofni
do
3 do a[i,j]:=i+j;
do begin
3 do write(a[i,j]);
(10p.)
Subiectul II
2.
4.
for i:=1 to 3 do
Considerm declaraiile:
for j:=1 to 3 do
var i,j:integer;
if i<j then a[i,j]:=i
a:array[1..10,1..10]of integer;
else a[i,j]:=j;
Ce se va afia dup executarea secvenei de
instruciuni alturate?
(6p.) for i:=1 to 3 do begin
for j:=1 to 3 do write(a[i,j]);
writeln
end;
5.
Un ir cu maximum 255 de caractere conine cuvinte formate numai din litere mici ale
alfabetului englez. Fiecare cuvnt este urmat de un caracter *. Scriei un program Pascal
care citete un astfel de ir i afieaz pe ecran irul obinut prin eliminarea tuturor apariiilor
primului cuvnt, ca n exemplu.
Exemplu: pentru irul: bine*albine*foarte*bine* se va afia:
*albine*foarte**
(10p.)
Subiectul II
a. 3
b. 1
c. 2
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
d. 5
2.
Fiecare nod al unei liste simplu nlnuite, alocat dinamic, cu cel puin 4 noduri, reine in
cmpul urm adresa nodului urmtor din list sau nil dac nu are un nod urmtor. tiind c
variabila p reine adresa primului nod din list, variabila q reine adresa celui de-al doilea
nod din list, iar variabila r reine adresa celui de-al treilea nod din list, care este secvena
prin care se interschimb al doilea cu al treilea element din lista iniial?
(4p.)
a. p^.urm:=r; q^.urm:=r^.urm;
b. p^.urm:=r; r^.urm:=q^.urm;
r^.urm:=q;
q^.urm:=r^.urm;
c. r^.urm:=q^.urm;
d. q^.urm:=r^.urm; p^.urm:=r;
q^.urm:=r^.urm; p^.urm:=r;
r^.urm:=q^.urm;
4.
5.
2
3
4
5
3
4
5
6
4
5
6
7
Subiectul II
5
6
7
8
a. 2
2.
b. 1
c. 3
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
d. 0
ntr-o list simplu nlnuit alocat dinamic, cu cel puin dou noduri, fiecare nod reine n
cmpul urm adresa nodului urmtor din list sau nil dac nu are un nod urmtor. tiind c
variabila p reine adresa primului nod din list, iar variabila q este de acelai tip cu p, care
este secvena ce realizeaz eliminarea celui de-al doilea nod din list?
(4p.)
a. q:=p^.urm;
q^.urm:=p^.urm^.urm;
dispose(q);
c. q:=p^.urm;
p^.urm:=p^.urm^.urm;
dispose(q);
b. p^.urm:=p^.urm^.urm;
dispose(p);
d. p:=q^.urm;
q^.urm:=p^.urm^.urm;
dispose(q);
4.
5.
Subiectul II
a. 3
2.
0
1
0
0
1
d. 0
c. 2
1
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
ntr-o list simplu nlnuit, alocat dinamic, cu cel puin dou elemente, fiecare element
reine n cmpul urm adresa elementului urmtor din list sau nil dac nu are un element
urmtor. tiind c variabila p reine adresa primului element, iar q reine adresa ultimului
element din list, care este numrul de elemente din list dac expresia de mai jos are
valoarea TRUE ?
p^.urm^.urm=q
(4p.)
a. 2
b. 3
c. 4
d. 5
4.
5.
Scriei un program Pascal care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii i n coloane astfel nct elementele situate pe
diagonala principal s fie egale cu 2, cele situate deasupra diagonalei principale s fie
egale cu 1 iar cele situate sub diagonala principal s fie egale 3.
2 1 1 1
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a
3 2 1 1
ecranului, cu cte un spaiu ntre elementele fiecrei linii.
3 3 2 1
Exemplu: dac n este 4 atunci programul va construi i va afia
3 3 3 2
matricea alturat:
(10p.)
Subiectul II
a. 0
2.
b. 1
c. 3
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
1
0
d. 2
ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 4 elemente, fiecare nod reine in
cmpul urm adresa nodului urmtor din list sau nil dac nu are un nod urmtor. tiind c
iniial variabila p reine adresa primului nod din list, care dintre secvenele de program
urmtoare determin, n urma executrii, memorarea n variabila p a adresei ultimului nod
din list?
(4p.)
a. while p^.urm<>nil do
p:=p^.urm;
c. p:=p^.urm;
b. while p<>nil do
p:=p^.urm;
d. p:=p^.p^.urm;
5.
Scriei un program Pascal care citete de la tastatur un numr natural n (0<n23) i apoi
construiete n memorie o matrice cu n linii i n coloane, format din numere naturale
nenule mai mici sau egale cu n, astfel nct s nu existe dou linii cu aceeai sum a
elementelor i nici dou coloane cu aceeai sum a elementelor.
Programul va afia matricea pe ecran, cte o linie a matricei pe o linie a ecranului, cu un
spaiu ntre elementele fiecrei linii.
Exemplu: dac n=3 atunci o soluie posibil este urmtoarea matrice:
1 1 1
1 1 2
1 2 3
(10p.)
Subiectul II
a. 1
b. 2
c. 3
0
0
0
0
1
d. 0
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
1
0
1
1
0
2.
ntr-o list simplu nlnuit nevid, alocat dinamic, fiecare element reine in cmpul urm
adresa elementului urmtor din list sau nil dac nu are un nod urmtor. tiind c
variabila p reine adresa primului element din list, variabila q reine adresa ultimului
element din list iar lista este format din exact 3 elemente, care dintre urmtoarele
secvene de instruciuni determin n urma executrii eliminarea celui de-al doilea element
din list?
(4p.)
a. p^.urm:=q; dispose(q);
b. p^.urm:=q; dispose(p^.urm);
d. dispose(p^.urm); p^.urm:=q;
c. p:=q; dispose(p^.urm);
4.
5.
Subiectul II
Care dintre urmtoarele propoziii este fals pentru graful orientat G dat
prin matricea de adiacen alturat?
(4p.)
0
0
0
1
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
0
0
2.
Care sunt nodurile de tip frunz ale arborelui cu rdcin, cu 9 noduri, numerotate de la 1 la 9,
al crui vector de tai este (6, 6, 8, 8,7, 7, 0, 7, 7)?
(6p.)
4.
ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 3 elemente, fiecare element reine
n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list sau
nil dac nu exist un element urmtor. Variabila p reine adresa primului element din list.
Dac se prelucreaz lista de mai jos, care este valoarea memorat de variabila ntreag k,
la finalul executrii urmtoarei secvene de instruciuni?
k:=0;
while (p^.urm^.urm<>nil) and (p^.inf>p^.urm^.inf) do
begin
p:=p^.urm; k:=k+p^.urm^.inf
end;
(6p.)
5.
Se consider un text format doar din spaii i litere mici ale alfabetului englez, care ncepe cu
o liter i care conine cel puin o vocal din multimea {a,e,i,o,u}. Scriei programul
Pascal care citete de la tastatur un ir cu cel mult 100 de caractere, ca cel descris mai
sus i care determin transformarea acestuia prin nlocuirea fiecrei vocale din text cu litera
imediat urmtoare din alfabet, (a se nlocuiete cu b, e se nlocuiete cu f .a.m.d.).
Programul va afia pe ecran irul obinut.
Exemplu: dac irul citit este examen de bacalaureat, dup modificare se afieaz:
fxbmfn df bbcblbvrfbt
(10p.)
Subiectul II
Care dintre urmtorii vectori NU poate reprezenta vectorul de tai al unui arbore cu
rdcin, cu 5 noduri, numerotate de la 1 la 5?
(4p.)
3 1 0 1 2
b. 2 0 1 1 2
c. 3 4 0 2 3
d. 4 1 1 0 2
Variabila s reine irul de caractere bacalaureat. Ce valoare are expresia pos(a,s)?
(4p.)
4
b. 2
c. acalaureat
d. bcluret
ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 2 elemente, fiecare element reine
n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list
sau nil dac nu exist un element urmtor. Variabila p reine adresa primului element din
list. Dac se prelucreaz lista de mai jos, care este valoarea memorat de variabila
ntreag k, la finalul executrii urmtoarei secvene de instruciuni?
k:=0;
while (p^.urm<>nil) and (p^.inf*p^.urm^.inf mod 10<>0) do begin
p := p^.urm; k := k + 1
end;
(6p.)
4.
5.
then writeln(DA)
(6p.)
type rap=record
a, b : integer
end;
var f : rap;
k:integer;
Subiectul II
ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 3 elemente, fiecare element reine
n cmpul inf un numr natural iar n cmpul urm adresa elementului urmtor din list
sau nil dac nu exist un element urmtor. Variabila p reine adresa primului element din
list, iar variabilele q i aux sunt de acelai tip cu p. Dac se prelucreaz lista de mai jos,
care va fi coninutul listei dup executarea urmtoarei secvene de instruciuni?
q:=p;
while (q^.urm^.urm<>nil) and (q^.inf >= p^.inf) do q := q^.urm;
aux:=q^.urm;
q^.urm:=aux^.urm;
dispose(aux);
a. 8 5 8 9 3
b. 7 8 8 9 3
c. 7 8 5 8 9 3
d. 7 8 5 9 3
2.
3.
4.
5.
1
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
type punct=record
x,y :real
end;
var a:punct;
2
10 12 14 16
18 20 22 24
26 28 30 32
Subiectul II
Care dintre urmtoarele propoziii NU este adevrat pentru graful orientat cu 6 vrfuri,
numerotate de la 1 la 6 i ale crui arce sunt: (2,1), (3,6), (4,1), (4,3), (4,5),
(5,2), (6,4)?
(4p.)
a. vrful numerotat cu 6 aparine unui circuit
Fiind dat un tablou bidimensional cu 20 linii i 20 coloane, cte elemente se gsesc strict
deasupra diagonalei secundare a tabloului?
(4p.)
b. 200
c. 190
d. 210
a. 180
2.
4.
type elev=record
matricol:integer;
med1,med2:real
end;
var x:elev;
ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 2 elemente, fiecare element reine n
cmpul inf un numr natural iar n cmpul urm adresa elementului urmtor din list sau
nil dac nu exist un element urmtor. Variabila p reine adresa primului element din list,
iar variabila q este de acelai tip cu p. Dac se prelucreaz lista de mai jos, care va fi
coninutul listei dup executarea urmtoarei secvene de instruciuni?
q:=p;
while (q^.urm<>nil) and (q^.inf<=q^.urm^.inf) do q:=q^.urm;
q^.inf:=q^.urm^.inf+1;
(6p.)
5.
Un cuvnt s, de cel mult 20 caractere, format doar din litere mici ale alfabetului englez,
conine cel puin o consoan i cel puin o vocal. Scriei programul Pascal care citete de
la tastatur cuvntul s, construiete n memorie i afieaz pe ecran cuvntul obinut prin
eliminarea tuturor consoanelor din cuvntul s. Se consider consoan oricare liter care nu
se afl n mulimea {a, e, i, o, u}.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: aaauea (10p.)
Subiectul II
a. 0
2.
0
1
0
0
0
0
3
d.
Care este numrul de circuite distincte ale grafului orientat dat prin
matricea de adiacen alturat? Dou circuite sunt distincte dac
difer prin cel puin un arc.
(4p.)
b. 1
c. 2
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 2 elemente, fiecare element reine
n cmpul inf un numr natural, iar n cmpul urm adresa elementului urmtor din list
sau nil dac nu exist un element urmtor. Variabila p reine adresa primului element din
list. Dac se prelucreaz lista de mai jos, care este valoarea memorat de variabila
ntreag k, la finalul executrii urmtoarei secvene de instruciuni?
15
11
10
p
k:=3;
while (p^.urm<>nil) and (p^.inf > p^.urm^.inf) do p:= p^.urm;
k:= k + p^.urm^.inf;
(4p.)
a. 8
b. 10
c. 12
d. 13
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3.
4.
5.
Scriei programul Pascal care citete de la tastatur un cuvnt s de cel mult 20 litere mici ale
alfabetului englez, construiete n memorie i afieaz pe ecran cuvntul s dup eliminarea
primei i a ultimei vocale. Cuvntul s conine cel puin dou vocale i cel puin o consoan. Se
consider vocale literele: a, e, i, o, u.
Exemplu: dac se citete cuvntul bacalaureat, pe ecran se afieaz: bcalauret
(10p.)
1
16
15
14
13
2
17
24
23
12
3
18
25
22
11
4
19
20
21
10
5
6
7
8
9
Subiectul II
3.
4.
Care este numrul maxim de muchii pe care l poate avea un graf neorientat cu 6 noduri i
3 componente conexe?
(6p.)
5.
Subiectul II
type elev=record
nume:string[10];
prenume:string[20];
nota1,nota2 :real
end;
var x:elev;
b. m:=(nota1+nota2)/2;
d. m:=(x,nota1+x,nota2)/2;
2.
d. 3
3.
4.
Se consider o list liniar simplu nlnuit, alocat dinamic, cu cel puin 5 noduri, n care
fiecare nod al listei conine n cmpul urm adresa nodului urmtor din list sau nil dac nu
exist un nod urmtor. Adresa primului nod este memorat n variabila prim, iar variabila p
este de acelai tip cu prim.
Ce modificare se produce asupra listei prin executarea p:=prim;
secvenei de instruciuni alturate?
(6p.) prim:=p^.urm;
dispose(p);
5.
Scriei un program Pascal care citete de la tastatur un numr natural nenul n (n100),
apoi n iruri de caractere, fiecare ir avnd maximum 30 de caractere, doar litere mici ale
alfabetului englez, i afieaz pe ecran cte dintre cele n iruri de caractere sunt formate
numai din vocale. Se consider vocale literele a, e, i, o, u.
Exemplu: dac n=3, iar irurile citite sunt date alturat, atunci arc
programul va afia pe ecran 1 deoarece irul ae este format ae
creion
numai din vocale.
(10p.)
Subiectul II
1.
2.
4.
1
6
1
7
1
2
7
2
2
2
4
9
4
4
4
2
4
3
5
5
5.
3
8
0
1
3
(6p.)
Se consider o list simplu nlnuit alocat dinamic, n care fiecare nod memoreaz n
cmpul info un numr ntreg, iar n cmpul urm adresa elementului urmtor sau nil dac
nu exist un nod urmtor..
Scriei un program Pascal care citete de la tastatur 3 numere naturale nenule n, a i r
(n20, a10, r10), construiete n memorie o list simplu nlnuit i o afieaz pe
ecran, astfel nct parcurgndu-se lista de la primul nod pn la ultimul nod, se vor afia,
separate prin cte un spaiu, numerele memorate n cmpul info al fiecrui nod,
obinndu-se n ordine strict cresctoare toate elementele mulimii M={a, a+r,
a+2r,...,a+(n-1)r}.
Exemplu: dac n=4, a=10, r=2 atunci se vor afia elementele alturate.
(10p.)
10 12 14 16
Subiectul II
2.
a. 3
b. 2
c. 1
d. 4
3.
n
secvena
alturat,
variabila x
memoreaz un ir de caractere, iar toate
celelalte variabile sunt de tip ntreg.
Ce valori au variabilele k1 i k2 dup
executarea secvenei de instruciuni
alturate?
(6p.)
4.
Se consider lista liniar simplu nlnuit, alocat dinamic, cu 6 noduri, reprezentat mai
jos, n care fiecare nod conine n cmpul info un numr natural, iar n cmpul urm adresa
nodului urmtor din list sau nil dac nu exist un nod urmtor.
5.
p:=prim^.urm;
while p^.urm<>nil do
begin
write(p^.info, );
p:=p^.urm^.urm
end;
Scriei un program Pascal care citete de la tastatur un numr natural par, n (4n10), i
un numr natural x, cu exact 3 cifre, i care construiete n memorie un tablou
bidimensional cu n linii i n coloane, ce are elementele de pe diagonala principal egale cu
prima cifr a numrului x, elementele de pe diagonala secundar egale cu ultima cifr a
numrului x, iar restul elementelor egale cu cifra din mijloc a numrului x, ca n exemplu.
Tabloul bidimensional se va afia pe ecran, cte o linie a tabloului pe cte o linie a
ecranului, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: dac se citesc de la tastatur n=4 i x=123 atunci se 1 2 2 3
afieaz tabloul alturat.
(10p.) 2 1 3 2
2 3 1 2
3 2 2 1
Subiectul II
a. p^.y=p^.y+1;
c. p.x:=7;
b. p:=9;
d. p:=p+1;
2.
Variabila n memoreaz un numr natural nenul. Care este numrul total de grafuri orientate
distincte cu n noduri? Dou grafuri orientate sunt distincte dac matricele lor de adiacen
sunt diferite.
(4p.)
a. 4n*(n-1)/2
b. 3n*(n-1)/2
d. 2n*(n-1)/2
c. 4n*(n-1)
for i:=0 to 8 do
if a[i,9-i]<a[i+1,8-i] then
begin
aux:=a[i,9-i];
a[i,9-i]:=a[i+1,8-i];
a[i+1,8-i]:=aux
end;
write(a[0,9], ,a[9,0]);
4.
Se consider o list liniar simplu nlnuit, alocat dinamic, cu cel puin 5 noduri, n care
fiecare nod al listei conine n cmpul urm adresa nodului urmtor din list sau nil dac nu
exist un nod urmtor.
Dac adresa primului nod este memorat n variabila prim, p:=prim^.urm;
iar variabila p este de acelai tip cu prim, ce prelucrare prim^.urm:=p^.urm;
realizeaz urmtoarea secven de instruciuni?
(6p.) dispose(p);
5.
Subiectul II
4.
Scriei o expresie Pascal care s aib valoarea true dac i numai dac variabila c de tip
char este o liter mic a alfabetului englez.
(6p.)
5.
Subiectul II
Variabila t este utilizat pentru a memora valoarea i numele autorului unei cri. Valoarea
crii este un numr natural de cel mult 3 cifre, iar numele autorului nu poate avea mai mult
de 20 de litere. Care dintre urmtoarele declarri este corect?
(4p.)
type
carte=record
type
carte=record
a.
b.
val:integer;
val,nume:integer
nume:char
end;
end;
var t:carte;
var t:carte;
c. type carte=record
d. type carte=record
val:integer;
val:array[1..20,1..20] of integer;
nume:string[20]
nume:char end;
end;
var t:carte;
var t:carte;
2.
Care dintre urmtoarele afirmaii este adevrat pentru orice graf neorientat G cu 5 noduri
i 6 muchii?
(4p.)
a. G are cel puin un ciclu
b. G este conex
c. G are toate gradele nodurilor numere
d. G nu poate avea noduri cu gradul 0
pare
(3p.)
(3p.)
4.
5.
Subiectul II
2.
(3p.)
b) Care este suma elementelor aflate n stiv dup efectuarea acestor operaii?
(3p.)
4.
5.
Subiectul II
1.
2.
Fie n un numr natural, n>4. Orice graf neorientat cu n noduri i n muchii :
a. are gradele tuturor nodurilor numere pare
b. este conex
c. are cel puin un ciclu
d. este arbore
(4p.)
4.
5.
Subiectul II
1.
Dac G este un graf neorientat cu 8 noduri i 2 componente conexe, atunci graful are cel
mult:
(4p.)
a. 28 de muchii
b. 12 muchii
c. 21 de muchii
d. 16 muchii
2.
Dac T este un arbore cu rdcin, cu 100 de noduri, care este numrul minim de frunze pe
care le poate avea T?
(6p.)
4.
5.
Subiectul II
a. 8
2.
b. 7
c. 5
(Figura 2)
d. 6
s1:=algoritm;
s2:=bioritm;
s3:=ritm;
if length(s1)< length(s2) then
s3:=s3+s1
else s3:=s3+s2;
write(s1, ,s2, s3);
algoritm
bioritm ritmalgoritm
b.
algoritm
bioritmritm ritm
d.
4.
Se consider o stiv, iniial vid, n care s-au introdus n ordine valorile 1, 2, 3 i o coad,
iniial vid, n care au fost introduse, n ordine, valorile 6, 5, 4. Care va fi valoarea
elementului din vrful stivei dac se extrag toate elementele din coad i se adaug, n
ordinea extragerii, n stiva dat?
(6p.)
5.
Subiectul II
a. Graful parial al lui G obinut prin eliminarea muchiilor: [5,6], [2,5], [2,3], [2,10],
[10,8], [1,3], este un arbore.
b. Graful conine un singur ciclu.
c. Cel mai lung lan elementar are lungimea 8.
d. Numrul nodurilor de grad par este egal cu numrul nodurilor de grad impar.
2.
a. complex.re
b. x.re
c. complex.x
d. re.x
1:
2:
3:
4:
5:
6:
2 6
3
3
4 6
3
4.
Se consider o stiv S1, iniial vid, n care s-au introdus, n aceast ordine, valorile 10,
12, 3 i o alt stiv, S2, iniial vid, n care au fost introduse, n aceast ordine, valorile 6,
5, 4, 3. Care va fi valoarea elementului din vrful stivei S1 i care va fi valoarea elementului
din vrful stivei S2 dac se extrag jumtate dintre elementele din stiva S2 i se adaug, n
ordinea extragerii, n stiva S1?
(6p.)
5.
Scriei un program Pascal care citete de la tastatur un text de cel mult 255 de
caractere, dintre care cel puin unul este o liter mic a alfabetului englez, i afieaz pe
ecran, pe o singur linie, desprite prin cte un spaiu, toate literele mici ale alfabetului
englez care apar n text. Fiecare liter va fi afiat o singur dat, n ordinea primei ei
apariii n text.
Exemplu: pentru textul:
Pe ecran se va afia:
Calculati valoarea expresiei
a l c u t i v o r e x p s
(10p.)
Subiectul II
b. exact 2 elemente
d. exact 1 element
4.
macara mama
5.
Scriei un program n limbajul Pascal care citete de la tastatur dou valori naturale n i
m,(1n24, 1m24) i construiete n memorie un tablou bidimensional cu n linii i m
coloane format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va
afia pe ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un
spaiu.
Exemplu: pentru n=5 i m=4, se va afia:
1
2
6
7
11 16
12 17
13 18
4 9 14 19
5 10 15 20
(10p.)
Subiectul II
1.
2.
ntr-o list simplu nlnuit, alocat dinamic, cu cel puin 1000 de elemente identificate prin
adrese, fiecare element reine n cmpul adr adresa elementului urmtor din list sau nil
dac nu exist un nod urmtor. Dac q este adresa unui element din list i p o variabil de
acelai tip cu q, ce reine adresa unui alt element care nu face parte din list, atunci
inserarea elementului de la adresa p, n list, imediat dup elementul de la adresa q se
realizeaz cu ajutorul secvenei de instruciuni:
(4p.)
p^.adr:=
q^.adr;
q^.adr:=p;
p:=q;
q^.adr:=
p^.adr;
a.
b.
c. q^.adr:=p; p^.adr:=q;
d. q:=p^.adr; p^.adr:= q^.adr;
2
1
1
2
3
3
3 4
2 4 5
3 5
4
3.
4.
5.
Scriei un program Pascal care citete de la tastatur un text format din cel mult 200 de
litere ale alfabetului englez, n care cuvintele sunt separate printr-un singur spaiu i
afieaz pe ecran numrul de cuvinte din textul citit, care au prima respectiv ultima liter
vocal. n cazul n care n text nu exist un astfel de cuvnt, se va afia pe ecran mesajul
NU EXISTA. Se consider vocal orice liter din mulimea {a,A,e,E,i,I,o,O,u,U}.
Exemplu: dac textul introdus este:
Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani
pe ecran se va afia :
4
(10p.)
Subiectul II
1.
2.
r^.info:=0;
q:= p^.dr^.dr^.dr;
q^.st:=r;
r^.dr:=q;
r^.st:= p^.dr^.dr;
p^.dr^.dr^.dr:=r;
d. 0
4.
5.
Scriei un program n limbajul Pascal care citete de la tastatur dou valori naturale n i m
(1n24, 1m24) i construiete n memorie un tablou bidimensional cu n linii i m coloane
format din toate numerele naturale de la 1 la n*m, ca n exemplu. Programul va afia pe
ecran, pe n linii, tabloul obinut, elementele fiecrei linii fiind separate prin cte un spaiu.
Exemplu: pentru n=4 i m=5 se va afia:
1
10
2
9
3
8
(6p.)
4
7
5
6
11 12 13 14 15
20 19 18 17 16
(10p.)
Subiectul II
1.
Se consider graful neorientat definit prin mulimea nodurilor {1,2,3,4,5,6} i muchiile [1,2],
[1,3], [2,3], [6,5], [3,4], [4,5], [4,6]. Care este numrul maxim de muchii care pot fi
eliminate din graf pentru a se obine un graf parial al su care s fie conex?
(4p.)
a. 1
b. 2
c. 0
d. 3
2.
4.
5.
Scriei programul Pascal care citete de la tastatur un cuvnt format din cel mult 50 de
caractere, doar litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate prefixele acestuia, n ordine cresctoare a lungimilor. Un prefix de lungime k al unui
cuvnt este un subir format din primele k caractere ale acestuia.
(10p.)
p:=primul;
while p^.urm<>nil do
p:=p^.urm;
write(p^.info);
Subiectul II
1.
Se consider graful orientat definit prin mulimea vrfurilor {1,2,3,4,5,6} i arcele (1,2), (1,6),
(1,5), (2,3), (3,6), (4,1), (6,4).
Care este vrful accesibil din toate celelalte vrfuri ale grafului prin intermediul unor drumuri
elementare?
(4p.)
a. 4
b. 1
c. 5
d. 6
2.
4.
5.
Scriei programul Pascal care citete de la tastatur un cuvnt format din cel mult 50
caractere, doar litere mari ale alfabetului englez, i afieaz pe ecran, fiecare pe cte o linie,
toate sufixele acestuia, n ordine cresctoare a lungimilor. Un sufix de lungime k al unui
cuvnt este un subir format din ultimele k caractere ale acestuia.
(10p.)
x^.data:=2;
z:=x;
y^.data:=5;
y:=z;
write(x^.data,y^.data,z^.data);
Subiectul II
1.
2.
Se consider graful orientat cu vrfurile numerotate cu numere distincte 1,2,3, ... . Graful
este reprezentat printr-o matrice de adiacen A. Precizai care este semnificaia sumei
valorilor de pe o linie oarecare x a matricei A.
(4p.)
4.
Fie o list liniar simplu nlnuit, alocat dinamic, ale crei noduri rein in cmpul next
adresa nodului urmtor sau nil dac nu exist un element urmtor n list. Lista are cel
puin dou elemente. Variabila x reine adresa primului nod din list, variabila y reine adresa
celui de al doilea nod din list, iar variabila z, de acelai tip cu x i y, reine adresa unui nod
ce nu aparine listei. Scriei o secven de instruciuni n limbajul Pascal prin executarea creia
se insereaz n list nodul referit de z ntre cele dou noduri referite de x i y.
(6p.)
5.
Subiectul II
1.
2.
0
1
0
1
0
a. 0
b. 3
c. 2
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
1
0
1
0
d. 1
4.
Se consider o list liniar simplu nlnuit, alocat dinamic, ale crei noduri rein n cmpul
next adresa nodului urmtor sau nil dac nu exist un element urmtor n list. Lista are
cel puin un element. tiind c variabila u reine adresa ultimului nod din list, scriei o
secven de instruciuni n limbajul Pascal prin care se insereaz n list dup ultimul nod,
cu adresa reinut de u, un nou nod a crui adres este reinut de variabila v, de acelai tip
cu u?
(6p.)
5.
Subiectul II
1.
2.
a. 5
b. 3
c. 4
0
0
1
0
0
1
0
1
1
1
1
1
0
1
0
0
1
0
0
1
1
0
0
1
0
d. 2
4.
Se consider o list liniar simplu nlnuit, alocat dinamic, ale crei noduri rein n cmpul
next adresa nodului urmtor sau nil dac nu exist un element urmtor. Lista are cel puin
dou elemente. tiind c variabila p1 reine adresa primului nod din list iar variabila u1
adresa ultimului nod, scriei o secven de instruciuni n limbajul Pascal, prin executarea
creia lista liniar se transform ntr-o list circular?
(6p.)
5.
Subiectul II
a. 4
2.
b. 6
c. 5
d. 3
ntr-o list liniar simplu nlnuit, alocat dinamic, cu cel puin 3 noduri, fiecare nod reine
n cmpul urm, adresa urmtorului nod din list sau nil dac nu exist un nod urmtor.
Dac n variabila p se reine adresa primului nod din list i q este o variabil de acelai tip
cu p, atunci care dintre secvenele de mai jos elimin din list al doilea nod ?
(4p.)
a. q:=p^.urm;
p^.urm:=q^.urm;
dispose(q);
b. q:=p^.urm;
dispose(q);
p^.urm:=q^.urm;
c. dispose(p^.urm);
p^.urm:=p^.urm^.urm;
d. q:=p^.urm^.urm;
p^.urm:=q^.urm;
dispose(q);
4.
5.
Scriei programul Pascal care citete de la tastatur, separate prin Enter, dou iruri de
caractere: un ir s de maximum 255 de caractere, care pot fi litere ale alfabetului englez i
spaii, apoi un ir c de maximum 20 de caractere. Programul va nlocui n irul s toate
apariiile irului c cu un ir de exact aceeai lungime efectiv cu c, format doar din caractere
*, ca n exemplu. irul s obinut n urma acestei prelucrri va fi afiat pe ecran. n cazul n
care c nu apare n s, programul va afia mesajul NU APARE.
Exemplu: dac irul S citit este Din departare se vede tare iar c este tare
atunci pe ecran se va afia: Din depar**** se vede ****
(10p.)
type elev=record
nume: string[20];
nota: real
end;
var e1, e2: elev;
Subiectul II
2.
d. vent
4.
5.
........
........
while u <> nil do
begin
write(u^.info, ' ');
u := u^.urm
end;
1
2
4
7
n(n + 1)
.
2
3
5
8
4
6
9
5
2
10
6
3
1
Subiectul II
2.
a. longint
b. integer
type B=record
x: real;
y:longint
end;
c. char
type C=record
x:A;
y:B
end;
var x, y: C;
d. real
4.
5.
(10p.)
Subiectul II
ntr-o list liniar simplu nlnuit, alocat dinamic, cu cel puin 3 elemente, fiecare
element reine n cmpul urm adresa urmtorului element din list sau nil dac nu exist
un element urmtor, iar n cmpul info informaia util de tip ntreg. Dac variabila p reine
adresa primului element din list atunci care dintre secvenele de mai jos atribuie cmpului
info al celui de al treilea element informaia util din primul element al listei ?
(4p.)
a. p^.urm^.urm^.info:=p^.info;
b. p^.urm^.urm^.info:=p^.urm^.info;
c. p^.info^.info^.info:=p^.info;
d. p^.urm^.urm := p^.info;
Ce se va afia n urma executrii secvenei de if x > y then write( x )
program alturate dac variabila x memoreaz else
if x < y then write( y )
cuvntul bacalaureat, iar variabila y
else write(imposibil);
memoreaz cuvntul banal?
(4p.)
b. bacalaureat
a. imposibil
d. bacalaureatimposibil
c. banal
2.
4.
(3p.)
(3p.)
5.
Se consider irul lui Fibonacci, definit astfel: f0 = 0, f1 = 1, fn = fn-1 + fn-2, dac n>1.
Scriei un program Pascal care citete de la tastatur o valoare natural n (2n24),
construiete n memorie i afieaz pe ecran o matrice a cu n linii i n coloane ale crei
elemente sunt numere naturale, fiecare reprezentnd ultima cifr a cte unui termen al
irului lui Fibonacci, ncepnd de la termenul de indice 1 i pn la termenul de indice n2, n
ordine, linie cu linie de sus n jos, i n cadrul fiecrei linii de la stnga la dreapta, ca n
exemplu.
Matricea se va afia pe ecran, cte o linie a matricei pe cte o linie a 1 1 2 3
ecranului, elementele de pe aceeai linie fiind separate ntre ele prin 5 8 3 1
4 5 9 4
cte un spaiu.
Exemplu: pentru n = 4 se va obine matricea alturat.
(10p.) 3 7 0 7
Subiectul II
3.
4.
5.
Subiectul II
1.
2.
a. 2 3 4 5 6 1
b. 6 5 4 3 2 1
c. 2 1 4 3 6 5
d. 1 2 3 4 5 6
4.
5.
Subiectul II
2.
a. 1 3 2 4 5 6
b. 6 5 4 3 2 1
c. 1 2 4 3 5 6
p:=prim^.urm;
q:=p^.urm;
p^.urm:=q^.urm;
prim^.urm:=q;
q^.urm:=p;
d. 2 1 3 4 5 6
4.
Care este numrul minim de noduri cu gradul 1 pentru un graf neorientat conex cu 21 noduri
i 20 muchii?
(6p.)
5.
Scriei programul Pascal care citete de la tastatur un text de cel mult 50 de caractere,
(litere mici ale alfabetului englez i spaii), text format din mai multe cuvinte, separate prin
cte un spaiu, i afieaz pe ecran textul obinut din cel iniial prin transformarea primei
litere i a ultimei litere ale fiecrui cuvnt n majuscul, restul caracterelor rmnnd
nemodificate.
Exemplu: dac se citete textul azi este examen de bacalaureat, se va afia AzI
EstE ExameN DE BacalaureaT.
(10p.)
Subiectul II
1.
2.
ntr-o list simplu nlnuit, alocat dinamic, fiecare element reine n cmpul urm adresa
elementului urmtor din list, sau nil dac nu exist un element urmtor. Adresa primului
element al listei este memorat n variabila prim, iar variabilele p i q sunt de acelai tip cu
prim. Care va fi coninutul listei de mai jos dup executarea secvenei alturate?
p:=prim;
while p^.urm^.urm^.urm<>nil do
p:=p^.urm;
q:=p^.urm;
(4p.) p^.urm:=p^.urm^.urm;
dispose(q);
a. 1 2 3 4 5
b. 1 2 3 4 6
c. 1 3 4 5 6
d. 2 3 4 5 6
4.
Care este numrul minim de muchii ale unui graf neorientat conex, cu 100 de noduri? (6p.)
5.
Scriei programul Pascal care citete de la tastatur un text cu cel mult 100 de caractere
(doar litere mici ale alfabetului englez i spaii) i un cuvnt cu cel mult 15 caractere, doar
litere mici ale alfabetului englez, i care afieaz pe ecran irul obinut prin inserarea n
textul iniial a caracterului ? dup fiecare apariie a cuvntului citit. Dac n text nu apare
cuvntul citit, se va afia mesajul NU APARE.
Exemplu: dac se citete de la tastatur textul
examenului examenul de bacalaureat si examenul de atestat
i cuvntul examenul se va afia:
examenului examenul? de bacalaureat si examenul? de atestat
(10p.)
Subiectul II
1.
2.
p:=prim;
k:=0;
while (p^.urm<>nil) and (k>=0) do
begin
if p^.nr mod 2=0 then
k:=k+1
else
k:=k-1;
p:=p^.urm;
end;
write(p^.nr);
c. 3
d. 8
4.
5.
Scriei programul Pascal care citete de la tastatur un text cu cel mult 100 de caractere
(doar litere ale alfabetului englez i spaii), construiete n memorie i apoi afieaz pe
ecran irul de caractere obinut din irul iniial, n care se insereaz dup fiecare vocal
caracterul *. Se consider vocale literele a, e, i, o, u, A, E, I, O, U. Dac textul citit nu
conine vocale, se va afia mesajul FARA VOCALE.
Exemplu: dac se citete de la tastatur textul Examenul de bacalaureat se va obine
i afia: E*xa*me*nu*l de* ba*ca*la*u*re*a*t.
(10p.)
Subiectul II
a. 16
2.
b. 15
c. 64
a. 18
b. 20
c. 12
for i:=1 to 8 do
begin
k:=i;
for j:=1 to 8 do
begin
a[i,j]:=k; k:=k+1;
end;
end;
d. 10
p:=prim;
s:=0;
while p^.urm <> nil do
begin
if p^.nr mod 2 = 0 then
s:=s+p^.nr;
p:=p^.urm^.urm
end;
write(s);
d. 14
Un graf orientat are 8 arce i fiecare nod al grafului are gradul exterior un numr nenul. Doar
dou dintre noduri au gradul exterior un numr impar, restul avnd gradele exterioare
numere pare. Care este numrul maxim de noduri pe care le poate avea graful?
(6p.)
4.
5.
1:
2:
3:
4:
5:
6:
2,5,6
1,3,4
2,4,6
2,3,5
1,4,6
1,3,5
Scriei programul Pascal care citete de la tastatur un cuvnt cu cel puin una i cel mult
20 de litere ale alfabetului englez, construiete i afieaz pe ecran cuvntul obinut prin
interschimbarea primei consoane cu ultima vocal din cuvnt. n cazul n care cuvntul este
format numai din vocale sau numai din consoane, programul afieaz pe ecran mesajul
IMPOSIBIL. Se consider vocale literele a, e, i, o, u, A, E, I, O, U.
Exemplu: dac se citete cuvntul Marmorat se va obine i afia cuvntul aarmorMt
(10p.)
Subiectul II
4.
O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte un numr natural nenul cu cel mult 4 cifre, iar n cmpul adr adresa elementului
urmtor din list sau nil dac nu exist un element urmtor. Se consider c adresa
primului element al listei este reinut de variabila prim, i c variabila p este de acelai tip
cu variabila prim. S se nlocuiasc punctele de suspensie din secvena de program
urmtoare cu instruciunile corespunztoare, astfel nct, n urma executrii, aceasta s
determine afiarea tuturor numerelor memorate n list, care sunt divizibile cu 7.
p:=prim;
while p<>nil do
begin......end;
(6p.)
5.
Scriei un program PASCAL care citete de la tastatur trei valori naturale nenule k, n, m
(n10, m10, k32000) i apoi n*m numere ntregi, fiecare avnd cel mult 4 cifre,
reprezentnd elementele unui tablou bidimensional cu liniile numerotate de la 1 la n i
coloanele numerotate de la 1 la m.
Programul determin i afieaz pe ecran suma numerelor de 2 4 5 -8
ordine ale coloanelor care conin cel puin o dat valoarea k. Dac 1 3 7
9
nu exist nicio coloan care s conin cel puin o dat valoarea k, 4 -2 3 10
programul va afia pe ecran mesajul NU EXISTA.
5 4 2 37
Exemplu:pentru k=3,n=5,m=4 i matricea alturat se va afia 5, 6 7 3 13
deoarece coloanele 2 i 3 conin numrul k=3.
(10p.)
Subiectul II
1.
2.
4.
O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte un numr natural nenul cu cel mult 4 cifre, iar n cmpul adr adresa elementului
urmtor din list sau nil dac nu exist un element urmtor. Considernd c adresa
primului element al listei este reinut de variabila prim, i c variabila p este de acelai tip
cu variabila prim, s se nlocuiasc punctele de suspensie din secvena de program
urmtoare cu instruciunile corespunztoare, astfel nct, executarea secvenei s determine
afiarea pe ecran a tuturor numerelor, memorate n list, care au cifra unitilor egal cu 0.
p:=prim;
while p<>nil do
begin......end;
(6p.)
5.
Scriei un program PASCAL care citete de la tastatur trei valori naturale nenule k, n, m
(n10, m10, k32000) i apoi n*m numere ntregi, fiecare avnd cel mult 4 cifre,
reprezentnd elementele unui tablou bidimensional cu liniile numerotate de la 1 la n i
coloanele numerotate de la 1 la m.
Programul determin i afieaz pe ecran produsul numerelor de 2
4
5 -8
ordine ale coloanelor care conin cel puin o dat valoarea k. 5
3
7
9
Dac nu exist nicio coloan care s conin cel puin o dat 6 -2
3 10
valoarea k, programul va afia pe ecran mesajul NU EXISTA.
7
4
2
37
8
7
3
13
Exemplu:pentru k=3,n=5,m=4 i matricea alturat se va afia
6, deoarece coloanele 2 i 3 conin numrul k=3.
(10p.)
Subiectul II
1.
2.
Scriei matricea de adiacen a unui graf neorientat cu 6 noduri n care toate nodurile au
gradul 2 i care are dou componente conexe.
(6p.)
4.
5.
O list liniar dublu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte o liter din alfabetul englez. Considernd c lista este creat i conine un numr par
de elemente i c adresa primului element este reinut n variabila prim, iar adresa
ultimului element este reinut n variabila ultim s se scrie declarrile de tipuri i date
necesare i secvena de program PASCAL care inverseaz ordinea valorilor reinute n list.
Exemplu: dac lista conine iniial valorile
prim
i
ultim
o
ultim
i
(10p.)
Subiectul II
1.
2.
a. {8, 6, 1, 5}
b. {1, 6}
c. {8}
d. {1, 6, 8}
19
22
123
(10p.)
Subiectul II
1.
2.
a. 4
b. 3
c. 2
d. 5
Variabila s reine un ir de caractere format din cel puin 2 i cel mult 30 de litere mici ale
alfabetului englez. Scriei secvena de program PASCAL care afieaz pe ecran primul i
ultimul caracter al irului s.
(6p.)
4.
5.
O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte un numr natural din intervalul [1,10000], iar n cmpul adr, adresa elementului
urmtor din list sau NIL dac nu exist un element urmtor. Considernd c lista este
creat i c adresa primului element este reinut n variabila prim, s se scrie declarrile
de tipuri i date necesare i secvena de program PASCAL care afieaz pe ecran numerele
memorate n list, care sunt ptrate perfecte.
Exemplu: pentru lista
prim
34
25
20
16
(10p.)
Subiectul II
a.
c.
2.
a.
4.
5.
Scriei un program Pascal care citete de la tastatur un numr natural n (1n10) apoi
construiete n memorie o matrice cu 2*n linii i 2*n coloane, numerotate de la 1 la 2*n,
astfel nct parcurgnd doar liniile impare ale matricei de sus n jos i fiecare linie impar de
la stnga la dreapta se obin n ordine strict cresctoare toate numerele impare cuprinse n
intervalul [1,4*n2], iar parcurgnd doar liniile pare ale matricei de sus n jos i fiecare linie
par de la dreapta la stnga se obin n ordine strict cresctoare toate numerele pare
cuprinse n intervalul [1,4*n2], ca n exemplu.
1 3 5 7
Programul afieaz pe ecran matricea obinut, cte o linie a matricei
8 6 4 2
pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin
9 11 13 15
cte un spaiu.
16
14 12 10
Exemplu: pentru n=2 se obine matricea alturat.
(10p.)
q:=p;
a:=p^.urm^.nr;
while q^.urm^.urm<>nil do
begin
q:=q^.urm;
q^.urm^.nr:=q^.nr+q^.urm^.nr
end;
b:=q^.nr;
Subiectul II
1.
Ce valoare are variabila s de tip ir de caractere dup executarea instruciunii de mai jos?
s:=copy('Informatica',length('BAC'),5);
(4p.)
forma
InfoBAC
Infor
a. form
b.
c.
d.
2.
0
1
0
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
4.
Fiecare element al unei liste simplu nlnuite, alocat dinamic, reine n cmpul nr un
numr ntreg, iar n cmpul urm adresa urmtorului element din list sau nil dac nu exist
un element urmtor.
Ce valori au variabilele ntregi a i b dup executarea q:=p;
secvenei alturate, dac variabila p reine adresa a:=p^.urm^.nr;
while q^.nr>=0 do
primului element al listei de mai jos, iar variabila q begin
este de acelai tip cu p?
q^.urm^.nr:=q^.nr-p^.nr;
q:=q^.urm;
end;
(6p.) b:=q^.nr;
5.
Subiectul II
1.
2.
Ce valoare are variabila s de tip ir de caractere dup executarea instruciunii de mai jos?
s:=copy('Bacalaureat',5,length('BAC2009'));
(4p.)
a. BAC2009
b.
laureat
c.
BacalBAC2009
aur2009
d.
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
3.
4.
Fiecare element al unei liste simplu nlnuite, alocat dinamic, reine n cmpul nr un
numr ntreg, iar n cmpul urm adresa urmtorului element din list sau nil dac nu
exist un element urmtor.
Ce valori au variabilele ntregi a i b dup executarea q:=p;
secvenei alturate, dac variabila p reine adresa a:=p^.urm^.nr;
while q^.urm<>nil do
primului element al listei de mai jos, iar variabila q begin
este de acelai tip cu p?
q^.urm^.nr:=q^.nr*p^.nr;
q:=q^.urm
end;
(6p.) b:=q^.nr;
5.
-1
2 -4
0 6
2 4
3 -5
3 1
2 0
1 -3
Subiectul II
a.
b.
c.
d.
2.
a.
var p: record
x,y:real
end;
Ce valoare are variabila s de tip ir de caractere dup executarea instruciunii de mai jos?
s:=copy('informatica', pos('b','Fibonacci'),6);
format
informat
inform
b.
c.
d.
(4p.)
informBAC
4.
5.
Scriei un program Pascal care citete de la tastatur un numr natural n (1n6) apoi
construiete n memorie o matrice cu n linii i n coloane, astfel nct parcurgnd liniile
matricei de sus n jos i de la stnga la dreapta se obin, n prima linie primele n numere ale
irului Fibonacci n ordine cresctoare, n linia a doua urmtoarele n numere ale irului
Fibonacci n ordine descresctoare, n linia a treia urmtoarele n numere ale acestui ir n
ordine cresctoare, i aa mai departe, ca n exemplu. Elementele irului Fibonacci se obin
astfel: primul element este 0, al doilea este 1, iar elementele urmtoare se obin nsumnd cele
dou elemente care preced elementul curent. Astfel, primele 16 elemente ale acestui ir sunt:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610.
Programul afieaz pe ecran matricea obinut, cte o linie a
0
1
1
2
matricei pe cte o linie a ecranului, elementele fiecrei linii fiind
13
8
5
3
separate prin cte un spaiu.
21 34 55 89
Exemplu: pentru n=4 se obine matricea alturat.
(10p.) 610 377 233 144
q:=p;
a:=p^.urm^.nr;
while q^.urm<>nil do
begin
q^.urm^.nr:=2*q^.nr+1;
q:=q^.urm
end;
b:=q^.nr;
Subiectul II
1.
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
3.
4.
Fiecare element al unei liste simplu nlnuite, alocat dinamic, reine n cmpul nr un
numr ntreg, iar n cmpul urm adresa urmtorului element din list sau nil dac nu exist
un element urmtor.
Ce valori au variabilele ntregi a i b dup
executarea secvenei alturate, dac variabila p
reine adresa primului element al listei de mai jos,
iar variabila q este de acelai tip cu p?
(6p.)
5.
q:=p;
a:=p^.urm^.nr;
while q^.urm<>nil do
begin
q^.urm^.nr:=q^.nr*a;
q:=q^.urm
end;
b:=q^.nr;
Subiectul II
Se consider un graf neorientat G cu 101 noduri i 101 muchii. Numrul maxim de vrfuri
izolate ale grafului poate fi:
(4p.)
a. 0
b. 10
c. 50
d. 86
2.
Un arbore cu rdcin, cu 11 noduri, numerotate de la 1 la 11, este memorat cu ajutorul
vectorului de tai t=(2,5,5,3,0,2,4,6,6,2,3). Descendenii direci (fiii) ai nodului 2
sunt:
(4p.)
a. 1, 6 i 10
b. 5
c. 6, 8 i 9
d. 3
4.
5.
Subiectul II
d. (4,1)
Variabila s este de tip ir de caractere, iar variabilele c1 i c2 sunt de tip char. Care
expresie are valoarea true dac i numai dac irul de caractere s conine caracterele
memorate de variabilele c1 i c2?
(6p.)
pos(c1+c2,s)<>0
(pos(c1,s)<>0)
or
(pos(c2,s)<>0)
a.
b.
d. pos(c1,s)*pos(c2,s)<>0
c. pos(c2,copy(s,pos(c1,s),255))<>0
2.
5.
pe ecran se va afia:
14 6 3
9 22 5
Subiectul II
a. 3
b. 0
c. 2
d. 1
2.
Subiectul II
a. 4
b. 3
c. 5
0 1 1
1 0 1
1 1 0
0 0 1
0 1 1
d. 2
0
0
1
0
1
0
1
1
1
0
3.
4.
Scriei un program n limbajul Pascal care citete de la tastatur un singur ir format din cel
mult 20 de caractere care reprezint numele i prenumele unei persoane. ntre nume i
prenume se afl un numr oarecare de caractere spaiu (cel puin unul). Att numele ct i
prenumele sunt formate numai din litere ale alfabetului englez. Programul construiete n
memorie i afieaz pe ecran un al doilea ir de caractere, care s conin prenumele,
urmat de exact un spaiu i apoi numele din irul citit iniial.
Exemplu: dac se citete irul:
Popescu
Vasile
se va construi i apoi se va afia pe ecran irul
Vasile Popescu
(10p.)
5.
n memorie este construit o list simplu nlnuit, alocat dinamic, ale crei elemente
memoreaz n cmpul lit un caracter i n cmpul next adresa elementului urmtor din
list sau valoarea nil dac nu exist un element urmtor. Se tie c acast list conine cel
puin trei elemente. Variabila prim reine adresa primului element al acestei liste, iar
variabila ultim reine adresa ultimului element din aceast list.
Scriei secvena de program care interschimb valorile reinute n cmpurile lit de la al
doilea, respectiv de la ultimul element al acestei liste. n cazul n care vei folosi i alte
variabile dect cele date prin enun, scriei i declarrile necesare pentru aceste variabile.
Exemplu: dac presupunem c iniial lista avea coninutul i forma urmtoare:
prim
ultim
V a s i l e
atunci, n urma executrii secvenei, ea va avea urmtorul coninut:
prim
ultim
V e s i l a
(6p.)
Subiectul II
1.
2.
5.
Subiectul II
5.
la 1 la 5,
(6p.)
0
1
0
0
0
Scriei un program n limbajul Pascal care citete de la tastatur dou iruri, formate
fiecare din cel mult 20 de caractere. Primul ir reprezint numele unei persoane, iar al
doilea ir reprezint prenumele aceleiai persoane. Att numele ct i prenumele sunt
formate numai din litere ale alfabetului englez i fiecare conine cel puin o consoan.
Programul construiete n memorie i afieaz pe ecran un al treilea ir de caractere, care
conine consoanele din prenumele citit dispuse n ordinea n care apar n prenume urmate
de exact un spaiu i de numele citit.
Exemplu: dac primul ir citit este Popescu, iar al doilea este Vasile
se va construi i apoi se va afia pe ecran irul
Vsl Popescu
(10p.)
Subiectul II
a. 3 4 5
b. 1
c. 2 6
d. 1 2 6
(6p.)
4.
O list liniar simplu nlnuit, alocat dinamic, reine n cmpul info al fiecrui element
cte un numr ntreg de cel mult 4 cifre, iar n cmpul adr, adresa elementului urmtor din
list sau nil dac nu exist un element urmtor n list.. Lista are cel puin trei noduri, iar
variabila p reine adresa primului nod al listei. Scriei, n limbajul Pascal, declarrile ce
definesc lista i o secven de instruciuni prin a crei executare se afieaz pe ecran
valoarea memorat n cel de-al treilea nod al listei.
(4p.)
5.
Subiectul II
1.
2.
a. xmn
b. Eae
c. men
d. Examen
4.
Tipul de date structurat COLET permite reinerea a dou numere reale, reprezentnd
valoarea exprimat n euro a unui colet potal, respectiv greutatea exprimat n kilograme,
i un ir de caractere reprezentnd numele oraului expeditorului, format din cel mult 30 de
caractere. Scriei n limbajul Pascal o declarare pentru tipul de date COLET i o secven
de instruciuni care permite citirea valorilor componentelor variabilei x de tipul COLET.
Denumii sugestiv componentele tipului de date COLET.
(6p.)
5.
Scriei un program Pascal care citete de la tastatur un numr natural nenul n (n24) i
construiete n memorie o matrice cu n linii i n coloane care s conin primele n2 numere
naturale pare. Prima linie a matricei va conine, n ordine cresctoare, valorile 0, 2,.., 2n-2;
a doua linie va conine, n ordine, valorile 2n, 2n+2,.., 4n-2; a treia linie va conine, n
ordine, valorile 4n, 4n+2,.., 6n-2, iar ultima linie va conine, n ordine, valorile 2n2-2n,
2n2-2n+2,.., 2n2-2.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 0 2 4
pe cte o linie a ecranului, elementele de pe aceeai linie fiind 6 8 10
12 14 16
desprite prin cte un spaiu.
Exemplu: pentru n=3 se va afia matricea alturat.
(10p.)
Subiectul II
a. 6
b. 4
c. 3
d. 5
Considerm variabila x care memoreaz irul de caractere ABAC. Care dintre urmtoarele
instruciuni conduc la afiarea caracterului B?
(4p.)
a. write(x[length(x)-2]);
b. write(x[length(x)-3]);
2.
c. write(x[3]);
d. write(x[length(x)-1]);
Considerm un graf neorientat cu 5 noduri i 3 muchii format din dou componente conexe.
tiind c doar patru dintre noduri au gradul 1, scriei matricea de adiacen a grafului. (6p.)
4.
5.
Scriei un program Pascal care citete de la tastatur un numr natural nenul n (n24) i
construiete n memorie un tablou bidimensional cu n linii i n coloane care s conin
primele n numere naturale nenule. Prima linie a tabloului va conine, n aceast ordine,
valorile 1,2,...,n; a doua linie va conine, n ordine, valorile 2,2,3,...,n; a treia linie
va conine, n ordine, valorile 3,3,3,4,...,n, iar ultima linie va conine valorile n,
n,..., n.
Programul afieaz pe ecran matricea construit, cte o linie a matricei 1 2 3 4 5
pe cte o linie a ecranului, elementele fiecrei linii fiind desprite prin 2 2 3 4 5
3 3 3 4 5
cte un spaiu.
Exemplu: pentru n=5 se va afia matricea alturat.
(10p.) 4 4 4 4 5
5 5 5 5 5
Subiectul II
Care este numrul minim de muchii care trebuie eliminate dintr-un graf neorientat complet
cu 100 de noduri astfel nct graful parial obinut s fie eulerian?
(4p.)
a. 4851
2.
b. 0
c. 100
d. 50
Fiecare element al unei liste simplu nlnuite, alocat dinamic, memoreaz n cmpul urm
adresa urmtorului element din list sau nil dac nu exist un element urmtor n list, iar
variabilele k1, k2 i k3 rein adresele a 3 elemente succesive n list, ca n figur. Cu ce
instruciune se pot nlocui punctele de suspensie din secvena de mai jos astfel nct
aceasta s determine interschimbarea corect a poziiilor n list a elementelor de la
adresele k2 i k3?
(4p.)
k1^.urm:=k3; ... k3^.urm:=k2;
a. k2^.urm:=k3^.urm;
b. k2^.urm:=k3;
c. k2^.urm:=k1^.urm;
d. k2:=k3^.urm;
4.
5.
Scriei un program Pascal care citete de la tastatur un numr natural n (1n50)i apoi
elementele unui tablou bidimensional cu n linii i n coloane, care memoreaz numere
naturale cu cel mult 9 cifre fiecare; programul afieaz pe ecran acele valori din tablou care
sunt strict mai mici dect toate elementele cu care se nvecineaz direct (aflate pe aceeai
linie dar pe o coloan alturat sau pe aceeai coloan dar pe o linie alturat), ca n
exemplu. Numerele afiate vor fi separate prin cte un spaiu.
Exemplu: pentru n=4 i tabloul alturat se afieaz numerele: 2 0 (2 se 5 4 7 9
nvecineaz direct cu 4, 3, 6 i 9, i este mai mic dect acestea, iar 0 se 6 2 3 4
nvecineaz direct cu 6, 9 i 1 i este mai mic dect acestea).
(10p.) 0 9 8 5
1 3 8 6
Subiectul II