ALG3

ALG3



6,6. Klasyczne schematy derekursywacji 183

(

A<x) i PO ; D(x) }

also

C(X) ;

I

Zakładając AAkrotne wywołanie procedury P. jej działanie można poglądowo przedstawić jako sekwencję instrukcji:

_N_ _N_

A x);... zł(-v); (’(.v); B(.v):... B{x):

Jest to taka forma zapisu algorytmu, która od razu sugeruje możliwe zapisanie w formie iteracyjnej... pod warunkiem wszakże znajomości N. Niestety, ilość wywołań procedury P nie jest nigdy znana a priori - wszystko zależy od globalnego „parametru’", z którym zostanie ona wywołana!

Nie popadajmy jednak w przedwczesną depresję i spójrzmy na następującą wersję procedury P:

int N-0; void p{)

t

malunek,*)

(

A(x) ;

N++;P(J;N—;

B(x) ;

}

alse

C (X) ;

)

Załóżmy, że wykonanie tego programu zostało przerwane w pewnym losowo wybranym momencie i za pomocą debuggera odczytaliśmy wartość N. Biorąc pod uwagę, iż - jak to wynika z treści programu - zmienna globalna A'jest inkrementowana podczas każdego wywołania rekurencyjnego P i dekrementowana po powrocie z niego, możemy wykorzystać tę zmienną do odczytywania aktualnego poziomu rekurencji procedury P '.

Idea kolejnej transformacji procedury /•'jest teraz następująca: wywołanie re-kurencyjne procedury P będziemy symulować przy pomocy skoku do jej początku. Podczas kolejnego wykonania procedury P możemy w bardzo łatwy sposób

I3


Patrz §2.3.


Wyszukiwarka

Podobne podstrony:
ALG1 6.6. Klasyczne schematy derekursywacji 181 wykonują systematycznie pewne stałe fragmenty kodu
ALG5 6.6. Klasyczne schematy derekursywacji 185 Sprawdźmy teraz, czy w istocie podane wyżej przeksz
ALG3 6.3. Kilka przykładów derekursywacji algorytmów 173 Pokaźna grupa procedur rekurencyjnych dość
LD3 O.imiln Wyuiryn Kopctytaka NR 18 ZAJĄC Z PISANKĄ - OBRAZEK Z RAMKĄ schemat str. 33 Po wyschnię
skanuj0005 Opis procesu hodowli drożdży Od lat 60-tych klasyczną metodę produkcji zastępuje ®po wodz
183 (2) IV. Referendum lokalne (art. 170) 183 Po to jednak, aby w referendum zapadło rozstrzygnięcie
2011 marts aprilis0 1 NR 18 PIWONIA schemat str. 33 Po wyschnięciu konturów pomalować: duży kwiat -
2012 1 2520012 (2) NR 17 KOSZYCZEK WIELKANOCNY schemat str. 29 Po wyschnięciu konturów pomalować; ba
2012 1 2520047 (2) NR 22 ZAJĄC Z PALMĄ schemat rtr. 34 Po wyschnięciu konturów wypełnić: listki - zi
2012 1 2520049 (2) NR 25 ZAJĄC W SAMOCHODZIE schemat str. 36 Po wyschnięciu konturów pomalować: zają
2012 1 2520053 (2) NR 29 KACZUSZKI NA STAWIE schemat str. 40 po wyschnięciu konturów pomalować: drze
1‘tctttn    ttfu 1 2 3• tra2x« pracy K^ 2n2 Ky<>««PolimorfizmBogdan Kreczmer

więcej podobnych podstron