Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Az informatika a legszebb tantárgy! FÜGGVÉNYEK OK
Mi a függvény? <ul><li>A függvény egy alprogram, mely műveleteket tud végezni az adatokon és ennek eredményeként egy érték...
Működés <ul><li>Az összetett feladatokat előbb fel kell bontanunk egy-egy függvény formájában megvalósítható alfeladatokra...
Deklaráció és definíció <ul><li>Mielőtt meghívjuk, a függvényeket deklaráljuk, majd meg-írjuk a törzsét alkotó utasításoka...
Tulajdonságok <ul><li>Ha a függvény ad vissza valamilyen értéket, akkor a tör-zsében az utolsó végrehajtott utasítás egy  ...
Példa  elj árásra <ul><li>Számítsuk ki egy téglalap területét! </li></ul>A függvény hívása void   main () { int  hossz,sze...
Példa függvényre <ul><li>Sokkal logikusabb ha a területet kiszámítjuk! </li></ul>void   T () { int  hossz,szel, t ; printf...
Paraméterek <ul><li>A területszámítás paraméterek átadásával: </li></ul>int   T () { int  hossz,szel; printf ( “Hossz úság...
Lokális változók int   T () { int  hossz,szel; printf ( “Hossz úság:  ” ) ;  scanf ( “%d” , & hossz ); printf ( “Sz élessé...
Globális változók int  hossz,szel; int   T ( int  h,  int  sz ) { int Ter; Ter=h *sz return  T ; } void   main () { printf...
Összegzés <ul><li>A függvényen belül deklarált változókat  lokális  (helyi) változóknak nevezzük. </li></ul><ul><li>Helyi ...
Upcoming SlideShare
Loading in …5
×

Bevezetés a függvények világába

1,041 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Bevezetés a függvények világába

  1. 1. Az informatika a legszebb tantárgy! FÜGGVÉNYEK OK
  2. 2. Mi a függvény? <ul><li>A függvény egy alprogram, mely műveleteket tud végezni az adatokon és ennek eredményeként egy értéket tud vissza-adni. </li></ul><ul><li>Minden C programban van legalább egy függvény: main() . </li></ul><ul><li>A main() az a pont, ahol a program végrehajtása kezdődik . A main() maga is hívhat más függvényeket, és az általa hívott függvények is hívhatnak újabbakat, és így tovább. </li></ul><ul><li>Minden függvénynek egyedi neve van a programon belül . </li></ul><ul><li>Ha a végrehajtás egy ilyen névhez érkezik, akkor a program a függvényben leírt első művelettel folytatódik, majd innen egészen addig tart, amíg el nem ér egy return parancshoz, vagy a függvény kódjának végéhez. </li></ul><ul><li>Amikor a függvény visszatér a hívóhoz, a végrehajtás a hívást követő első paranccsal folytatódik. </li></ul><ul><li>Egy jól megírt függvény egyetlen, jól körülhatárolt feladatot hajt végre („ A jó függvény egy dolgot tud, de azt nagyon jól .”). </li></ul>
  3. 3. Működés <ul><li>Az összetett feladatokat előbb fel kell bontanunk egy-egy függvény formájában megvalósítható alfeladatokra, majd ezeket az elemi függvényeket egyenként a megfelelő sor-rendben meghívni. </li></ul><ul><li>Függvények segítségével a program kódja érthetőbb és karbantarthatóbb lesz. </li></ul>Program void main () { utas ítás; Függvény1 ( ); utasítás; Függvény2 (); utasítás; } Függvény1 { utas ítás1 _ 1; utasítás 1_ 2; return ; } Függvény2 { utas ítás 2_ 1; utasítás 2_ 2; utas ítás 2_3; return ; }
  4. 4. Deklaráció és definíció <ul><li>Mielőtt meghívjuk, a függvényeket deklaráljuk, majd meg-írjuk a törzsét alkotó utasításokat (definiáljuk). </li></ul><ul><li>A deklaráció abból áll, hogy megadjuk a függvény nevét, visszatérési értékének, valamint a bemenő paramétereinek típusát. </li></ul><ul><li>A definíció azt írja le, hogy miként kell a függvénynek működnie, milyen műveleteket kell végrehajtania. </li></ul><ul><li>Nem kötelező minden függvénynek paramétert megadni! </li></ul><ul><li>Ha a függvény nem ad vissza (nem számol ki) semmilyen értéket, akkor a visszaadott érték típusa helyett a void kulcsszót írjuk, a függvényt pedig eljárás nak nevezzük. </li></ul>Az utasítások írják le a függvény működését. visszat érésiÉrtékTípusa függvényNeve ( paramTípus paraméterNeve ) { utas ítások; }
  5. 5. Tulajdonságok <ul><li>Ha a függvény ad vissza valamilyen értéket, akkor a tör-zsében az utolsó végrehajtott utasítás egy return lesz. </li></ul><ul><li>Ez az utasítás a törzsben bárhol felbukkanhat (nem kell feltétlenül a függvény utolsó utasítása legyen). </li></ul><ul><li>A függvény törzsét kapcsos zárójelek között adjuk meg, és minden utasítást pontosvessző követ, de magát a függ-vényt nem zárja ilyen jel. </li></ul><ul><li>A függvényben szereplő utasítások számát tekintve nincs semmilyen korlát. A jól megtervezett függvény rövid! </li></ul><ul><li>Ha csak a függvény nevét és visszatérési értékének típusát adjuk meg egy pontosvessző kíséretében , akkor azt mondjuk hogy megadtuk a függvény prototípusát . </li></ul><ul><li>Ebben az esetben, a definíciót a program végére is írhatjuk. </li></ul>visszat érésiÉrtékTípusa függvényNeve ( paramTípus paraméterNeve );
  6. 6. Példa elj árásra <ul><li>Számítsuk ki egy téglalap területét! </li></ul>A függvény hívása void main () { int hossz,szel,T; printf ( “Hossz úság: ” ) ; scanf ( “%d” , & hossz ); printf ( “Sz élesség: ” ); scanf ( “%d” , & szel); T=hossz *szel; printf ( “Ter ü let: %d” ,T); } Függvény nélkül : void Terulet () { int hossz,szel,T; printf ( “Hossz úság: ” ) ; scanf ( “%d” , & hossz ); printf ( “Sz élesség: ” ); scanf ( “%d” , & szel); T=hossz *szel; printf ( “Ter ü let: %d” ,T); } void main () { Terulet (); } A f üggvény nem ad vissza értéket
  7. 7. Példa függvényre <ul><li>Sokkal logikusabb ha a területet kiszámítjuk! </li></ul>void T () { int hossz,szel, t ; printf ( “Hossz úság: ” ) ; scanf ( “%d” , & hossz ); printf ( “Sz élesség: ” ); scanf ( “%d” , & szel); t=hossz *szel; printf ( “Ter ü let: %d” , t ); } void main () { T (); } A f üggvény nem ad vissza értéket int T () { int hossz,szel; printf ( “Hossz úság: ” ) ; scanf ( “%d” , & hossz ); printf ( “Sz élesség: ” ); scanf ( “%d” , & szel); return hossz *szel; } void main () { printf ( “Ter ü let: %d” , T ()); } A f üggvény értéket ad vissza
  8. 8. Paraméterek <ul><li>A területszámítás paraméterek átadásával: </li></ul>int T () { int hossz,szel; printf ( “Hossz úság: ” ) ; scanf ( “%d” , & hossz ); printf ( “Sz élesség: ” ); scanf ( “%d” , & szel); return hossz *szel; } void main () { printf ( “Ter ü let: %d” , T ()); } Paraméterek nélkül int T ( int h, int sz ) { return h *sz; } void main () { int hossz,szel; printf ( “Hossz úság: ” ) ; scanf ( “%d” , & hossz ); printf ( “Sz élesség: ” ); scanf ( “%d” , & szel); printf ( “Ter ü let: %d” , T (hossz,szel)); } Paraméterátadással
  9. 9. Lokális változók int T () { int hossz,szel; printf ( “Hossz úság: ” ) ; scanf ( “%d” , & hossz ); printf ( “Sz élesség: ” ); scanf ( “%d” , & szel); return hossz *szel; } void main () { printf ( “Ter ü let: %d” , T ()); } int T ( int h, int sz ) { int Ter; Ter=h *sz return T ; } void main () { int hossz,szel; printf ( “Hossz úság: ” ) ; scanf ( “%d” , & hossz ); printf ( “Sz élesség: ” ); scanf ( “%d” , & szel); printf ( “Ter ü let: %d” , T (hossz,szel)); } Lokális változók
  10. 10. Globális változók int hossz,szel; int T ( int h, int sz ) { int Ter; Ter=h *sz return T ; } void main () { printf ( “Hossz úság: ” ) ; scanf ( “%d” , & hossz ); printf ( “Sz élesség: ” ); scanf ( “%d” , & szel); printf ( “Ter ü let: %d” , T (hossz,szel)); } Globális változók Formális paraméterek Aktuális paraméterek Lokális változók
  11. 11. Összegzés <ul><li>A függvényen belül deklarált változókat lokális (helyi) változóknak nevezzük. </li></ul><ul><li>Helyi változóknak tekintjük a függvénynek átadott paramétereket is. </li></ul><ul><li>A lokális változók csak abban a függvényben léteznek (láthatóak), amelyben deklaráltuk. </li></ul><ul><li>Azokat a változókat, melyeket minden függvényen kívül deklaráltunk globális változóknak nevezzük. </li></ul><ul><li>A globális változók bármely függvényből elérhetőek, beleértve a main() függvényt is. </li></ul><ul><li>Egy változó érvényességi köre meghatározza, hogy a változó mikor és a program mely részein hozzáférhető </li></ul>

×