Sunteți pe pagina 1din 6

Tipuri de date abstracte

Un tip de dat este o mulime de valori mpreuna cu o mulime de


operaii de baz definite pentru aceste valori.
Exemplu:
int este un tip de dat ce folosete valorile
{-32768,...,-1,0,1,...,32767} i operaiile +,-,*,/,% (i altele)
Un tip de date este considerat ca o mulime de valori simbolice,
construite i transformate prin operatori specifici tipului, operatori descrii
exclusiv prin efectele pe care le au asupra valorilor prelucrate.
Un tip de dat se numete tip de dat abstract (ADT-Abstract Data
Type) dac programatorii ce folosesc acel tip nu au acces la detaliile
implementrii valorilor si operaiilor.
Un astfel de tip este etichetat ca tip de date abstracte (TDA), pentru c
specificarea si analiza lui sunt independente n raport cu orice implementare
particular. Evident, TDA-urile au aplicabilitate n fazele primare ale
proiectarii programelor, ncurajnd si ajutnd activitatea de proiectare n
spiritul paradigmei obiectuale. Ca tehnologie de proiectare, TDA-urile
contribuie la implementarea unor module de program reutilizabile i, totodat,
maresc considerabil independena unui program n raport cu reprezentarea i
implementarea particular a datelor prelucrate.
Tipul de date abstract este o entitate manipulat doar prin operaiile ce
definesc acel tip.

Avantajele utilizrii tipurilor de date abstracte sunt:


1.Programele devin independente de modul de reprezentare a datelor.
2.Modul de reprezentare poate fi modificat, fr nsa a afecta restul
programului (de exemplu, o mulime poate fi implementat printr-un tablou
sau printr-o list ordonat, dar partea de program ce folosete operatorii
tipului abstract ramne neschimbat).

3.Se previne violarea accidentala a datelor.


4.Utilizatorul tipului abstract este forat s manipuleze datele doar prin
intermediul operatorilor ce compun tipul abstract, astfel reducndu-se riscul
unei distrugeri a datelor.
Exemplu: Tipurile predefinite (cum ar fi int) sunt tipuri de date abstracte.
Tipurile definite de programator, cum ar fi struct si class nu sunt
implicit tipuri abstracte de date.
Dac nu sunt definite i folosite cu atenie, tipurile definite de
programator pot fi folosite n mod neintuitiv pentru a face un program greu de
neles i de modificat. Modul cel mai bun de a evita aceste probleme este s
fim siguri c toate tipurile de date declarate de programator sunt tipuri
abstracte de date.
Pentru a defini o clas care s fie un tip abstract de date, trebuie s
separam specificrile modului de folosire a tipului de ctre programator de
detaliile modului de implementare a tipului.
Separarea trebuie sa fie complet astfel ncat la o schimbare n
implementarea clasei, orice program care folosete clasa abstract de date s
nu necesite schimbri suplimentare. Un mod de a asigura aceast separare
este:
1.Facem toate variabilele membru ale clasei membri private.
2.Facem toate operatiile de baza de care programatorul are nevoie
functii membru public ale clasei (specificand modul de folosire a
fiecarei functii membru specifice).
3.Facem orice functie help a clasei membru private.
Interfaa unui ADT (definit ca o clasa n C++) const n funciile
membru publice mpreuna cu comentariile care specific modul de folosire a
acestor funcii membru publice. Implementarea unui ADT consta n membrii
privai ai clasei i definiiile funciilor membre publice i private.
Deci clasa poate fi mprit n interfa i implementare.

n C tipurile abstracte sunt realizate folosind fiiere. Acest mod are


desigur propriile sale limitri. Menionm doar dou din ele:
1. nu se pot defini tablouri de tipuri abstracte
2. nu se pot transmite parametri avnd ca tip un tip abstract.

Tipuri de date logice


Acest tip de valori, chiar dac se refer la tipurile standarte, pentru
muli poate fi puin cunoscut. n legtur cu aceasta , ne vom uita puin la
unele elmente ale logicii matematice, din care a provenit acest tip de valori.
Logica matematic este una din ramurile comune ale logicii-tiina
despre formele i legile gndirii, ce s-a dezvoltat din cauza cerinelor matemati
cii. Temelia logicii matematice o alctuiete algebra logic, deoarece aici se
folosete acela limbaj care este caracteristic pentru matematica general.
Prin enun subnelegem orice propoziie n privina creia putem spune
c este adevrat sau fals, de exemplu: 3>2,5-numr par, Oslo-capitala
Cubei .a. S remarcm c propoziia de tipul cifra 0.000001 este mic nu
este un enun n sensul de mai sus, deoarece sensul de numr mic
Este extrem de relativ, aa c este greu de afirmat este adevrat sau fals
propoziia expus mai sus.
Deci adevrul fiecrei propoziii este determinat de dou valori:
adevr (dac enunul este adevrat) sau fals(dac enunul este fals).
Aceste dou enunuri se numesc echivalente, dac valoarea lor de adevr este
mereu aceiai. De exemplu : 5-numr par, Oslo-capitala Cubei snt
echivalente, deoarece snt ambele false.
Adevrul enunului astzi este miercuri depinde de ziua n care a fost
fcut, iar enunul x<0 depinde de valoarea lui x. n legtur cu aceasta
apare noiunea de variabil logic sau boolean, care poate primi una din
dou valori logice: adevr sau fals. n particular, fiecui enun i se poate
pune o variabil logic.
S remarcm c de studierea logicii din poziii formale pentru prima
dat s-a ocupat la jumtatea secolului trecut matematecianul englez Jeorge
Bool, n cinstea lui determinarea enunurilor este numit algebra boolean,
dar valorile logice booleene. De aici a provenit cuvntul boolean ca sinonim
a cuvntului logic- cuvnt n multe limbi algoritmice.
Adevrul unui enun poate depinde de adevrul altor enunuri, iar
caracterul acestei depinderi poate fi deosebit. De exemplu, adevrul enunului
x*y0, depinde de adevrul enunului x0 i y0 . Caracterul
depinderii este aici aa : primul enun va fi adevrat n cazul cnd alte dou

enunuri vor fi adevrate simultan. Iar enunul x*y0 va fi adevrat dac


mcar unul din enunuri x0 i y0 vor fi adevrate, dup cum observm
caracterul depinderii aici este altul. n algebra obinuit pentru a arta
depinderile reciproce ntre mrimi, se folosesc unele operaii simple de
legtur ca: *, -, +, \. Cu ajutorul acestor operaii simple se poate
prin metoda superpoziiei s formm depinderi mai complicate. Analogic n
logica matematic la formarea enunurilor i mai complicate se ntrebuineaz
unele legturi logice simple, crora le corespund operaii logice definite
asupra adevrului enunurilor. n acest caz ne putem limita la 3 legturi, prin
care se poate exprima orice alte legturi logice(negarea, conjuncia,
disjuncia).

MINISTERUL NVMNTULUI TINERETULUI I

SPORTULUI A REPUBLICII MOLDOVA


Universitatea de Stat din Moldova

Facultatea: Matematic i informatic


Specialitatea: Matematic i informatic

TEMA:

Tipuri de date

A verificat:
Natalia Plecu
A efectuat:
Darii Olga

CHIINU 2002