|
PASCAL
Vyhradené slovo
and, array, begin, case, const, div, downto, do, else, end, file, for,
function, goto, if, in, label, mod, nil, not, of, or, packed,
procedure, record, repeat, set, then, to, type, until, var, while, with
... a mnoho iných (v dokumentácii príslušného kompilátora)
Organizácia
programu
program meno programu; hlavička programu
deklarácia návestí; {label} časť deklarácií a definícií
definícia konštánt; {const}
definícia typov; {type}
deklarácia premenných; {var}
deklarácia procedúr; {procedure}
deklarácia funkcií; {function}
begin
príkaz 1; príkazová časť
príkaz 2;
...
príkaz N;
end.
Údajové typy
jednoduché typy
ordinálne typy {prípustné funkcie succ, pred, ord}
vymenovaný typ {vyžaduje samostatnú definíciu}
typ interval {vyžaduje samostatnú definíciu}
integer
boolean
char
neordinálne typy
real
štruktúrované typy {vyžaduje samostatnú
definíciu}
množina
pole
záznam
súbor
typ ukazovateľ {umožňuje prácu s
dynamickými štruktúrami}
boolean
meno : boolean; {false, true} {and, or, not, <, <=, =, <>,
>=, >}
integer
meno : integer; {celé číslo x} {+, -, *, div, mod} {<, <=, =,
<>, >=, >}
štandardné funkcie
abs(x) ; i-i absolutna hodnota x
sqr(x) ; i-idruhá mocnina x
trunc(x); r-icelá časť reálneho čísla x
round(x); r-izaokrúhlené reálne číslo x
odd(x); i-b true, ak x je párne, inak false
succ(x); i-ix+1
pred(x); i-ix-1
ord(x); i-ix
real
meno : real; {reálne číslo x} {+, -, *, /} {<, <=, =, <>,
>=, >}
štandardné funkcie
abs(x); i-i absolutna hodnota x
sqr(x); i-idruhá mocnina x
sin(x); r/i-iv radiánoch
cos(x); r/i-iv radiánoch
arctan(x); r/i-iv radiánoch
ln(x); r/i-iprirodzený lodaritmus
exp(x); r/i-iexponenciálna funkcia {é na ixtú}
sqrt(x); r/i-idruhá odmocnina
trunc(x); r-icelá časť reálneho čísla x
round(x); r-izaokrúhlené reálne číslo x
char
meno : char; {znak x} {<, <=, =, <>, >=, >}
štandardné funkcie
ord(x); c-oporadové i číslo znaku x v danej množine {začína nulou}
chr(i); o-cznak, kt. hodnota ordinálneho čísla je i
succ(x) ; c-o
pred(x) ; c-o
typ definovaný vymenovaním hodnôt
type
meno = (pol1,pol2,pol3,...,polN);
príklad: farba = (zelen,gula,cerven,zalud);
den = (pondelok,utorok,streda,stvrtok,piatok,sobota,nedela);
štandardné funkcie {succ, pred, ord}
príklad: succ(piatok); sobota
pred(zalud); cerven
ord(zelen); 0
ord(streda); 2
typ definovaný pomocou intervalu
type
meno = min..max;
príklad: pismeno = ˘A˘..˘Z˘; interval z char
index = 1..99; interval z integer
{Ak už je definovaný typ vymenovaním hodnôt, možno tento využiť.}
príklad: fuckday = pondelok..piatok;
Konštanty a
Premenné
const
meno = hodnota;
var
meno1,meno2,...,menoN : údajový typ;
{Vyhradené slovo const, var, type, ... v časti deklarácii a definícii
sa uvádza len raz!}
Jednoduché príkazy
premenná:=výraz
read(parameter)
readln(parameter )
write(parameter )
writeln(parameter )
Štruktúrované príkazy
Zložený príkaz je vhodné "blokovať" medzi begin a end.
Podmienené príkazy
· Binárne vetvenie algoritmu
if podmienka
then
blok príkazov
else
blok príkazov
· Viacnásobné vetvenie algoritmu
case premenná of
hodnota1:blok príkazov
hodnota2:blok príkazov
...
hodnotaN:blok príkazov
Príkazy cyklu
· Príkaz while (nemusí sa vykonať ani raz,
pokiaľ je splnená podmienka)
while podmienka
do blok príkazov
· Príkaz repeat (vykoná sa aspoň raz)
repeat
blok príkazov
until podmienka
· Príkaz for (počet opakovaní je vopred
známy)
for i:=začiatočná_hod to koncová_hod do blok príkazov
alebo
for i:=koncová_hod downto začiatočná_hod do blok príkazov
Štruktúrované typy údajov
· Typ pole
type pole=array[1..10] of integer;
{jednorozmerné pole s indexovanými premennými pole[1] atď.}
type matica=array[1..8] of array[1..8] of array[1..8] of real;
{trojrozmerné pole s indexovanými premennými matica[1,1,1] atď., možno
zapísať aj:}
type matica=array[1..8,1..8,1..8] of real;
· Zhustený typ pole
pred slovo array vložíme slovo packed
v programe využívame príkazy:
pack(pole,i,packedpole);
unpack(packedpole,pole,i);
· Typ záznam (heterogénna kompozícia prvkov)
type záznam=record
den:1..31;
mesiac:(januar,februar,marec);
rok:1900..2100;
end
Sprístupnenie zložiek premennej typu záznam umožňuje aj príkaz with:
with zoznam_premenných_typu_záznam do blok príkazov
· Typ množina
Hodnotami množiny sú opäť množiny, vytvárajú sa z prvkov základu, bázy.
type báza=(cervena, zlta, cierna);
farba=set of báza;
· Typ súbor (postupnosť prvkov rovnakého
typu)
type student=record
...
end
kartoteka=file of student
· Typ ukazovateľ (dynamická údajová
štruktúra, premenná)
type U=@T
Do množiny hodnôt typu ukazovateľ patrí vždy aj hodnota nil.
Procedúry a funkcie
deklarácia:
procedure meno;
begin
postupnosť príkazov
end
alebo
procedure meno(vstupy; var vystupy:typ)
begin
postupnosť príkazov
end
function meno;
begin
postupnosť príkazov
meno:=výraz // ! ! !
postupnosť príkazov
end
Bloková
štruktúra programu
Z hľadiska hierarchie blokov možno objekty rozdeliť na lokálne a
globálne. Objekt je lokálny pre blok, v kt. bol deklarovaný, a globálny
pre všetky hierarchicky nižšie bloky. Lokálny objekt "zatieňuje"
globálny.
Pri usporiadaní procedúr, ktoré sa volajú navzájom treba použiť neúplnú
deklaráciu procedúry s direktívou forward.
|