Függvények Flashcards
Mikor beszélünk procedurális programozásról?
Procedurális programozásról beszélünk, ha egy feladat megoldását egymástól többé-kevésbé független alprogramokból (függvényekből) építjük fel.
Mi a függvény?
A függvény a C++ program olyan névvel ellátott egysége (alprogram), amely a program más részeiből annyiszor hívható, ahányszor csak szükség van a függvényben definiált tevékenységre.
Mit nevezünk paraméternek?
A függvények hatékony felhasználása érdekében a függvény bizonyos belső változóinak a függvényhívás során adunk értéket. Ezek a paramétereknek hívott tárolókat függvény definíciójában a függvény neve után zárójelben kell deklarálnunk.
Mik az argumentumok?
A függvény hívásánál (aktiválásánál) pedig hasonló formában kell felsorolnunk az egyes paramétereknek átadni kívánt értékeket, az argumentumokat.
A függvényhívás során az argumentumok (amennyiben vannak) átkerülnek a hívott függvényhez, és a vezérlés a hívó függvénytől átkerül az aktivizált függvényhez.
Mi a függvény visszatérési értéke?
A függvények definíciójában/deklarációjában szereplő visszatérési típus határozza meg a függvényérték típusát.
A függvény a return utasítás feldolgozását követően visszatér a hívóhoz, és függvényértékként megjelenik az utasításban szereplő kifejezés értéke, melynek típusa a visszatérési típus:
return kifejezés;
mi a void típus?
A void típus felhasználásával olyan függvényeket is készíthetünk, amelyek nem adnak vissza értéket. Ebben az esetben azonban nem kötelező a return használata,
mutass példát egy függvényre.
include
using namespace std;
bool isNumberZero(int a); int main() { cout << isNumberZero(0); } bool isNumberZero(int a) { if(a == 0) { return true; } return false; }
Honnan tudja a program, hogy melyik függvényt kell meghívnia?
A függvény prototípusából, a paraméterek típusából
egy fgv-nek hány paramétere lehet?
Egy függvénynek 0 vagy több bemenő paramétere lehet. Emiatt a függvényeket túl lehet terhelni.
Hogy történik a túlterhelés? Ez minek egy formája?
A túlterhelés úgy történik, hogy a bemenő paraméterek száma és/vagy típusa változik. A függvények túlterhelése a polimorfizmus egy formája.
Mit jelent a változók hatóköre/élettartama?
Ami a változók hatókörét, élettartamát illeti, a függvényben deklarált változókat csak a függvényen belül érjük el, a globális változókat is elérjük a függvényen belül. A lokálisan létrehozott változók az értékeiket a függvény futásának idejére tartják meg.
Mikor használjuk a rekurziót?
A rekurziót leggyakrabban a visszalépéses keresés (angolul backtracking) jellegű
algoritmusokban szokták használni.
A verem bevezetésével mi végezhető el automatikusan?
A rekurzív algoritmusok ciklussá formálása “automatikusan” elvégezhető verem bevezetésével.
Mi a rekurzió lényege?
Lényege, hogy egy függvény implementációjában az adott függvény újra meg van hívva, tehát a függvény saját magát hívja. Az egyik legnépszerűbb példa erre a rekurzív faktoriális számítás.
mutass egy példát a rekurzióra:
int factorial(int n){ if (n <= 1) { return 1; } return n*factorial(n-1); }