Ami a saját eljárások, Pascal, cikkek, programozás - programozás C, Delphi, C #

Azt már régóta ismeri a koncepció az eljárások és függvények a Pascal nyelv, valamint a kettő közötti különbséget. Azonban a mai napig, én nem beszélni, hogyan lehet létrehozni saját funkciókat és eljárásokat. Miért kell? Tegyük fel magunknak ezt a kérdést, és a Centauri

Kezdeni, próbálja meg magunkat a feladat. Tegyük fel, hogy szeretne írni egy programot, amely meghatározható, gyakran ismétli a műveletsornak. Például, hozzátéve, két szám.

Nézzük most megfogalmazni a problémát a következő: írj egy programot, amely növeli a két számot. Továbbá kéri-e vagy sem, hogy ismételje meg. Ha a válasz igenlő, akkor ez újra megismétlődik. Felhívjuk figyelmét, hogy adjunk számot, nem fogunk egyszer, talán kétszer vagy háromszor, vagy több. Itt lenne nagyon könnyű felhívni a kódrészletet, amely felelős a hozzá, és hívja meg, amikor meg kell - vagyis nem kell írni, hogy minden alkalommal újra. Itt érkezünk el a meghatározására irányuló eljárás (szubrutin) Pascal.

Mi a szubrutin? Alprogram (eljárás, függvény) - egy modern szét része a programnak, amelyre azután érhető el bárhol a főprogram (hívják). Írja és használata rutin nagyon egyszerű. Ebben az esetben, ez lesz a következő tulajdonságokkal rendelkezik:

  • Alprogram - ez valójában egy külön program. Ez lehet saját változók, címkék, állandók, valamint az al-rutinok.
  • Tudja használni a változókat, amelyek közösek az összes program (globális változók), figyelembe véve azt a tényt, hogy már leírták a fő programot, amíg az alprogramot.
  • Ha a rutin - egy függvény, hanem fel lehet használni a típustervek, az a paraméter az eljárást rendelt változókat, stb azaz, hogy mindazokat a funkciókat a funkciók.
  • Ez a fő dolog, ami érinti az adatok felhasználása szubrutinokban. Most lássuk, hogyan vannak a programban leírt. Kezdjük az eljárásokat.

    Létrehozása az eljárások

    Létrehozott egy olyan eljárást, Pascal a következő elemeket tartalmazza:

    • Hivatalos szó eljárás;

  • A helyes név, amely alatt fogják használni a programban. Ez után jön a hivatalos szó eljárási
  • Az átadott paramétereknek a program (nem kötelező).
  • Egyéni panelek var, const, címke (opcionális).
  • Saját szakasz kezdődik - vége. és a végén - ez a vége a rutin. Miután mindig tesz egy pontosvessző „;”

  • Ezen belül a szerkezet - minden eleme a nyelv: hurkok, összehasonlítások, további blokkok kezd - vége.

    Például írjuk a fenti program (a két új szám). Jár el a következő módon:

    1. Mielőtt a fő program lesz olyan eljárás, amelynek minőségi paramétereket kap két számot. Ebben az eljárásban, akkor:
    1. Számok továbbított paraméterek adunk egymáshoz;
  • Az így kapott érték jelenik meg a képernyőn;
  • Meglesz Ismétlés - ig. Bent a nyomvonalat. tevékenységek:
    1. Megkereső 1. nap;
  • Megkereső 2. szám;
  • Ezt hívjuk mi eljárás, átadva paraméterként a két szám;
  • A ciklust addig ismételjük, amíg a válasz „IGEN”.
  • Íme egy egyszerű programot. Source Code:

    Most nézzük meg, hogyan lehet létrehozni egy eljárást.

    Az első helyen, a hivatalos szó posmorite eljárás. Ez a rutin, ami a mi esetünkben az eljárás (ne felejtsük, vannak más funkciók). Ezután jön a neve az eljárás - Add. ezen a néven utalunk rá a programban.

    A következő lépés - a meghatározása a paraméterek át az eljárásnak. Ezek zárójelben neve mellett, és a következő formában:

    Ebben a változatban vannak olyan jellemzők, amelyek sorolok:

    1. A lista a változók, paraméterek elhagyható - abban az esetben, hogy nem igényel rutin:
  • Options bármilyen szám lehet, és bármilyen típusú. Aztán két csoportra oszthatók az egyes típusok és elválasztva:

    Eljárás hozzáadása (A, B: egész; C: Szó; B: Boole; S: String);

    Miután leírta az eljárást nevet és egy listát a paraméterei, meg lehet kezdeni a létrehozását az eljárást. Ne felejtsük el - az eljárás egy kis program, amely nem különbözik az alapvető tulajdonságaiban. Ebben a példában azt látja, hogy azt a saját szakaszán var, az építkezés megkezdéséhez - vége. Összefoglalva, ki eljárásokat a regisztrációs egy sablont, amelyet használni, amíg nem emlékszik a szintaxis.

    eljárás_neve (-list: típus);

    Mint látható, minden nagyon egyszerű. Most lássuk, hogyan írhat egy funkció. Ahhoz, hogy ezt elérjük, módosítsa a programunk, és tegye meg a problémát az alábbiak szerint:

    Írj egy függvényt, amely visszaadja a munkából az összeg két elem. Az összes többi körülmény azonos. Kezdjük?

    Függvény írásakor elsősorban érdemes felidézni a célja -, hogy visszatérjen a munkából meg értékek. A mi esetünkben - ez az összeg a két szám a paraméterként átadott. Ami a paraméterek - mind ugyanazokkal a tulajdonságokkal, mint az eljárások. A fő különbség a funkciók az eljárások - ez a funkció szót funkció. azaz a szó eljárás és függvény visszatérési értéke.

    Az utóbbi útján valósul meg egy egyszerű hozzárendelése egy értéket a funkció nevét. Mi módosítja a fenti program:

    Ügyeljen arra, hogy a három fő pontot használható funkciók.

    1. A funkció leírásában kapják meg típusát, azaz, adja meg, milyen visszatérési érték. Ez azt jelenti, hogy ha adott egy függvény Integer. akkor lehet rendelni csak integer kívül - a program használata közben, akkor azt csak olyan helyzetekben lehetővé teszi, hogy manipulálják az Integer.

    2. A visszatérési értéket adunk egy egyszerű feladat, hogy a függvény neve benne.

    3. A szabványos Pascal funkciók saját felhasználható eljárások:

    Write (Add (N1, N2)); - nyomtasson a visszatérési értéke az Új funkciót;

    És típustervek:

    Ha hozzáadása (N1, N2)> 100, akkor írása ( 'az összeg több mint 100!');

    Tegyük fel, a stringváltozó StrNumber rendelve egy bizonyos értéket, mint egy sorszám, azaz StrNumber: = '231.456'; Ahogy írva a Count változó típusú egész eredményt adatok összegzése számok?

    Ebben a készítményben a probléma a „szám” kell felváltani „számok”, különben a probléma nincs értelme, mert a sorban egy számot, a módosított megfogalmazását problémádra van megoldás:

    writeln ( 'azonos mennyiségű', összeg);

    Check on-line itt nem lesz megfelelő.

    2. kérdés Van egy ilyen eljárások a FindFirst és FindNext. Meg kell szervezni a keresést, például az összes archivált fájlokat (legyen az ARJ, RAR és ZIP), nem csak az aktuális könyvtárban, szerepel az egyik operandus, hanem minden alkönyvtárat a megadott könyvtárban. Valami nem értem, hogyan kell csinálni. Ítélve az NC, VC és a FAR - már régóta döntött a kihívást. Mondd meg, hol található a standard oldat vagy az egyik lehetséges?

    A dolgok nem olyan egyszerű, itt kell alkalmazni rekkursivny fa bejárás. Tedd el a kívánt módosításokat, és nézi az egészség.

    Eljárás FileFind (Dir, FindName PathStr.);