A rekurzió Páll Éve Boglárka.

Slides:



Advertisements
Hasonló előadás
Algoritmusok.
Advertisements

Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
SZÁMÍTÓGÉP- HÁLÓZAT.
Gyakorló feladatsor eljárásokra Készítette: Rummel Szabolcs Elérhetősé:
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Ismétlés: Döntések a feltétel egy logikai kifejezés if feltétel then
HIKGHB Németh Gábor LUF9NV Simon Attila. A programozás alapjai előadás Híradástechnikai Tanszék.
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
C A C nyelv utasításai.
Borland C/C++ mintapéldák függvényekre. 1. példa Írjunk olyan függvényt amely egy számot kiirat.
Készítette: Pető László
Nat Pedellus Informatika 8. osztály óra.
Szimmetrikus Programozás, AZ ALAPOK
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
ISZAM III.évf. részére Bunkóczi László
Vezérlési szerkezetek: elágazások, ciklusok
A legjobb agresszív kismalac viccek
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Karakterláncok Páll Boglárka.
A négyzetes mátrixok (nxn-es kétdimenziós tömbök)
Alprogramok a Pascal nyelvben
A Pascal programozási nyelv alapjai
Ismétlés A pascal program szerkezete: program programnev; Programfej
Karakterláncok Páll Éva Boglárka. Ismétlés Deklaráció var s:string; Length(karlánc) Concat(karlánc1,...,karláncn) Copy(miből,honnan,hányat) Delete(miből,honnan,hányat)
Ciklusok: 3. Hátultesztelő ciklus
Ciklusok: 1. Számlálós ciklus
Ciklusok: 2. Előltesztelő ciklus
Feladatok: Rekordok Páll Boglárka. 1. Feladat: Egy szállításról a következő adatokat tartjuk nyilván: árukód, irányítószám, cím, mennyiség. Valósítsuk.
Félévi típus feladatok
Az If függvény és a Feltételes Formázás az Excelben
Alprogramok paraméterei. Procedure ( ); Function ( ): ; [var] p1,...,pn:típus1; q1,...,q2:típus2; cím szerinti parméterátadaás (értékváltozás hatással.
Feladatok: Algoritmusok Pszeudokódban
A Pascal programozási nyelv alapjai
Az oszd meg és uralkodj (Divide et Impera) programozási módszer
Klasszikus Programozás a FoxPro-ban
Klasszikus Programozás a FoxPro-ban FELADATOK
Tömbök és programozási tételek
Ciklusok (iterációk).
AAO Csink László november.
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Fák.
Nevezetes algoritmusok
Termelő-fogysztó modell. A probléma absztrakt megfogalmazása: informális leírás. Adott egy N elemű közösen használt tároló, N  1. Adott a folyamatoknak.
Logikai programozás 3.. ISMÉTLÉS Elágazás-szervezés: a/ B :- A 11, A 12, …, A 1n. B :- A 21, A 22, …, A 2k. … B :- A m1, A m2, …, A mr. b/ B :- (A 11,
Pole (array of...).  Zložený datový typ na ukladanie viacerých premených  Zápis: var meno_pola : array [ konce intervala ] of základný typ ; Základné.
Feladatok (értékadás)
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
Algoritmusok. Az algoritmus meghatározott sorrendben elvégzendő műveletek előírása, mint azonos típusú (matematikai, logikai) feladatok megoldására alkalmas.
Mintapélda Készítsünk programot, amely beolvas egy egész számot, és eldönti arról, hogy prímszám-e. Készítsünk programot, amely beolvas egy egész számot,
Nat Pedellus Free Pascal Elágazások..
Vnorené cykly.  Pri riešení problémov sa stáva, že použijeme viac cyklov za sebou, alebo jeden cyklus vnorený do druhohého.
előadások, konzultációk
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Iteráció, rekurzió, indukció. Iteráció iterációs módszer –egy adott műveletsort egymás után, többször végrehajtani megvalósítás –ciklusokkal pl. –hatványozás.
Excel programozás (makró)
Készítette: Weigel Szilvia számítástechnika szak III. évfolyam, Budapest – ADU A Logo programozási nyelv X.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Integrálszámítás.
Excel programozás (makró)
Eljaras linearis_kereses(adatok[],n)
Bevezetés a programozásba Algoritmikus gondolkodás
Informatikai gyakorlatok 11. évfolyam
Informatikai gyakorlatok 11. évfolyam
Strukturált és nem strukturált programok
Előadás másolata:

A rekurzió Páll Éve Boglárka

Kovács kifog egy aranyhalat a tóból, mire az megszólal: - Teljesítem három kívánságodat, kérj bármit! - Jó! - modja Kovács. - Legyen benned minél kevesebb szálka!

Örök kérdés: Miért nem kéri senki, hogy legyen még három kívánsága?

(3); Procedure (ennyi_kívánságom_van_még); Var Begin if ennyi_kívánságom_van_még = 3 then kérek_valamit if ennyi_kívánságom_van_még = 2 then kérek_valamit if ennyi_kívánságom_van_még = 1 then (3); End;

A Pascalban: A rekurziót alprogramok (eljárások és függvények) segítségével valósítjuk meg. Egy alprogramot rekurzívnak nevezünk, ha meghívja önmagát.

Fontos!!! Minden esetben gondoskodni kell a rekurzió befejeződéséről, mert ellenkező esetben a program végtelen ciklushoz hasonló helyzetbe kerül mivel újabb és újabb önmeghívásokra kerül sor. Erre a célra valamilyen elágazást szokás használni amivel elérhetjük, hogy legalább egyszer végre lehessen hajtani az alporgarot úgy, hogy a végrehajtás során ne hívja meg önmagát.

A matematikában rekurzívnak nevezik az olyan meghatározásokat, amelyek valamilyen módon önmagukat tatrtalmazzák. Pl: a faktoriális rekurzív definíciója: ha n=0 ha n>0

Megoldott Feladatok ha n=1 és n=2 fibo(n) ha n>=3 Írjunk ki a képernyőre 10 darab csillagot! Határozzuk meg a Fibonacci sorozat n-edik tagját. ha n=1 és n=2 fibo(n) ha n>=3

Feladat Számítsuk ki az első n szám összegét rekurzivan Számítsuk ki egy szám n-edik hatványát rekurzivan