Gradivo III razreda u Gimnaziji "Veljko Petrović"

Računarstvo i Informatika

Tipovi u PASCAL-u

U programskim jezicima tipovi podataka definišu skup vrednosti i dozvoljenih operacija sa tim vrednostima.

U PASCALU, tipovi se dele na tri grupe:

A. PROSTI

  1. Celobrojni (ORDINARAN) - sintaksa opisana u delu sintaksna pravila.
    • Shortint        -128..127         1 Bajt  - označen
    • Integer       -32768..32767       2 Bajta - označen
    • Longint  -2147483648..2147483647  4 Bajta - označen
    • Byte               0..255         1 Bajt  - neoznačen
    • Word               0..65535       2 Bajt  - neoznačen

    Operacije definisane nad ovim tipom su: +, -, *, DIV i MOD


  2. Decimalni - sintaksa opisana u delu sintaksna pravila.
    • Real       2.9e-39..1.7e38      6 B; 11-12 znač. cif.
    • Single     2.9e-39..1.7e38      4 B;  7-8  znač. cif.
    • Double    5.0e-324..1.7e308     8 B; 15-16 znač. cif.
    • Extended 3.4e-4932..1.1e4932   10 B; 19-20 znač. cif.
    • Comp       -9.2e18..9.2e18      8 B; 19-20 znač. cif.

    Operacije definisane nad ovim tipom su: +, -, * i /

  3. Logički
    • Boolean  - TRUE ili FALSE.

      Operacije definisane nad ovim tipom su: AND, OR, NOT i XOR

      Relacione operacije : <, >, =, <=, >= i <>, definisane su nad aritmetičkim, tekstualnim i logičkim tipom, a kao rezultat daju konstante koje su tipa boolean.

      Pripadnost skupu : IN, koja je definisana nad skupovnim tipom, takođe rezultat daje konstante tipa boolean.


  4. Znakovni - sintaksa opisana u delu sintaksna pravila.
    • Char (ORDINARAN) - tekst. pod. dužine tačno jedan.
      Skup simbola je dat u ASCII tabeli znakova. Ima ih 256. To su cifre, slova, specijalni znaci i kontrolni karakteri.

    • String[b]   - niz od min 0 do max b znakova (tip CHAR).
      Ovaj tip je u stvari složen tip ali pošto se mnogo koristi a ima i dosta standardnih procedura i funkcija, često se u literaturi svrstava u proste tipove.
    • Operacija definisane nad ovim tipom je + (slepljivanje).

      Ako je [b] izostavljeno, tada se zauzima 1/4 KB memorije za ovaj podatak (256 Bajtova).


  5. Nabrojivi-korisnički (ORDINARAN)

    Nabrojivi tip predstavlja uređeni skup vrednosti, navođenjem identifikatora koji predstavljaju njihovu vrednost. Njihov redosled pri navođenju određuje njihove odnose.

    Sintaksa:

    (identifikator{, identifikator})

    Identifikatori u definiciji tipa postaju konstante ovog nabrojivog tipa.

    Prva konstanta ima ordinaran broj 0, druga 1 i tako dalje.

    type Boja = (Tref, Karo, Herc, Pik);

    Shodno ovoj deklaraciji, Herc je konstanta tipa boja. Standardna funkcija Ord daje ordinarnost nabrojive konstante. U ovom primeru:

    • Ord(Tref) = 0
    • Ord(Karo) = 1
    • Ord(Herc) = 2
    • i tako dalje.

  6. Intervalni (ORDINARAN)

    Sintaksa:

    [početna_vrednost..krajnja_vrednost]

    Početna_vrednost i krajnja_vrednost su konstante koje mogu biti nekog celobrojnog, nabrojivog - (korisničkog) ili tipa CHAR. Takođe prva konstanta mora biti manja od druge.

