Az illusztrált önkormányzási kézikönyv pascal on-line

Online bemutató Pascal

Eljárási típusok. Paraméterek - függvények és paraméterek - eljárások.

Eljárási típusok - ez a Borland cég újítása (a standard Pascal-ban nincs ilyen típus). E típusok fő célja, hogy a programozó rugalmas eszközt biztosítson a funkciók és eljárások átvitelére, mint tényleges paraméterek más eljárások és funkciók elérésére.

Prod = Eljárás (a, b, c: Real; var d: Real);

Proc2 = Eljárás (var a, b);

Func1 = Funkció: String;

Func2 = Funkció (var s: String): Real;

Amint a fenti példákból látható, két eljárási típus létezik: típus-eljárás és típusfüggvény.

A 8.3. Példában bemutatjuk a folyamatok eljuttatásának mechanizmusát, mint tényleges hívási paramétereket. A program két funkciót tartalmazó táblázatot jelenít meg:

sin1 (x) = (sin (x) + 1) * exp (-x)

cos1 (x) = (cos (x) + 1) * exp (-x).

A számítási és nyomtatási ezeket a funkciókat hajtják végre az eljárást PRINTFUNC, amely paraméterként adja át a pozíció száma N a képernyőn, ahol a következő kimeneti jelenik meg (ezen keresztül kimeneti paraméter végre két oszlop) és a funkciót.

Func = Funkció (x: Real). Valódi;

Procedure PrintFunc (XPos: Byte; F: Func);

PrintFunc (40, cos1)

Megjegyzés: a SIN1 és a COS1 funkciók PRINTFUNC eljárással történő helyes kapcsolatának megteremtéséhez azokat egy hosszú távú memóriamodell elvárásainak megfelelően kell összeállítani. Ezért a szabványos FAR direktívák közvetlenül a programfejlécek után kerülnek a programba. Ebben a módban minden olyan eljárást (függvényt) kell összeállítani, amelyet tényleges hívási paraméterként továbbítanak.

A Turbo Pascal standard eljárásait (funkcióit) nem lehet a megfontolt módszerrel továbbítani.

Az eljárási típusváltozókat a programban lehet bejelenteni, például az alábbiak szerint:

o. a Proc1 tömbje [1..N];

Az eljárási típusváltozók engedélyezhetik a megfelelő alprogramok nevét értékként. A hozzárendelés után a változó neve szinonímul a szubrutin nevével, például:

Proc = Eljárás (n: szó; var a: Byte);

ProcVar: Proc; x, y. byte;

Eljárás Procl (x: szó; var y: Byte); messzire;

ha x> 255 akkor

Kapcsolódó cikkek