Eljárás

A Programozás Wiki wikiből

Bevezető[szerkesztés]

Az eljárás egy olyan alprogram, amely hatását paramétereinek, környezetének vagy mindkettőnek megváltoztatásával fejti ki. Adattranszformációt hajt végre, vagy tevékenységet végez. Eljárást akkor készítünk amikor egy részfeladatot többször végre kell hajtani a program különböző részein. Az eljárások használatának igazi előnye akkor jelentkezik, amikor nagyobb programokban egy-egy utasítássorozatot jó néhányszor meg kell hívni. Az eljárások használata áttekinthetőbbé teszik a programot, és az esetleges hibák javítása is egyetlen helyen elvégezhető, mégpedig az eljárás deklarált helyén.


Hívása[szerkesztés]

Utasításszerűen, végrehajtandó utasításnak tekinthető. A program szövegébe bárhol elhelyezhető eljáráshívás, ahol végrehajtandó utasítás lehet. Egyes programozási nyelvekben külön alapszóval hívható. Általában CALL. Gyakorlatban így nézhet ki:

 CALL eljárás_név[(aktualis_parameterlista)]

más nyelvekben nincs rá foglalt szó.


Befejezése[szerkesztés]

  • Az utasítások elfogynak, a vezérlést visszaadja a hívást követő utasításra, amely lehet:
  1. Külön utasítás, általában ez az utasítás a RETURN. Bárhol kiadható, a program a hívást követő utasításra tér vissza. Szabályos befejezés. Érdekességként megemlíthető, hogy a GOTO-val is ki lehet lépni, de nem szabályos. Ilyenkor a megadott címkére kerül a vezérlés, ha a címke létezik. Veszélyes, mert a közbensőkkel bármi történhet, főleg ha egy hívási láncban vagyunk.
  2. Befejeztető utasításokkal vagy eljárásokkal. A teljes programot befejeztetik. Nem teljesen szabályosak, de nem is veszélyesek. Például:HALT, STOP


Eljárás példa[szerkesztés]

Feladat:Írassuk ki az eljárás aktuális paraméterének értékét.

Program Ejaras_pelda;
Uses Crt;
Var i:Byte;
{eljárás deklarációja}
Procedure Eljaras(Const szam:Byte);
Begin
  WriteLn('Az aktualis parameter erteke: ', szam);
End;
Begin
  Randomize;
  For i:=1 To 100 Do Begin
    Eljaras(Random(100)); {hívás}
  End;
  ReadLn;
End.


Kapcsolódó témakörök[szerkesztés]