Upload
mihajlo-jonic
View
214
Download
0
Embed Size (px)
Citation preview
8/19/2019 PJ4-TipoviPodataka
1/11
1
TIPOVI PODATAKA
8/19/2019 PJ4-TipoviPodataka
2/11
2
TIP PODATAKA ?TIP PODATAKA ?
Tip podataka određuju sledeći elementi:
Skup vrednosti
Format registrovanja podataka
Skup operacija koje se nad podacima mogu
izvršavati
8/19/2019 PJ4-TipoviPodataka
3/11
3
KONCEPT SLABIH TIPOVA KONCEPT SLABIH TIPOVA
nedostacinedostaci
Inormacija o tipu koristi se i korektna jesamo na mašinskom nivou!
"peracija koja se od strane mašine pri#vati kaokorektna na nivou izvornog koda programa mo$eda %ude potpuno nekorektna! &pr!
varc : c#ar'c :( )'
8/19/2019 PJ4-TipoviPodataka
4/11
)
KONCEPT SLABIH TIPOVA KONCEPT SLABIH TIPOVA
nedostacinedostaci
*oncept sla%i# tipova podrazumeva određeniautomatizam u transormaciji tipova podataka u slu+aju
kada se elementi razli,iti# tipova nalaze u jednom
izrazu +ija se vrednost dodeljuje promenljivoj
određenog tipa! -azmotrimo sledeći primer:var
./ 0 : real'i/ j/ k : integer'
i :( .'k :( . j'
Skrivene konverzije mogu i namerno de se koriste u programu!
i:( k s#l 12 or 1'
8/19/2019 PJ4-TipoviPodataka
5/11
4
TIP PODATAKATIP PODATAKA
Tip podataka određuju sledeći elementi:
Skup vrednosti
Format registrovanja podataka
Skup operacija koje se nad podacima mogu
izvršavati
Skup unkcija za konverzije uspostavljanjeveza sa drugim tipovima podataka'
8/19/2019 PJ4-TipoviPodataka
6/11
5
KONCEPT JAKIH TIPOVA KONCEPT JAKIH TIPOVA
Sve deinicije tipa moraju da %udu javne/ eksplicitne! &isudozvoljene implicitne deinicije tipova!
"%jektu se deiniše samo jedan tip!
6ozvoljeno je dodeljivanje vrednosti samo odgovarajućeg
tipa!
6ozvoljene su samo operacije o%u#vaćene tipom!
Tip je zatvoren u odnosu na skup operacija koji o%u#vata
ove operacije mogu se primenjivati samo nad operandima
tog tipa podataka! 7ešoviti izrazi nisu dozvoljeni!
6odeljivanje vrednosti raznorodni# tipova i operacije nad
raznorodnim operandima moguće je samo uz javnu
upotre%u unkcija za transormaciju tipa!
8/19/2019 PJ4-TipoviPodataka
7/11
8
KONCEPT JAKIH TIPOVA KONCEPT JAKIH TIPOVA
.: real' . je tipa real'i: integer' i je celo%rojnog tipa'
%: 9oolean' % je logi,kog tipa'
c: c#ar' c je znakovnog tipa'i :( ;' nekorektno'
. :( i < 4!=' nekorektno
c :( 1=' nekorektnoi :( i or 8' nekorektno/ jer je logi+ka operacija
upotre%ljena nad vrednostima
celo%rojnog tipa'
8/19/2019 PJ4-TipoviPodataka
8/11
>
Strukturna ekvivaentnost Strukturna ekvivaentnost
*od strukturne ekvivalentnosti da %i se izvršilo nekododeljivanje potre%no je da u okviru nared%i dodeljivanja leva idesna strana %udu strukturno ekvivalentne! 6odeljivanjedeinisano sa:
var i : integer'
u : real'
u :( i'
je dozvoljeno jer u krajnjem slu+aju o%e promenljive pripadajutipovima podataka deinisanim nad istim elementarnim tipom io%u#vataju vrednosti koje su strukturno jednake jer se radi onumeri,kim podacima!
8/19/2019 PJ4-TipoviPodataka
9/11
?
I!enovana ekvivaentnost I!enovana ekvivaentnost
@ slu+aju eksplicitne ekvivalentnosti vrednost jedne promenljive se mo$e dodeliti drugoj samo ako o%eeksplicitno pripadaju istom tipu/ što ilustruje sledeći primer:
var
i/u : real'
u :( i'
Aksplicitnom ekvivalentnošću tipova posti$e se veća pouzdanost jezika! @ ovom slu+aju nisu potre%ne pose%ne procedura po kojima %i se ispitivala strukturnaekvivalentnost! 7eđutim/ kada je potre%no vrednost
promenljive ili izraza dodeliti promenljivoj koja mu neodgovara po tipu ovaj koncept za#teva korišćenje unkcija zatransormisanje tipova!
8/19/2019 PJ4-TipoviPodataka
10/11
1=
StatiStati" " ki i dina!iki i dina!i"ki ti#ovi"ki ti#ovi
#odataka #odataka Stati+ki tipovi B Inormacija o tipu se koristi u azi
kompiliranja 6inami+ki Inormacija o tipu se koristi u azi
izvršavanja! Cezik mo$e da pripada kategoriji jezika sa jakim
tipovima podataka a da ima dinami+kuimplementaciju! Derl/ D0ton/ Eisp!
Isto tako neki jezici se implementiraju stati+ki alinemaju sva svojstva jaki# tipova podataka Dr! kodkojeg se tra$e eksplicitne deinicije tipa ali sudozvoljene automatske konverzije i mešoviti izrazi!
8/19/2019 PJ4-TipoviPodataka
11/11
11
Siste! ti#ova #odatakaSiste! ti#ova #odataka
Alementarni tipovi Integer/ Float/ 9oolean
Izvedeni tipovi
Dodtipovi Strukturni tipovi File/ -ecord/ ;rra0
6inami+ki tipovi
6iskretni Intervalni tipovi ;nonimni
;pstraktni