ALG3

ALG3



2.7. Myślenie rekurencyjne 43

Rckurcncyjność naszego zadania jest oczywista, bowiem program wynikowy zajmuje sic powtarzaniem głównie tych samych czynności (rysuje linie poziome i pionowe, jednakże o różnej długości). Naszym zadaniem będzie odszukanie schematu rekurencyjnego i warunków zakończenia procesu wywołań rekurencyjnych.


Rys. 2 - 6.

Spirala narysowana rekurencyjnie.

Jak rozwiązać to zadanie? Wpierw przybliżmy się nieco do „rzeczywistości ekranowej” i wybierzmy jako punkt startowy pewną parę (x,y). Idea rozwiązania polega na narysowaniu 4 odcinków „zewnętrznych” spirali i dotarciu do punktu (x’,y). W tym nowym punkcie startowym możemy już wywołać rekurencyjnie procedurę rysowania, obarczoną oczywiście pewnymi warunkami gwarantującymi jej poprawne zakończenie.

Elementarny przypadek rozwiązania prezentuje rysunek 2 - 7.

<x,y)


(x\yj


Rys. 2 - 7.

Spirala narysowana rekurencyjnie -szkic rozwiązania.

Jedna z kilku możliwych wersji programu, który realizuje to, co zostało wyżej opisane, jest przedstawiona poniżej.

W celu ułatwienia lektury programu zamieszczone zostały również objaśnienia instrukcji graficznych.

spirala.cpp

const double alpha=10;

void spirala(double Ig,double x,double y)


Wyszukiwarka

Podobne podstrony:
ALG5 2.7. Myślenie rekurencyjne 45 Przypadkiem elementarnym będzie tutaj narysowanie jednej pary kw
zadaniem jest zapewnienie trzech rodzajów wyników skuteczności, wydajności i efektywności!
zadaniem jest zapewnienie trzech rodzajów wyników skuteczności, wydajności i efektywności!
Specjalności biytyjskich mediów są specjalne komisje. Ich zadaniem jest kontrola i ocena programu, z
ALG3 2.3. Jak wykonują się programy rekurencyjne? 332.3. Jak wykonują się programy rekurencyjne? Do
ALG5 35 2.4. Niebezpieczeństwa rekurencji2.4.1.Ciąg Fibonacciego Naszym pierwszym zadaniem jest nap
ALG3 3.7. Analiza programów rekurencyjnych 737X1) = 1 + 1 = 2, -2 + 7 T(n) = 1 + 1 + 71 Widać już,
ALG3 6.3. Kilka przykładów derekursywacji algorytmów 173 Pokaźna grupa procedur rekurencyjnych dość
IMG 43 Fitochrom ■ Jest którego zadaniem jest odebranie sygnału egzogennego (    
page0159 149 Zbyt oddalilibyśmy się od naszego zadania, gdybyśmy chcieli tu poddać szczegółowej
13 3. Instrukcje arytmetyczne 43 3. Instrukcje arytmetyczne 43 Suma R4R5 R6R7: MOV A.R4 ADD A.
22794 zdj0 (3) Równania rekurencyjne W celu zmniejszenia rozmiaru zadania o połowę trzeba przejrzeć
13 5. Instrukcje arytmetyczne 43 5. Instrukcje arytmetyczne 43 Suma K4R5 R6R7: MOV A.R4 ADD A.

więcej podobnych podstron