Hirdetés

A PASCAL program blokk-szerkezete.

3 perc olvasás
A PASCAL program blokk-szerkezete.

A PASCAL program blokk-szerkezete, a változók érvényességi köre, globális és lokális változók.

Hirdetés

Szokás a deklarációs és a végrehajtási részt együttesen blokknak is nevezni. Ilyenformán úgy is mondhatjuk,hogy a programok és az alprogramok fejbõl és blokkokból állnak, a blokkok pedig deklarációs és utasítási részekbõl.

A programblokk a deklarációs résszel kezdõdik, ahol minden, a blokk szempontjából lokális változót deklarálni kell. Ez azt jelenti, hogy az itt deklarált változók a blokkon belül, valamint az adott blokkot tartalmazó valamennyi blokkon belül- és csakis ezeken belül használhatók. Az ilyen változókat az adott blokkra nézve lokális változóknak nevezzük.
Azokat a változókat pedig, amelyek egy olyan külsô blokkban lettek deklarálva, mely tartalmazza az adott blokkot, az adott blokkra nézve globális változóknak nevezzük.

A végrehajtási rész tartalmazza a szûkebb értelemben vett utasítások sorozatát. A program sorai és utasításai különbözô fogalmakat jelentenek. Bár az editor egy sorba maximum 4000 karaktert enged írni, a forrásprogram egy sora legfeljebb 127 karaktert tartalmazhat, különben szintaktikai hibát vétünk.

Globális változók: az egész programra vonatkozó változók, melyek a program elején születnek és a program végéig élnek. A memoriát a program futása során végig terhelik!

Hirdetés

Lokális változók: csak egy adott alprogramban, vagy egy adott unit-ban élnek. A program során csak erre az idôre terhelik a memóriát.

A TP-ban minden változó valamilyen tipusú. A tipusok között vannak a redszerbe beépített tipusok, valamint mi magunk is létrehozhatunk tipusokat.
A változók deklarációját a var szó vezeti be.

A változók deklarálása csak az adott blokkon belül, valamint minden, az adott blokkon belül lévô blokkban érvényes. Ha a változót újra deklaráljuk, a külsô blokkbeli deklarációtól eltérôen, akkor a változó a belsô blokkban az új deklarációnak megfelelô tipust veszi fel, új, lokális változóként viselkedik. A belsô blokk befejezésével, a külsô blokkba visszatérve, a változó ismét a külsô blokkban meghatározott deklarációnak megfelelô lesz.
Ha nem deklaráljuk újra a változót a belsô blokkban is érvényes, a fõprogramban deklarált, változó lesz. A föprogramban deklarált, globális, statikus változók az adatszegmensben (D Seg) a lokális változók a stack szegmensben (S Seg) a konstansok pedig a kódszegmensben (C Seg) vannak. Ez azt jelenti, hogy szegmenscímük rendre a DS, BP, CS regiszterekben van, offsetjük pedig ezekhez relatív.


Iratkozz fel hírlevelünkre

Értesülj elsőnek a legújabb minőségi tételekről, jegyzetekről és az oldal új funkcióiról!

Sikeres feliratkozás

Valami hiba történt!