Sunteți pe pagina 1din 11

Atenție: Memorizați care tipuri sunt predefinite și care definite de utilizator

Tipurile structurate.
1. array - este un tabel ce conține mai multe tipuri simple (integer, rel, char).
Există array-uri (tabel) cu singură linie - unidimensionale și cu mai multe linii -
multidimensionale.
Declarare:
array unidimensional - var b:array[1..5] of integer - este un tabel cu o linie ce conține 5
elemente de tip integer:
b1 b2 b3 b4 b5

array bidimensional - var a:array[1..3,1..4] of integer - este un tabel cu 3 linii și 4 coloane ce


conține 12 elemente de tip integer:
a[1,1] a[1,2] a[1,3] a[1,4]
a[2,1] a[2,2] a[2,3] a[2,4]
a[3,1] a[3,2] a[3,3] a[3,4]

Exemple:
b4:=40 - elementului din poziția 4 îi atribuim valoarea 40.
b4:='9' - greșit din cauză că este de tip char nu integer.
a[2,3]:=16 - elementului din rândul 2 coloana 4 îi atribuim valoarea 16.
a[3,4]:=b2 - elementului din rândul 3 coloana 4 îi atribuim valoarea din b1.
2. Șir de caractere (string) - un șir de caractere cuprinse
Declarare:
var s:string; - variabila s poate conține maximum 256 de caractere
var s:string[20]; - variabila s poate conține maximum 20 de caractere
Exemple:
s:='bacalaureat';
s[4]=a; s[1]=b.
3. Tipul mulțime (set).

4. Tipul articol (record) este un tip neomogen format din câmpuri ce conțin diferite tipuri de
date.
Variabila student conține câmpurile:
 nume, prenume
 anul
 virsta
 sex
 n1,n2
 bursa
Exemple de utilizare.
student.nume:='Ursu';
student.prenume:='Ana';
student.n1:=12 - gresit;
student.sex:='m';
nr_comp.Re:= 12.3;

Observație: Utilizarea unei variabile de tip record se face prin numele ei numele câmpului
separat prin punct.

Atenție: Tipul record este obligatoriu pentru umaniști.

5. Tipul fișier - este un tip de date care face legătura dintre un fișier extern (de ex. input.txt) și
un fișier pascal (de ex p1.pas)

input.txt p1.pas otput.txt

2 2+3 5
3 calcularea sumei afișarea
date de intrare rezultatului
Declararea tipului fișier:
var f:text;
Capitolul Subprograme.
Exemplu important
Orice program pascal poate fi divizat pe blocuri
(nivele).
Program item6; Zona nivelului 0 reprezintă programul
nivel 0 principal.
var a: array[1..50] of integer; În programul item6 avem 3 subprograme:
i,j:integer; x,y:real; P1 este o procedură, F1este o funcție și F2 la
fel funcție.
Procedure P1(a:integer; var b:integer); P1 și F1 sunt subprograme de nivel 1, ele
nivel 1
var c:integer; aparțin programului principal, iar F2 este de
nivel 2, el se include în F1.
begin
Variabile globale, se declară până la
c:=a+b; {calcularea sumei a doua nr. }
subprograme:
writeln(c); a - variabilă de tip structurat.
i,j,x,y - variabile de tip simplu.
end;
Function F1(var e:real;d:real):real; Antetele subprogramelor care include:
nivel 1 titlul (P1, F1 și respectiv F2) și în paranteze
Function F2(q:integer):integer variabile numite parametri formali.
begin La funcții există și tipul rezultatului funcției
nivel 2
- :real și :integer.
q:=2; Parametrii formali sunt de 2 tipuri:
1. parametri formali valoare - în P1 este
writeln(q);
variabila a, în F1- e, în F2 - q.
end; 2. parametri formali variabilă (are în fața ei
cuvântul var) - în P1 este variabila b, în F1 - d.
var f:real;
F2 nu are parametri formali variabile.
begin
Variabile locale, se declară în subprograme:
f:=sqrt(e+d); Observați în P1avem variabila c, iar în
F1variabila f.
writeln(f);
end; sqrt (radical) reprezintă o funcție predefinită
(standard) al programului pascal.
begin Poate fi întrebarea: programul item6 folosește
i:=2; j:=4; x:=2.5; y:=4.5; funcții predefinite. Adevărat sau Fals
Apeluri subprogramelor P1 și F1 se face prin
P1(i,j);
numele lor și cu parametrii actuali.
F1(x,y); P1 are parametrii actuali i și j.
F1 are parametrii actuali x și y.
end.
Ce va executa programul (în explicare includ numai variabilele care sunt implicate în calcule).
1. Programul principal item6 are variabilele P1 are variabilele F1 are variabilele
i j x y a b c e d f
2. Variabilelor globale se atribuie valori: Se apelează P1, i transmite Se apelează F1, i transmite
i:=2; j:=4; x:=2.5; y:=2.5 valoarea lui a și j lui b. Lui c valoarea lui e și j lui d. Lui f se
se atribuie a+b, adică 2+4. atribuie radical din e+d, adică
Se afișează valoarea lui c, √2.5+4.5. Se afișează valoarea
adică 6. lui c, adică 3.
3. Răspuns se va afișa 6 și 3.

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