GIMNAZIJA
AKTUELNO
Forum
SAJTOVI
ZANIMLJIVO
U turbo PASCAL-u nalazi se nekoliko standardnih procedura. Ova procedura nije potrebno dodatno najavljivati preko USES delklaracione naredbe za deklaraciju biblioteka.
write[ln][ ([uređaj] {[, ][izraz [:n[:m]]})];
- Ove procedure služe da se vrednost izraza navedenog kao parametar u () zagradama, prikaže na izlaznom uredjaju koji je naveden kao prvi parametar.
- Ako se oznaka uređaja izostavi, tada se podrazumeva monitor kao izlazni uređaj na kome će biti prikazana vrednost izraza.
- Vrednost izraza se ispisuje od mesta na kome se pointer trenutno nalazi, pa na desno dok ima mesta. kad mesta ponestane, automatski se prelazi u novi red.
- Ako se koristi write opcija, tada pointer nakon ispisa ostaje na prvom slobodnom mestu nadesno, a ako se koristi writeln tada se nakon ispisa pointer postavlja u novi, prazan red.
- :n je format ispisa izraza i označava da će vrednost izraza biti ispisana u dužini od n mesta počev od mesta na kom se pointer nalazi, poravnato s desne strane. Ako je ta vrednost kraća od n mesta, tada se ona popunjava blankovima (s leva).
- :m je broj decimala u ispisima decimalnih vrednosti. Mora se koristiti zajedno sa :n. Ako se :m izostavi prilikom ispisa decimalnog broja, tada se on prikazuje u eksponencijalnom obliku. Ako se :m pokuša upotrebiti prilikom ispisa izraza nekog drugog tipa, prevodilac će javiti grešku .
read[ln][ ([uređaj [, ]] [promenljiva] )];
- Ove procedure služe da se vrednost zabeležena na nekom spoljnom uređaju prenese u promenljivu navedenu parametar u () zagradama.
- Ako se oznaka uređaja izostavi, tada se podrazumeva tastatura kao ulazni izlazni uređaj sa koga će biti preuzet podatak.
- Procedura u stvari vrši naredbu dodele:
promenljiva := podatak sa ulaznog uređaja;
- Ako se koristi read opcija, tada pointer i nakon preuzimanja vrednosti ostaje na prvom slobodnom mestu nadesno, a ako se koristi readln tada se nakon preuzimanja vrednosti pointer postavlja u sledeći red.
Continue;
- Ova procedura prekida trenutnu iteraciju u naredbama ciklusa, i prelazi na sledeću.
Break;
- Ova procedura završava naredbu ciklusa u kome je upotrebljena, i prelazi se na sledeću naredbu (napuštanje ciklusa).
Exit;
- Ova procedura završava potprogram u kome je upotrebljena. Tok programa se vraća u blok (i na mesto) odakle je potprogram pozvan sa vrednostima koje su u tom trenutku važile.
Halt;
- Ova procedura završava izvršenje programa i vraća kontrolu operativnom sistemu.
inc(i[, n]);
- Ova procedura uvećava vrednost prvog argumenta za n. Ako je n izostavljeno, tada je vrednost za koju se uvećava jednaka 1 tj:
if postoji drugi parametar
then i := i + n
else i := i + 1;
- i je obavezno promenljiva i mora biti ordinarnog tipa. Ako je u pitanju tip CHAR, tada se u stvari povećava njegova ordinarna vrednost (za n odnosno 1).
- n je izraz tipa longint.
dec(i[, n]);
- Ova procedura umanjuje vrednost prvog argumenta za n. Ako je n izostavljeno, tada je vrednost za koju se umanjuje jednaka 1 tj:
if postoji drugi parametar
then i := i - n
else i := i - 1;
- i je obavezno promenljiva i mora biti ordinarnog tipa. Ako je u pitanju tip CHAR, tada se u stvari umanjuje njegova ordinarna vrednost (za n odnosno 1).
- n je izraz tipa longint.
delete(s, i, j);
- Ova procedura iseca deo stringa s, počev od mesta i u dužini od j znakova. Pri tome se preostali deo stringa slepljuje.
- PRIMER:
s:='Pera nije dobar ucenik.';
delete(s, 6, 2);
Nakon izvršenja ovog dela koda, vresnost promenljive s će biti 'Pera je dobar ucenik.'
- s je obavezno promenljiva tipa string
- i i j su izrazi tipa byte.
insert(ss, s, i);
- Ova procedura ubacuje podstring ss u string s, na mesto i.
- PRIMER:
s:='Pera peca.';
insert('po ceo dan ', s, 6);
Nakon izvršenja ovog dela koda, vresnost promenljive s će biti 'Pera po ceo dan peca.'
- ss je izraz tipa string.
- s je obavezno promenljiva tipa string
- i je izraz tipa byte.
str(x [:n[:m]], s);
- Ova procedura pretvara podatak aritmetičkog tipa u podatak tekstualnog tipa.
- PRIMER:
str(2/3, s);
str(2/3:10:2, t);
Nakon izvršenja ovog dela koda, vresnost promenljive s će biti '6.666666667E-01' a vrednost promenljive t će biti ' 0.67'
- x je izraz aritmetičkog tipa.
- s je obavezno promenljiva tipa string
- n i m kao i kod procedure write predstavljaju format ispisa izraza gde je n broj mesta u kojima će biti ispisana vrednost konvertovanog izrazaje poravnato s desne strane, a m u slučaju decimalnog izraya predstavlja broj decimala u ispisu.
val(s, x, i);
- Ova procedura pretvara podatak iz tekstualnog tipa u aritmetički tip. Ako je pretvaranje izvodljivo, tada je konvertovana vrednost u parametru x a vrednost kontrolnog parametra i nula. Ako nije uspelo pretvaranje, tada je kontrolnom parametru i kod greške (ceo broj različit od nule).
- PRIMER:
val('2/3', x, i);
str('0.67', y, j);
Nakon izvršenja ovog dela koda, vrednost promenljive x će ostati neprimenjena dok će i biti 2; vrednost promenljive y će biti 0.67 dok će j biti 0.
- x je obavezno promenljiva aritmetičkog tipa.
- s je izraz tipa string.
- i predstavlja kontrolnu promenljivu i obavezno je tipa integer.
Assign(f, s);
- Ova procedura povezuje stvarnu fizičku datoteku na jedinici spoljne memorije sa datotečnom promenljivom f. Nadalje f postaje ulazni odnosno izlazni uređaj i upotrebljava se u procedurama za otvaranje i zatvaranje datoteka, te procedurama Write[ln] i Read[ln] za čitanje ili prikaz podataka.
- f mora biti promenljiva tipa FILE OF ... ili Text.
- s je izraz tipa string koji mora biti oblika adrese datoteke u operativnom sistemu. u DOS-u je to:
[uređaj:][put]ime.nastavak
- uređaj je slovo engleske abecede i predstavlja jedinicu spoljne memorije OS. A: i B: su diskete, C: hard disk D:drugi hard disk ili CD itd. Ako se ovaj podatak izostavi, podrazumeva se da je reč o aktivnom uređaju.
- put je putanja od korena \ do direktorijuma (foldera) na kome se nalazi datoteka. Recimo \tp7\bin\primeri\ Ako se ovaj podatak izostavi podrazumeva se radni direktorijum.
- ime.nastavak je naziv datoteke. Ime može imati najviše 8 znakova a nastavak najviše 3 znaka (slovo, cifra, -, _, $).
PRIMER
Var Ulazna : text;
Begin
Assign(Ulazna, 'podaci.txt');
Ovo znači da će se nadalje u programu, svako obraćanje datotečnoj promenljivoj ulazna odnositi na datoteku podaci.txt koja se nalazi na radnom direktorijumu aktivnog urećaja, tj. tamo gde je i program.
Reset(f);
Ova procedura otvara datoteku na koju se odnosi f za čitanja podataka iz nje. Tek sada je moguće koristiti procedure Read ili Readln za čitanje podataka iz datoteke. Pridružena fizička datoteka mora postojati, inače će se generisati run-time error File not found.
Ako je datoteka bila otvorena, ona se automatski prvo zatvara a zatim se ponovo otvara sa pointerom koji se postavlja na početak datoteke.
Rewrite(f);
Ova procedura otvara datoteku na koju se odnosi f za upisivanje podataka u nju. Ako Pridružena fizička datoteka postoji, njen sadržaj se prazni, a ako ne postoji, tada se kreira prazna datoteka pod priduženim imenom. Tek sada je moguće koristiti procedure Write ili Writeln za upisivanje podataka u datoteku.
Ako je datoteka bila otvorena, ona se automatski prvo zatvara a zatim se ponovo kreira prazna sa pointerom koji se postavlja na početak (prazne) datoteke.
Append(f);
- f je promenljiva koja mora biti tipa Text. Ova procedura otvara datoteku na koju se odnosi f za upisivanje podataka u nju, s tim što se podaci nastavljaju upisivati na kraju datoteke, tj. nakon postojećih podataka u datoteci f. Pridružena fizička datoteka mora postojati inače će se generisati run-time error File not found.
Ako je datoteka bila otvorena, ona se automatski prvo zatvara a zatim se ponovo otvara sa pointerom koji se postavlja na kraj datoteke.
Truncate(f);
- f je promenljiva koja mora biti tipa FILE OF .... Datoteka mora biti otvorena. Brišu se svi elementi (slogovi) od trenutnog mesta pointera u datoteci, pa do kraja datoteke. Novi kraj datoteke eof je sada na mestu pointera.
Close(f);
Ova procedura služi za zatvaranje datoteke bez obzira na koji način je ona bila otvorena. Ako se datoteka ne zatvori iz programa, OS će je sam zatvoriti, ali se u tom slučaju gube svi podaci koji su bili u baferu.