Turbo Pascal
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)
Kérjük, vegye figyelembe: a rendszeres kapcsolatok és funkciók SIN1 COS1 eljárás PRINTFUNC kell összeállítani azzal az elvárással, egy távoli emlék modell szerint. 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