Eljárások és függvények

Hasonló dokumentumok
Programozás alapjai. 7. előadás

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

Gregorics Tibor Modularizált programok C++ nyelvi elemei 1

A C programozási nyelv II. Utasítások. A függvény.

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás

Bevezetés a programozásba. 8. Előadás: Függvények 2.

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

Programstrukturáló utasítások

Eljárások, függvények

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

Rekurzió. Működése, programtranszformációk. Programozás II. előadás. Szénási Sándor.

Gregorics Tibor Tanácsok modularizált programok készítéséhez 1

Alprogramok, paraméterátadás

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

A programozás alapjai

A programozás alapjai 1 Rekurzió

Algoritmizálás és adatmodellezés tanítása 1. előadás

Programozás II. előadás

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Matematikai logika. Jegyzet. Összeállította: Faludi Anita 2011.

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Alkalmazott Modul III 3. előadás. Procedurális programozás: alprogramok, kivételkezelés

Komputeralgebra Rendszerek

Webprogramozás szakkör

Haladó rendezések. PPT 2007/2008 tavasz.

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Bevezetés a programozásba I.

OOP #14 (referencia-elv)

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Occam 1. Készítette: Szabó Éva

Irányítástechnika Elıadás. PLC-k programozása

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Bevezetés a C++ programozási nyelvbe

Alkalmazott Modul III 3. előadás. Procedurális programozás: alprogramok, kivételkezelés. Alprogramok Szükségessége

Kivételek, kivételkezelés a C++ nyelvben

Rekurzió. Dr. Iványi Péter

Programozás I. 5. Előadás: Függvények

Podoski Péter és Zabb László

8. gyakorlat Pointerek, dinamikus memóriakezelés

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

OOP. Alapelvek Elek Tibor

Programozási nyelvek Java

Objektumorientált Programozás VI.

Informatika terméktervezőknek

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

Matematika 8. osztály

A C programozási nyelv IV. Deklaráció és definíció

Programozási nyelvek Java

Programozás Minta programterv a 1. házi feladathoz 1.

Globális operátor overloading

Maximum kiválasztás tömbben

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Osztályok. 4. gyakorlat

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok

Java II. I A Java programozási nyelv alapelemei

Kivételkezelés a C++ nyelvben Bevezetés

WinSarc Irodai Vezérlőpult: - [Ügyfelek nyilvántartása]

A PhysioBank adatmegjelenítő szoftvereinek hatékonysága

Szkriptnyelvek. 1. UNIX shell

C memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre.

Bevezetés a programozásba. 9. Előadás: Rekordok

Nagy HF u tmutato 2011/2012 II. fe le v

Kiegészítő előadás. Vizsgabemutató VBA. Dr. Kallós Gábor, Fehérvári Arnold, Pusztai Pál Krankovits Melinda. Széchenyi István Egyetem

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Bevezetés a programozásba Előadás: A const

Programozás alapjai 8.Gy: Program struktúra

Objektumelvű programozás

Java programozási nyelv 9. rész Kivételkezelés

ELTE SAP Excellence Center Oktatóanyag 1

Programozási nyelvek (ADA)

Programozási módszertan

4. GYAKORLAT. Rövid elméleti összefoglaló. Írjunk függvényt a téglalap területének kiszámítására: Visual Basic függvény

A JavaScript főbb tulajdonságai

és az instanceof operátor

Interfészek. PPT 2007/2008 tavasz.

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Hódmezővásárhelyi Városi Matematikaverseny április 14. A osztályosok feladatainak javítókulcsa

PL/SQL blokk. [címke] [DECLARE deklarációs utasítás(ok)] BEGIN végrehajtható utasítás(ok) [EXCEPTION kivételkezelő] END [név];

Javacript alapismeretek

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

7. fejezet: Mutatók és tömbök

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Java II. I A Java programozási nyelv alapelemei

Bevezetés a programozásba I.

Programozási Nyelvek: C++

Már megismert fogalmak áttekintése

A C# programozási nyelv alapjai

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Nézzük tovább a lexikai egységeket!

GYAKORLATIAS JAVA MINTA

Átírás:

Eljárások és függvények Jegyzet Összeállította: Faludi Anita 2012.

Bevezetés Ez a jegyzet elsősorban azoknak a diákoknak készült, akiket tanítok, ezért a jegyzet erőteljesen hiányos. Az olvasó egy percig se gondolja azt, hogy a témakörhöz ennyi információ tartozik. A jegyzetben csak azokat a területeket érintettem, amit szükségesnek ítéltem meg, és amiről úgy gondoltam, hogy megfelelő alapot biztosít a továbbfejlődéshez. 2

