GIMNAZIJA
AKTUELNO
Forum
SAJTOVI
ZANIMLJIVO
U programskim jezicima tipovi podataka definišu skup vrednosti i dozvoljenih operacija sa tim vrednostima.
U PASCALU, tipovi se dele na tri grupe:
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
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 /
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.
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).
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:
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.
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.
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
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]).
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.
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.
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.