PJ4-TipoviPodataka

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