Internetowy podręcznik do nauki informatyki i innych przedmiotów w Zespole Szkół Ogólnokształcących STO64


2 LO1  2  3  4  5  6  7  8  |9|  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32 
   
    Lekcja 9
  Rekurencja. Obliczanie silni  
             
 

  
           Zakres materiału
Zakres materiału dotyczący samej rekurencji jest w filmie:



Jak psychicznie przygotować się na zrozumienie zagadnienia rekurencji
Zagadnienie rekurencji należy do najtrudniejszych dziedzin informatyki. Stare powiedzenie mówi, że nie możemy zrozumieć rekurencji dopóki najpierw nie zrozumiemy... rekurencji. Jednocześnie idea rekurencji pokazywana była już na starym elementarzu dla siedmiolatków - zobaczcie obok. Innym humorystycznym epizodem jest to, co odnośnie rekurencji zaprezentowała wyszukiwarka Google. Wpisz to słowo do pola wyszukiwania, a Google zwróci Ci na samym początku zapytanie - czy chodziło Ci o "rekurencja" i przekieruje Cię do strony z wynikami, która również zacznie się od tego samego zapytania. Inny przykład częściowo pokazujący istotę rekurencji to tragiczny wierszyk-piosenka (tylko dla osób o silnych nerwach):


"Smutny wierszyk"
Wpadł pies do kuchni i porwał mięsa ćwierć
A jakiś kucharz głupi porąbał go na śmierć.
A jakiś kucharz dobry, co litość w sercu miał
Postawił mu nagrobek, i taki napis dał: Wpadł pies do kuchni i porwał... i tu treść utworu "Smutny wierszyk"

W praktyce możemy rekurencję łatwo zrozumieć jako zagnieżdżanie czegoś w sobie samym w nieskończoność. W programowaniu jest trochę trudniej. Będzie to wywołanie funkcji w niej samej - po pierwsze - nie będziemy wykonywać rekurencji w nieskończoność, po drugie - jako że istotą rekurencji będą matematyczne obliczenia i działamy w obrębie funkcji, której parametry mogą ulegać zmianie - możemy odnieść wrażenie, że działamy jakby od końca podążając w niewiadome. Przede wszystkim nie należy się przejmować skomplikowaną naturą rekurencji - przy okazji ważna rzecz - zawsze można rekurencję zastąpić pętlą - zobacz:

"Smutny wierszyk"
do czasu, jak cierpliwosc>0 powtarzaj:
Wpadł pies do kuchni i porwał mięsa ćwierć
A jakiś kucharz głupi porąbał go na śmierć.
A jakiś kucharz dobry, co litość w sercu miał
Postawił mu nagrobek, i taki napis dał:

Tak więc nie zniechęcamy się, nawet, jak będziecie mieli kłopot z tą lekcją, pomyślcie o biednym piesku - co on dopiero przeżywał! Oczywiście podczas przygotowania tej lekcji nie ucierpiał żaden zwierzak.



Przykłady - obliczanie silni
Silnia liczby naturalnej n – iloczyn wszystkich liczb naturalnych dodatnich nie większych niż n. Czyli silnia z 3 to będzie 1*2*3* czyli 6, silnia z 4 to będzie 1*2*3*4 itd. Silnię zapisujemy w postaci 4! gdzie 4 to liczba, z której obliczamy silnię. Obliczanie silni jest znakomitym przykładem wykorzystania rekurencji. Zanim zaczniesz obliczać silnię w Pythonie stosując rekurencję, pamiętaj, że:
silnia z 4 to 1*2*3*4 ale jednocześnie możemy powiedzieć, że to 4* 3! silnia z 3 to 1*2*3 ale jednocześnie możemy powiedzieć, że to 3* 2! silnia z 2 to 1*2 ale jednocześnie możemy powiedzieć, że to 2* 1!



Kolejne zajęcia- o co zapyta nauczyciel, jaką wystawi ocenę?
 
Ocena
Wymagania
Ocena celująca: Jak na BDB, dodatkowo należy wykonać trzy krótkie, użytkowe programy wykorzystujące rekurencję.
Ocena bardzo dobra: Uczeń rozumie istotę rekurencji, stosuje funkcje z jej zastosowaniem, nie potrzebuje przy tym pomocy nauczyciela i działa w miarę sprawnie.
Ocena dobra: Uczeń rozumie istotę rekurencji, z niewielkimi problemami i niewielką pomocą stosuje funkcje z jej zastosowaniem.
Ocena dostatecznaUczeń rozumie istotę rekurencji, z problemami i pomocą stosuje funkcje z jej zastosowaniem.
Ocena dopuszczająca Uczeń pobieżnie rozumie istotę rekurencji, z poważnymi problemami i pomocą stosuje funkcje z jej zastosowaniem


Wszystkie lekcje z tego kursu:  1  2  3  4  5  6  7  8  |9|  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32 

 



Login:


Hasło

Załóż konto

Przypomnij hasło


 
Prawa autorskie- Zespół Szkół Ogólnokształcących STO64 im. Juliusza Słowackiego w Krakowie, autor projektu- nauczyciel STO64 Marek Czerwiński