Eljárások és függvények (rutin, szubrutin) Amikor: - Ugyanazt a műveletsort kell elvégezni más és más adathalmazon, - Többször ismétlődő programrészeket kell írnunk a programba. Ebből következő hátrányok: - Sokat kell írni, - Hosszú lesz a program, - Több helyet foglal a winchesteren, - Tovább tart a fordítási idő, - Egy idő után átláthatatlan a kód, - Javítása, módosítása nehézkes. DEF: A szubrutinok a program önálló részei, melyeknek a futás során át lehet adni a vezérlést. Ezt nevezzük meghívásnak. Ekkor a szubrutin utasításai hajtódnak végre, majd azután a program a rutin meghívását követő első utasításon folytatódik. Példa: A programban többször előforduló hibaüzenet kiíratása. meghívás meghívás meghívás 3

Szubrutinok fajtái: - Függvények - Eljárások A függvény és eljárás közötti különbség az, hogy a függvénynek van értéke. A program felépítése PROGRAM Programnév Globális változók és konstansok deklarálása ELJÁRÁS Eljárásnév (formális paraméterek listája) Lokális változók és konstansok deklarálása FÜGGVÉNY Függvénynév (formális paraméterek listája): típus Lokális változók és konstansok deklarálása FÜGGV. ELEJE Függvénynév:=érték FÜGGV. VÉGE Eljárásnév (aktuális paraméterek listája) Változó:=Függvénynév (aktuális paraméterek listája) Eljárás és függvény végrehajtásának menete Az eljárások és függvények egymás közötti sorrendje lényegtelen. 4

Változók hatásköre A változók hatásköre azt mutatja meg, hogy a változó a program mely területén van értelmezve. o Globális: A program tetszőleges területén érvényes. o Lokális: Egy adott eljárás vagy függvény területén belül érvényes. Változók élettartama A futási időnek az az intervalluma, amelyben az adat azonosítója végig ugyanazt az objektumot jelöli. o Globális: Születéstől a program teljes futásidejében élnek. o Lokális: Csak addig élnek, az a programrész aktív, amelyben deklarálták. Példa utasítás PROGRAM Osszead_1 a, b, c : valós ELJÁRÁS Muvelet() c := a+b Muvelet() Eljárással <----> Függvénnyel PROGRAM Osszead_1 a, b, c : valós FÜGGVÉNY Muvelet (): valós FÜGGV. ELEJE Muvelet := a+b FÜGGV. VÉGE c := Muvelet() érték A c változó a program minden területén érvényes, és a program teljes futási ideje alatt aktív. Eljárással HIBA: Ismeretlen változó! PROGRAM Osszead_2 a, b : valós ELJÁRÁS Muvelet() c : valós c := a+b Muvelet() PROGRAM Osszead_3 a, b, c : valós ELJÁRÁS Muvelet() c : valós c := a+b Muvelet() HIBA: Nincs értéke a változónak! A c változó lokális, ezért csak az eljáráson belül érvényes, és csak addig aktív, amíg az eljárás fut. 5 Két különböző érvényességű változó van ugyanolyan néven. Az eljárásban deklarált c-t így nem lehet kiíratni.

Formális és aktuális paraméterek Az eljárás vagy függvény elindulása után létrejönnek a formális paraméterlistában lévő változók és felveszik a hívásnál megadott értéket kezdőértéknek. Létrejönnek a lokális változók. Végrehajtódnak az utasítások. Az aktuális paraméterlista értékeit a formális paraméterlistában lévő változó átveszi, de a globális változó értékeit nem befolyásolja. Az aktuális és a formális paraméterlista értékeinek száma és típusa egyenlő legyen! Paraméterátadás 1. Érték szerinti paraméterátadás: o A formális paraméterlistában lévő változó a hívásnál megadott változó értéket veszi fel. o Átadáskor az aktuális paraméter lehet: - érték, - konstans, - változó, - kifejezés, - függvény. o Érték szerinti paraméterátadás csak bemenő lehet! 2. Cím szerinti paraméterátadás: o A formális paraméterlistában lévő változó a hívásnál megadott változó memóriacímét veszi fel, így az aktuális paraméterlistában megadott változó értékét is automatikusan változtatja. o Átadáskor az aktuális paraméter csak változó lehet! o Cím szerinti paraméterátadás bemenő és kimenő lehet. Felhasznált irodalom μlógia 18. Szlávi Péter Zsakó László: Módszeres programozás: Programozási bevezető ELTE, Budapest, 1996. Dr. Kovács Emőd - Hernyák Zoltán - Radványi Tibor - Király Roland: A C# programozási nyelv a felsőoktatásban - Programozási tankönyv http://csharptk.ektf.hu/online/index.html Szűcs Tamás: Eljárások és függvények http://www.codexonline.hu/codex9/alap/kezdoknek/szucstamas/eljarasfuggveny.htm 6