ALG3

ALG3



2.3. Jak wykonują się programy rekurencyjne? 33

2.3. Jak wykonują się programy rekurencyjne?

Dociekliwy Czytelnik będzie miał prawo zapytać w tym miejscu: „OK. zobaczyłem na przykładzie, że TO działa, ale mam też chyba prawo poznać bardziej od podszewki JAK to działa!”. Pozostaje zatem przyporządkować się temu słusznemu żądaniu.

Odpowiedzią na nic jest właśnie niniejszy' podrozdział. Przykład w nim użyty będzie być może banalny, tym niemniej nadaje się doskonale do zilustrowania sposobu wykonywania programu rekurencyjnego.

Już w szkole średniej (lub może nawet podstawowej?!) na lekcjach matematyki dość często używa się tzw. silni z n. czyli iloczynu wszystkich liczb naturalnych od / do n włącznie. Ten użyteczny symboli zdefiniowany jest w sposób następujący:

0! - 1,

n! =    (n — 1)! gdzie n > 1

Pomińmy jego znaczenie matematyczne, nieistotne w tym miejscu. Nic nie stoi jednak na przeszkodzie, aby napisać prosty program, któiy zajmuje się obliczaniem silni w sposób rekurencyjny:

rek2.cpp

unsigned long int silnia(int x)

t

if (x--0) return 1; clse

return z^silnia(x-i);

)

Prześledźmy na przykładzie, jak się wykonuje program, któiy obliczy 3! Rysunek 2-2 przedstawia kolejne etapy wywoływania procedury reknrencyjnej i badanie warunku na przypadek elementarny.

Konwencje użyte podczas tworzenia są następujące:

•    pionowe strzałki w dól oznaczają „zagłębianie się” programu z poziomu n na n-1 itd. w celu dotarcia do przypadku elementarnego 0!\

   pozioma strzałka oznacza obliczanie wyników cząstkowych;

•    ukośna strzałka prezentuje proces przekazywania wyniku cząstkowego z poziomu niższego na wyższy.

1 Oznaczany przez n\


Wyszukiwarka

Podobne podstrony:
ALG3 2.7. Myślenie rekurencyjne 43 Rckurcncyjność naszego zadania jest oczywista, bowiem program wy
ALG3 3.7. Analiza programów rekurencyjnych 737X1) = 1 + 1 = 2, -2 + 7 T(n) = 1 + 1 + 71 Widać już,
OMNIBUS 4 3 Jak nazywa się ciężki metal, z którego robiono kiedyś widoczne na zdjęciu żołnier
OMNIBUS 5 3 Jak nazywa się ciężka konstrukcja stalowa opuszczana na łańcuchu z pokładu statku,
Od ambitnego do najlepszego — czyli jak stać się programistą wydajnym, dociekliwym i gotowym do pode
OMNIBUS 3 3 Jak nazywa się grupa ryb morskich, kształtem przypominających koniki szachow
pdl 3 jak chlapanie się w wodzie, skakanie przez wodę, powodowanie szumu drzew, I śpiewanie czy prow
OMNIBUS 6 3 Jak nazywa się wysoki, męski kapelusz walcowatego kształtu, zwykle z jedwabiu, ze
tt3 Jak wzywać zespół. •    Miejsce P Co się stało •    Czy osob
ALG1 1.2. Jak to się niedawno odbyło, czyli. 211.2. Jak to się niedawno odbyło, czyli o tym kto „wy
ALG3 1.3. Proces koncepcji programów 23 pisania jednej linii kodu. Pomijając już jednak tego typu s
ALG3 4.1. Sortowanie przez wstawianie, algorytm klasy 0(N2) 83 Idea tego algorytmu opiera się na na
ALG3 6.3. Kilka przykładów derekursywacji algorytmów 173 Pokaźna grupa procedur rekurencyjnych dość
ALG#4 234 Rozdział 9. Zaawansowane techniki programowania problemu. Mimo iź wersje iteracyjne i reku

więcej podobnych podstron