kategória | ||||||||||
|
||||||||||
|
||
A Pascal program felépítése, szerkezete. Adattípusok és deklarációk.
A Pascal nyelv szerkezete
Egy Pascal-program a következő fő részekből áll:
programfej,
deklarációs rész,
az eljárások és a függvények csoportja,
főprogram.
program
ProgramNév; |
PROGRAMFEJ |
type
adattípusok; |
DEKLARÁCIÓS RÉSZ |
function
FüggvényNév1; |
ELJÁRÁS- és FÜGGVÉNYBLOKK |
BEGIN |
FŐPROGRAM 828h75i |
A programfej kötelezően a Program kulcsszóval kezdődik, amelyet a program neve (azonosítója) követ. Mentéskor a program automatikusan .PAS kiterjesztést kap, ezt külön nem is kell megadnunk. A fájlnév-adás kötöttségei egyébként ugyanazok, mint a DOS-ban (8 angol karakter stb.). A programfejben kell megnevezni a uses kulcsszó után azokat a rendszerhez tartozó egységeket (unit-okat), amit a programírás megkövetel. Az egységekről a későbbiekben még lesz szó, most csak annyit, hogy ezekben helyezkednek el - megfelelő csoportosításban - a Turbo Pascal parancsai, utasításai. Ilyen unit-okat természetesen a programozó is készíthet, de ez inkább csak a nagy méretű programok esetén indokolt.
A deklarációs részben azt adjuk meg, hogy milyen típusú változókkal fogunk dolgozni (type), az adott típusú változóknak milyen nevet adunk (var), milyen állandókat (konstansokat) szerepeltetünk a programban (const), valamint itt kell megadni a programban alkalmazott címkéket is (label). Mindezek a jellemzők globális jellegűek, ami azt jelenti, hogy érvényességi tartományuk az egész program. Ebből az is következik, hogy ugyanezeknek megvannak a lokális megfelelőik is, amelyek a programnak csak egy meghatározott részére érvényesek.
Az eljárás- és függvényblokk azokat az eljárásokat és függvényeket tartalmazza, amelyeket a programtervezés során hoztunk létre. Az eljárásokban azokat a feladatrészeket helyezzük el, amelyek logikailag, funkcionálisan egy egységet képeznek. Egyszerű esetben például az egyik eljárásban az adatbevitelt szerepeltethetjük, egy másikban az adatokkal való manipulálást, egy harmadikban pedig az eredmények kiíratását.
Az eljárás mindig a procedure kulcsszóval kezdődik, amit a neve követ, utána opcionálisan a paraméterek, a sort pedig pontosvesszővel zárjuk le. A végrehajtandó parancssorokat a begin (kezdés) után soroljuk fel, az eljárás végét pedig az end (vége) szóval jelöljük, utána pedig pontosvesszőt teszünk (a begin után soha nem teszünk pontosvesszőt!). Egyébként a parancssorokat is mindig a pontosvesszővel kell lezárni. Hiába írunk külön sorba valamit, ha nem teszünk közéjük pontosvesszőt, a fordító egy sornak fogja tekinteni az egészet. A függvény felépítése nagyjából hasonló az eljáráshoz, csak function kulcsszóval kezdődik, és mindig van paramétere.
A főprogram szintén a begin és az end kulcsszavak között helyezkedik el, de itt az end után pontot teszünk, ezzel jelezzük, hogy vége a programnak. A főprogram a programunk végrehajtó része. Itt hivatkozunk azokra az eljárásokra és függvényekre, amelyek az eljárás- és függvényblokkban helyezkednek el. Például megnevezzük az adatbevitelért felelős eljárást, majd a feldolgozó eljárást, végül pedig a kiírató eljárást.
A nyelv előírja, hogy változókat tulajdonságaik szerint csoportosítsuk, azaz típusokba soroljuk őket Minden változót egy (és csakis egy) típusba sorolhatunk. A típus meghatározza a változóhoz rendelt értékek halmazát.
Azokat az adattípusokat melyeknek nincs struktúrájuk, (szerkezet nélküliek, skalár típusok) egyszerű adattípusoknak nevezzük. Ezek az egész, valós, karakter, logikai, felsorolt és az intervallum típusok.
Egész típusok |
||
Típusnév |
Helyfoglalás |
Értelmezési tartomány |
Byte |
1 (8 bit) |
|
Shortint |
1 (8 bit) |
|
Word |
2 (16 bit) |
|
Integer |
2 (16 bit) |
|
Longint |
4 (32 bit) |
|
Comp |
|
|
Az egész típusok sorszámozott típusok, értékeik be vannak sorszámozva. Minden értékhez egy jól meghatározott sorszám tarozik. Egy egész típusú értéksorszáma mindig maga a szám |
||
Valós típusok |
||
Típusnév |
Helyfoglalás |
Pontosság (tizedes jegy) |
Single |
|
|
Real |
|
|
Double |
|
|
Extended |
|
|
Karakter típus: (CHAR)
Egy bármilyen ASCII kódú karakter tárolható. A karakter típusú változónak értékül adhatunk karakter konstanst és karakter típusú változót is.
Var
c1:=char;
c2:='A';
c3:=c1;
Logikai típus: (BOOLEAN)
Két lehetséges értéke van TRUE és FALS vagy igaz vagy, hamis. Ezek az értékek konstansként is megadhatók.
String típus: (STRING)
Ez tulajdonképpen egy karakter sorozat melynek bármilyen ASCII karakter sz eleme lehet(#0-#255ig) A karakter sorozat elvileg bármilyen hosszú lehet , a változó számára azonban előre le kell foglalni a megfelelő memória helyet.
Felsorolás tipus:
Az ilyen típus úgy adható meg, hogy értékeit felsoroljuk. Csak azonositók adhatók meg, csak olynokat, amilyenek eddig még nem szerpeltek a programban. Ékezetes betű nem szerepelhet a felsorolt nevek közt, ezeknek az azonositóknak a deklarációs részben egyedinek kell lenniük. Pl:)Nem lehet tulipan nevű változó és nem szerepelhet két felsorolásban. Felsorolt tipusú változó nem szerepelhet READ ill WRITE utasitásban, azt sem kiirni sem beolvasni nem lehet. Az értékeket zárójelben, egymástól vesszővel elválasztva soroljuk fel:
Var
Virag:=(tulipan, ibolya, rozsa);
Nyelv:=(magyar, nemet, angol)
Intervallum típus:
A programozó adja meg egy már létező sorszámozott típus intervallumaként. Az intervallum alsó és felső határát kell megadni.
Var
hossz :28..31;
betu :'o'..'9'
munkanap :hetfo..pentek
Definiált konstans:
a deklarációs részben előre definiálhatunk konstansokat. A definíciót a CONST kulcsszó vezeti be. Minden konstansnak van egy azonosítója és egy értéke, mely érték az egész program során állandó lesz. A konstans típusát értéke egyértelműen meghatározza. Ezeket a konstansokat a fordító a megfelelő helyre behelyettesíti, csak a fordítás idejére azonosítja az értéket az a memóriát nem foglal.
CONST
ev:=1994;
kamat:=24
Definiált típus:
A program deklarációs részében előre definiálhatunk típusokat. A definíciót a TYPE kulcsszó vezeti be. Az előre definiált típus-azonosítókat később változók deklarálására használjuk.
TYPE
tnap=(hetfo,kedd,szerda,csotortok);
evtip=1994..2000
Var
nap:tnap;
ev:evtip;
Típusos konstansok:
Ezek kezdő értékkel rendelkező változók.
CONST
ev:word=1994;
Az ev egy word típusú változó, értéke a program futása során változhat, indulási értéke 1994.
Találat: 2055