Sunteți pe pagina 1din 2

1.

Considerând declarările alăturate, care dintre următoarele referiri este corectă din punct
de vedere sintactic ? (4p.)
type datan= record
zi,ln,an:integer; end;
type elev= record
nume:string[30]; dn,da: datan;
end;
var e:elev;
a) e.datan.ln
b) nume.e
c) e.dn.an[2]
d) e.dn.zi *

2. Funcţia F are următoarea definiţie:


function F( x: integer): integer;
begin
if x<=1 then F:= x
else
F:= x+F(x-2)
end;

Ce valoare are F(18)?

a) 171
b) 90 *
c) 91
d) 18

3. Ce se afişează pe ecran în urma executării secvenţei de program alăturate, unde a este


o variabilă de tip string?
a:='informatica';
delete(a,3,3);
write(a);

Barem: inmatica

4. Fie v un vector de numere întregi. Sǎ se construiascǎ un vector w, astfel încât


w[i]=numǎrul de apariţii ale lui v[i] în vectorul v. Sǎ se afişeze cei doi vectori, fiecare pe
câte o linie. Scrieţi programul C/C++/Pascal care respectă cerinţele problemei.

Exemplu: Pentru v=(1, 8, 2, 1, 8, 7, 2, 1, 8) se obţine w=(3, 3, 2, 3, 3, 1, 2, 3, 3).

Barem:
1p. declararea variabilelor şi citirea datelor
2p. construirea vectorului w
1p. afişarea datelor de ieşire

5. Scrieţi un program Pascal care citeşte de la tastatură un număr natural n (0<n≤23) şi apoi
construieşte în memorie o matrice cu n linii şi n coloane astfel încât 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.
Programul va afişa matricea pe ecran, câte o linie a matricei pe o linie a ecranului, cu câte un
spaţiu între elementele fiecărei linii.
Exemplu: dacă n este 4 atunci programul va construi şi va afişa
matricea alăturată: (10p.)
2111
3211
3321
3332

S-ar putea să vă placă și