A függvényhívások, illetve a rekurzió vezérlési szerkezetnek számít?





A klasszikus vezérlési szerkezet a szekvencia, szelekció, iteráció, és esetleg a "GOTO" is, ha nagyon akarjuk.
A rekurzió biztosan nem. Az utasítások sorrendjének alakításának módjánál teljesen mellékes, hogy egy utasítás önmagát hívja-e vagy egy másik függvényt. Ciklusnak sem nevezhető.
Maga a függvényhívás érdekes kérdés, nem szokták ide sorolni, de tekinthető vezérlési szerkezetnek. Sőt a visszatérés (return) is.





A függvényhívás nyilván, hiszen a függvény visszatérési értéke (de már a paramétere is) befolyással lehet a program végrehajtásra.
A rekurzió sem egyéb, mint iteráció.
Ugyanúgy van ciklusváltozó, stb.
Aki nem hiszi, annak javaslom, fordítson _asm_ kimenetre egy rekurzióval és egy iterációval meghívott függvényt.
Látni fogja azt, amit kell.





A vezérlési szerkezet olyan önálló utasítás ami egy feltétel alapján eldönti hogy merre lépjen tovább a program. Ez programozási nyelv függő, hiszen minden programozási nyelvnek saját utasításkészlete van.
Általában nem a rekurzió a vezérlési szerkezet hanem a meghívott függvényben definiált leállási feltétel ami általában egy "if" feltételes elágazás. Ugyan elméletileg a ciklus és a rekurzió egymásnak egyértelműen megfeleltethető (ciklusnak kell egy külön tár ha nem jobbrekurzióról beszélünk), a ciklusba sokszor beleértjük a megállási feltételt is, míg a rekurzióba nem. Ezért vezérlési szerkezet a ciklus, de a rekurzió nem. Természetesen elképzelhető olyan nyelv ami feltételesen hív függvényt egy utasítással, pl a
call(func, x <= 3)
már vezérlési szerkezet lenne ha a call egy önálló utasítása az adott programozási nyelvnek.
Normális esetben vezérlési szerkezet az if-else, switch, for, while stb.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!