A Pascal nyelv szerkezete


A PASCAL NYELV SZERKEZETE

A Pascal program nyelvezete erősen emlékeztet a programstruktúra mondatszerű leírására. Az angolul tudók a parancs- és utasításnevek ismeretében - a nyilvánvaló kötöttségekkel - szinte szabályos mondatokat fogalmazva írhatják meg programjaikat. Természetesen az angol nyelvet nem ismerők számára sem jelent problémát a programozás Pascal nyelven.
A Pascal nyelvű programozás ismertetését többféleképpen el lehet kezdeni. Ismertethetjük a program építőelemeit, a szimbólumokat, a foglalt szavakat, de talán célszerűbb, ha a program általános szerkezetével kezdjük.
Egy Pascal-program a következő fő részekből áll:

program ProgramNév;
uses szabványos és egyéb egységek;
PROGRAMFEJ
type adattípusok;
const globális konstansok;
var globális változók;
label globális címkék;
DEKLARÁCIÓS RÉSZ
function FüggvényNév1;
begin
...
end;

procedure EljárásNév1; begin ...
end;

procedure EljárásNév2;
begin
... end;
ELJÁRÁS- és FÜGGVÉNYBLOKK
BEGIN
...
END.
FŐPROGRAM

A programfej kötelezően a Program kulcsszóval kezdődik, amelyet a program neve (azonosítója) követ. Jó, ha programnévként olyan nevet adunk, ami utal a program feladatára, és célszerű a programot ezen a néven is menteni (hajlékony vagy merev-) lemezre. 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 (a feladat részekre bontásáról már volt szó korábban!). 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 PASCAL NYELV ÉPÍTŐELEMEI

A Pascal nyelven megírt program építőelemei, azaz legkisebb értelmezhető egységei a következők:

A programban szabadon használhatjuk a kis- és nagybetűket, a fordító nem tesz különbséget közöttük.

  1. Szimbólumok: A programban bizonyos szimbólumokat használunk. Gondoljunk csak a matematikai műveletek végzésére (műveleti jelek, relációs jelek, zárójelek stb.). A Pascal programokban használatos szimbólumokat tartalmazza az alábbi táblázat.
    +
    -
    *
    /
    =
    ;
    :
    ,
    <
    >
    <=
    >=
    < >
    '
    .
    ..
    ( )
    [ ]
    { }
    (* *)
    ^
    $
    @
    #
  2. Foglalt szavak: A Pascal nyelvnek vannak bizonyos fenntartott szavai, amit a rendszer használ. A foglalt szavakat, vagy kulcsszavakat a programozónak nem szabad használni a programban változók, konstansok, eljárások, vagy bármi más elnevezésére. A foglalt szavakat foglalja össze a következő táblázatban.
    and asm array begin
    case const constructor destructor
    div do downto else
    end exports file for
    function goto if implementation
    in inherited inline interface
    label library mod nil
    not object of or
    packed procedure program record
    repeat set shl shr
    string then to type
    unit until uses var
    while with xor _
  3. Azonosítók: Az azonosítók a program bizonyos elemeinek elnevezésére szolgálnak. Azonosítókat maga a Pascal is tartalmaz, pl. az Integer, a ReadLn, vagy a Write. Vannak azonban olyan elemek, amiket nekünk kell elnevezni, pl. a programnak nevet kell adni, az egyes változókat, konstansokat, eljárásokat is el kell keresztelni.
    Az azonosító ASCII karakterekből állhat (kis- és nagybetűk, számjegyek). Vannak azonban bizonyos megszorítások:

    • kis- és nagybetűket (ékezet nélkül!) tetszés szerint használhatunk;
    • számmal nem kezdődhet, de lehet benne;
    • kötőjel nem, de aláhúzásjel ( _ ) lehet benne;
    • szóköz, *, !, ? nem lehet;
    • azonos változó- vagy konstansnév nem szerepelhet kétszer (eltérő típus esetén sem);
    • fenntartott szó nem lehet;
    • hossza nem meghatározott (de csak az első 63 karakter számít).

    Az elmondottak értelmében jó nevek lehetnek a következők:
    Hki, Hallgatok, Folyo_Ev, Bbe1, Bbe2, ALMA
    Ezek azonban rosszak:
    2Bbe, Hallgatók, Folyó Év, 222, Egy*Egy, Gyere!
    Ahhoz, hogy a fordító tudja, hogy pl. a Hallgatok egy változónk azonosítója, a deklarációs részben közölni kell vele. Saját változóink nevét a típusmegadás és a változók felsorolása helyén adhatjuk meg (a type és a var kulcsszavak után). Az azonos típusú változókat vesszővel elválasztva lehet felsorolni, az utolsó után pedig pontosvesszőt kell tenni.

  4. Címkék: A címkéket Wirth az eredeti Pascal nyelvben nem is akarta szerepeltetni, mert szerinte nélküle is megoldható bármilyen programozási feladat. Mire is használjuk a címkéket? Arra, hogy a program bármely pontjáról elküldhetjük a vezérlést a program egy másik pontjára. A goto 10; utasítás segítségével például a program vezérlése az utasítás helyéről átugrik a 10: címkével megjelölt helyre (a címke után kettőspontot kell tenni!). A címke elhelyezkedhet a goto előtti vagy utáni programrészen. A címke nemcsak szám lehet, hanem szó is (pl. Ide, vagy Gyere). Ahhoz, hogy a fordító felismerje a goto utáni címkét, a deklarációs részben a label kulcsszó után kell elhelyezni. Ha több címke is van, akkor vesszővel elválasztva kell felsorolni őket, a végén pontosvesszővel.
  5. Konstansok: A konstans lehet szám- vagy szövegkonstans. Állandókat akkor adunk meg, ha egy bizonyos számértéket vagy szövegrészt a programban gyakran használunk. Ezeket az adatokat közvetlenül a programba (pl. képletbe, összefüggésbe) is be lehet írni, de ha esetleg a programfejlesztés során módosítani szükséges, akkor sokkal egyszerűbb állandóként meghatározni, s csak ezt az egy értéket javítani.
    Ilyen állandók lehetnek például az 'Osszesen:', 1456, 21E7, -273.16. A konstansokat a const kulcsszó után egyenlőségjelet használva ismertetjük, pl. így:
    sum = 'Osszesen:'; ,
    vagy
    T0abs = -273.16; .
  6. Elválasztó elemek: A Pascal program elválasztó szimbólumai a szóköz és a sorvég-jel. A szóköznek a programozás elemeinek felsorolásakor van jelentősége (a használatos szavak közé szóközt teszünk, ez természetes), a sorvég jel pedig általában pontosvessző (a program végén lévő end után pont). Ha egy programsor után nem teszünk pontosvesszőt, akkor a fordító a következő sort is az előző folytatásának fogja tekinteni.
    A forrásnyelvi program sorokból áll. Minden sor maximálisan 126 karaktert tartalmazhat, de ezt nem célszerű kihasználni. A képernyőn egyébként is maximálisan csak 80 karakter fér el (sőt a szövegszerkesztő ablak kerete miatt még kevesebb). A sor végét pontosvesszővel jelezzük a fordító számára.
    A program adott helyein megjegyzéseket helyezhetünk el, ha indokolt. A megjegyzéseket kapcsos zárójelek közé tesszük, de használhatjuk a (* és *) párokat is. Ilyen megjegyzés lehet például az, hogy
    {Az adatbeolvasas kezdete} ,
    vagy
    (* Az n szerinti ciklus vege *) .


Egy szintet vissza, vagy vissza a főmenübe.