Documente Academic
Documente Profesional
Documente Cultură
A04 - Organizari Ale Datelor PDF
A04 - Organizari Ale Datelor PDF
Daca vom stabili între valorile unui tip o relatie de ordine de tipul
(ci<cj) ≡ (i<j),
atunci se pot defini operatrorii succ(x), pred(x).
4.1 Tablouri
Accesul la elementele unui tablou este aleator. Pentru specificarea unei anumite
componente se folosesc indecsi.
type T= array[I]or To
unde: I – reprezinta tipul indexului
To – tipul de baza (tipul elementelor)
Exemplul 1:
type sir = array[0..9] of real
var x:Sir
Accesul la al i-lea element al tabloului x se face prin constructia x[i].
Exemplul 2:
x[0]=6.3;
x[2]=7.4;
Indexul unui tablou este de tip scalar. El poate fi calculat, deci în locul indexului
se poate utiliza o expresie.
Exemplul 3:
x[2i+1] (accesul elementelor de ordin par)
Teorema
Cardinalitatea unui tip structurat este produsul cardinalitatii elementelor sale.
Pentru tablouri aceasta devine
card T = (card(To))n
unde n=card(I)
Solutia1:
var a: array[0..N-1] of T; {N>0}
i=0;
while (a[i] != x) and (i<N) i=i+1; endw
if a[i] != x then "Nu exista un astfel de element în a"
Organizari ale datelor 37
4.2 Înregistrari
Exemplu.:
38 Programarea calculatoarelor
Observatie:
Mai multe înregistrari de acelasi tip pot fi organizate sub forma unui tablou.
Exemplu:
a : array[0..N-1] of Persoana;
Accesul la componenta sex a celei de-a i-a persoane se face printr-o
constructie de forma:
a[i].sex.
Organizari ale datelor 39
Aplicatie:
Sa se numere persoanele feminine si necasatorite.
num = 0;
for i = 0; i < N; i = i+1;
if (a[i].sex == feminin) and (a[i].stare_civila == necasatorit) then
num = num+1;
endif
endf
4.3. Multime
Exemplu:
type setint = set of 0..19;
type setchar = set of char;
var is : setint; is = [5, 7, 2, 19];
cs : setchar; cs = [':', 'A', '7', '/'];
card(T) = 2card(To)
Pe structura multime se definesc urmatorii operatori elementari:
∈ – apartenenta
U – reuniunea AUB = {x/ x∈A sau x∈B}
I – intersectia AIB = {x/ x∈A si x∈B}
\ – diferenta A\B = {x/ x∈A si x∉B}
∆ – diferenta simetrica A∆B = (A\B)U(B\A)
Definitie:
eof (x) ≡ (xD == <>)