Sunteți pe pagina 1din 4

1.

În declararea alăturată, câmpurile x şi y ale înregistrării pot memora coordonatele carteziene ale unui
punct din planul xOy. Scrieţi o secvenţă de instrucţiuni prin executarea căreia se calculează şi se afişează
pe ecran distanţa dintre două puncte ale căror coordonate sunt memorate de variabilele A şi B.
type punct=record
x,y:real
end;
var A,B:punct;
d:real;

2.Variabila t, declarată alăturat, memorează în câmpurile a, b şi c lungimile laturilor unui triunghi. Care
dintre următoarele instrucţiuni atribuie câmpului p al variabilei t valoarea perimetrului triunghiului respectiv?
type triunghi=record
a,b,c,p:real
end;
var t:triunghi;
a. p.t:=t.a+t.b+t.b; b. p.t:=a.t+b.t+c.t;c. t.p:=t.a+t.b+t.c; d. t.p=t.a+t.b+t.c;

3.În declararea alăturată, câmpurile x şi y ale înregistrării pot memora numărătorul, respectiv numitorul
unei fracţii. Scrieţi secvenţa de instrucţiuni prin executarea căreia se construieşte în variabila f o fracţie
obţinută prin însumarea fracţiilor memorate în variabilele f1 şi f2.
type fractie =record
x,y:integer
end;
var f,f1,f2:fractie;

4.Variabila d, declarată alăturat, memorează în câmpurile a şi b lăţimea şi, respectiv, lungimea unui
dreptunghi. Care dintre următoarele instrucţiuni atribuie câmpului aria al variabilei d valoarea ariei
dreptunghiului respectiv?
type dreptunghi=record
a,b,aria:real
end;
var d:dreptunghi;
a. d.aria=d.a*d.b; b. aria.d:=a.d*b.d c. aria.d:=d.a*d.b d. d.aria:=d.a*d.b

5.În declararea alăturată, câmpul a al înregistrării memorează număratorul, iar câmpul b memorează
numitorul unei fracţii. Care dintre următoarele secvenţe de instrucţiuni determină, în urma executării,
interschimbarea numitorului fracţiei x cu numitorul fracţiei y?
type p=record
a,b:integer
end;
var x,y: p;
t:integer;
a. t:=x.b; x.b:=y.b; y.b:=t; b. t:=b.x; b.x:=b.y; b.y:=t;c. x.b:=y.b; d. b.x:=b.y;

6.Considerându-se declararea alăturată, scrieţi o secvenţă de instrucţiuni prin executarea căreia să se


afişeze, pe o singură linie a ecranului, conţinutul variabilei x.
type elev=record
nume:string[50];
clasa:integer;
medie:real
end;
var x:elev;
write(x.nume, _ , x.clasa, _ x.medie);
7.Considerând declararea alăturată, care dintre următoarele secvenţe de instrucţiuni realizează în mod
corect citirea de la tastatură a valorilor celor două câmpuri ale variabilei x?
type p=record
a,b:integer
end;
var x:p;
a. read(a->x,b->x); b. read(a.x,b.x);c. read(x.a,x.b); d. read(x);
8.Considerând declararea alăturată, care dintre următoarele secvenţe de instrucţiuni afişează valorile
memorate în cele două câmpuri ale variabilei x, separate printr-un spaţiu?
type p=record
a,b:integer;
end;
var x:p;
a. write(x.a,’ ’,x.b); b. write(a.x,’ ’,b.x); c. write(x); d. write(x->a,’ ’,x->b);

9.Pentru a memora simultan numele şi media la informatică a unui elev în variabila e, se poate utiliza
declararea:
a. var e:record
nume:char[20]; media:real
end;
b. var e.nume:string;
e.media:real;
c. var e:real;
d. var e:record
a:string; b:real
end;

10. O variabilă e este folosită pentru a memora simultan numele şi prenumele unui elev precum şi cele trei
note obţinute de acesta la un concurs de atletism. Ştiind că notele sunt numere întregi cu maximum două
cifre, numele este un şir cu maximum 20 de caractere, prenumele este un şir cu maximum 30 de caractere
iar punctajul total al elevului se calculează folosind atribuirea: total:=e.nota1+e.nota2+e.nota3;
scrieţi declararea variabilei e.

Var e: record
Nume:string[20];
Prenume: string[30];
Nota1,nota2,nota3:byte;
End;

11. Pentru a memora denumirea unui medicament şi preţul acestuia se foloseşte variabila m. Scrieţi
declararea variabilei m ştiind că denumirea medicamentului este un şir cu maximum 30 de caractere, preţul
acestuia este un număr real, iar majorarea cu 10% a preţului se face folosind următoarea atribuire:
m.pret:=m.pret*1.1;

var m:record;
denumire:string;
pret:real;
end;

12.Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care memorează
simultan vârsta în ani împliniţi şi media la bacalaureat a unui elev?
a. var x:record
media:real;
varsta:byte
end;
b. type x=record
media:real;
varsta:byte
end;
c. var x.media:real;
x.varsta:byte;
d. type elev=record
x.media:real;
x.varsta:byte
end;
13.Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care memorează
simultan numărătorul şi numitorul unei fracţii ireductibile:
a. var x:record
n1,n2:integer
end;
b. var x:string[2];
c. type x=record
n1,n2:integer
end;
d. var x:real;

14.Se consideră declarările de mai jos, în care variabila ev memorează date despre un anumit elev. Scrieţi
instrucţiunea Pascal prin care se iniţializează anul naşterii acestui elev cu valoarea 1990.
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;

ev.data_nasterii.an:=1990;

15.Pentru declararea alăturată precizaţi care din instrucţiunile de atribuire este greşită
type elev=record
nume:string[20];
nota:integer end;
var e1,e2:elev;
a. e1:=e2+1; b. e1.nume[2]:=’x’; c. e1:=e2; d. e1.nota:=e2.nota+1;

16.Pentru declaraţiile alăturate care este numărul maxim de numere întregi ce pot fi memorate în variabila
a?
type punct2D=record
x,y:integer end;
var a:array[1..10,1..10] of punct2D;

17.În declararea alăturată, câmpurile x şi y ale înregistrării reprezintă numărătorul, respectiv numitorul unei
fracţii de forma. Scrieţi instrucţiunile prin executarea cărora se memorează în variabila H fracţia obţinută prin
adunarea fracţiilor reţinute în F şi G.
type fractie=record
x,y:integer;
end;
var F,G,H:fractie;

18.Scrieţi definiţia corectă a unui tip de date necesar pentru a memora simultan, într-o singură variabilă de
acest tip, următoarele caracteristici ale unui autoturism: marca (cuvânt de maximum 20 caractere) şi anul
fabricaţiei (număr natural), astfel încât expresia Pascal de mai jos să aibă ca valoare vechimea maşinii ale
cărei caracteristici sunt memorate în variabila x. 2008-x.anul_fabricatiei

19.Se consideră definiţia alăturată. Care dintre următoarele construcţii este o declarare corectă
pentru un tablou cu 10 elemente de tip elev?
type elev = record
nume:string[30];
nota:real
end;
a. var elev: array[1..10] of x; b. var x[1..10]: array of elev;
c. var x: elev[1..10]; d. var x: array[1..10] of elev;
20.Fie declarările alăturate. Dacă variabila x reţine informaţii despre un elev, precizaţi care este varianta
corectă ce afişează prima literă din numele acestuia?
type elev=record
nume: string[30];
nota: real
end;
var x:elev;
a. write(x); b. write(x.nume[1]); c. write(x.nume); d. write(nume);