2. SLOŽENI

  1. SKUPOVI u PASCAL-u predstavljaju strukturu podataka.

    Sintaksa:

    SET OF tip_elemenata

    Dozvoljeni tipovi u paskalskom skupu su oni koji imaju max 256 elemenata, tačnije oni koji imaju ordinarne vrednosti elemenata od 0 do 255. Byte, Char te intervalni i nabrojivi tip, koji zadovoljavaju ovaj uslov.

    Operacije definisane nad ovim tipom su: +, -, *. Unija, razlika i presek skupova respektivno.

    Operacija pripadnosti skupu : IN, definisana je nad ovim tipom, ali za rezultat daje konstante tipa boolean.

    Članovi skupa (skupovna konstanta) pišu se u uglastim zagradama [], i moraju biti istog tipa.


  2. NIZOVI u PASCAL-u predstavljaju strukturu podataka.

    Sintaksa:

    ARRAY [tip_indeksa{, tip_indeksa}] OF tip_elemenata

    Dozvoljeni tipovi za indeks su samo ordinarni, no praktično se uvek upotrebljava intervalni tip.

    Tip elementa može biti bilo koji.

    Indeks u stvari predstavlja mesto elementa u nizu dok dimenzija niza zavisi od toga sa koliko mesta u nizu je određen elemenat niza.

    PRIMER 1: ARRAY [1..50] of string predstavlja niz koji ima 50 članova koji su tipa string, i koji se nalaze na mestima koja su označena brojevima od 1 do 50.

    PRIMER 2: ARRAY ['A'..'M'] of boolean predstavlja niz koji ima 13 članova koji su logičkog tipa, i koji se nalaze na mestima koja su označena velikim, slovima od 'A' do 'M'.

    PRIMER 3: Kada bi trebali da šahovsku tablu definišemo kao niz u kome će se nalaziti figure označene slovima, to bi u stvari bio dvodimenzionalni niz: ARRAY ['a'..'h', 1..8] of Char.

    Članovima niza se pristupa:

    ime_niza[index{, index}]

    Pri tome je

    • ime_niza - promenljiva tipa niz (ARRAY)
    • ime_niza[index] - promenljiva tipa tip_elementa
    • index - izraz koji predstavlja na kom mestu u nizu ime_niza se nalazi podatak.
    • broj indexa u [] predstavlja dimenziju niza i mora se slagati po broju, i po tipu sa onima u deklaraciji niza.

    Tip STRING je u stvari predefinisani tip niza:

    TYPE String = ARRAY [0..255] OF Char;

    Kada ovo znamo, možemo direktno pristupati znakovima u stringovima sa ime_stringa[i], gde i predstavlja poziciju karaktera u stringu. Ime_stringa[0] je znak čiji ordinarni broj predstavlja dužinu stringa tj. length(s) = ord(s[0]).


  3. SLOGOVI su jedina struktura podataka u PASCAL-u koja dozvoljava da njeni elementi budu razliŧitog tipa.

    Sintaksa:

    RECORD

       {ime_polja:tip_podatka};

    END;

    Dozvoljeni su svi tipovi za tip_podatka.

    Slog zauzima onoliko memorije u bloku podataka koliki je zbir svih njegovih elemenata.

    Pristup elementima sloga je:

    slogovna_promenljiva.ime_polja

    Ili uz pomoć naredbe WITH:

    WITH slogovna_promenljiva DO

       naredba;

    Najčešće je to složena naredba unutar koje više nije potrebno pisati ime slogovne promenljive, već samo ime_polja.


  4. Datoteke su jedina struktura podatak u turbo PASCAL-u koja ne zavisi od 64KB memorijskog bloka za podatke.

    Sintaksa:

    FILE OF tip_podatka

    Dozvoljeni su svi tipovi za tip_podatka.

    Datoteka ovog tipa je sastavljena od podataka koji su svi tipa tip_podatka. Prilikom čitanja ili upisivanja podataka iz/u datoteke, promenljiva koja se koristi u procedurama Read i Write mora biti tipa tip_podatka.

    Specijalan predefinisani tip Text predstavlja tip tekstualne datoteke.

    TYPE Text = FILE OF Char;

    Datoteka tipa Text je sastavljena od znakova. Prilikom čitanja ili upisivanja podataka iz/u datoteke važe isti principi kao i kod monitora, jedino što ovde nema ograničenja od 80 znakova u jednom redu.

    Prilikom čitanja, nakon procedure Read pointer ostaje na mestu iza učitanog podatka ili prelazi u novi red ako je učitan poslednji podatak iz rada. nakon procedure Readln, podatak se prebacuje u promenljivu iz liste parametara procedure (ako je to moguće) a pointer nakon toga prelazi u novi red.

3. POKAZIVAČKI

  1. Pokazivači - memorijske adrese

    Sintaksa:

    Pointer - predefinisani tip koji ne pokazuje na određen tip.

    Sintaksa:

    ^tip    - pokazivač na tip tip.

    Rezervisana reč nil je konstanta tipa pointer koja ne pokazuje ninašta.

Valid XHTML 1.0 Strict! | Site map | Kontakt | © 2007..2015 prof. Duško Obradović sa učenicima Gimnazije