Metoda wstępująca projektowania algorytmów
Transkrypt
Metoda wstępująca projektowania algorytmów
Studium Podyplomowe z Informatyki, Programowanie – materiały pomocnicze, przygotowała Helena Krupicka 1 Metoda wstępująca projektowania algorytmów Jest to metoda projektowania „od szczegółu do ogółu”. Zdefiniujemy procedury rysujące elementy rysunku, później wykorzystamy je do skomponowania rysunku z tych elementów. Zadanie: Narysuj zestaw kolorowych domków i podpisz rysunek na ekranie O takie domki nam chodzi. 6j 6j 2j j j 2j Rysunek 1. Domy 2j j j 2j Czarodziejskie domki – poczekaj chwilę Rysunek 2. Specyfikacja domu Najpierw należy podać specyfikację zadania (zob. rys. 2) Specyfikacja: Kształt i wymiary domku są na rysunku. Rysunek jest zależny od jednego parametru – jednostki j. Zakładamy, że figury, z których składa się dom, rozpoczynamy rysować w lewym dolnym rogu i rysujemy z niezmiennikiem (położenia żółwia względem rysunku). Przydatne będą procedury narzędziowe: hop przenosząca żółwia z punktu A do B bez rysowania i bez zmiany jego kierunku (zob. rys. 3) oraz maluj wskazanym kolorem. Specyfikacja: żółw jest w A i ma kierunek AC, dane są odległości AC i CB. wyniki: żółw jest w B i ma kierunek AC, żółw nie zostawił śladu przejścia. Metoda 1. Podnieś pisak. Naprzód wgórę, w prawo 90, naprzód wbok, w lewo 90. Opuść pisak. Metoda 2. Podnieś pisak. W prawo 90, naprzód :dx, w lewo 90, naprzód :dy. Opuść pisak. :wbok lub :dx C B :wgórę lub :dy A Rysunek 3. Ilustracja dla procedury hop oto maluj :kolor ukp :kolor hop 2 2 zamaluj hop -2 (-2) ukp "czarny już oto dom :j kwadrat 6*:j hop 2*:j 2*:j powtórz 4 [kwadrat :j np 2*:j pw 90] hop (-2*:j) 4*:j pw 30 trójkąt 6*:j lw 30 ;powrót na początek hop 0 (-6*:j) już oto hop :wbok :wgórę ; przeskok z punktu A do B (rys. 3) pod np :wgórę pw 90 np :wbok lw 90 opu już Algorytm: 1. Narysuj ścianę – kwadrat 6jx6j 2. Narysuj okno – 4 kwadraty jxj 3. Narysuj dach – trójkąt równoboczny o boku 6j 4. Sprowadź żółwia na początek domu (lewy dolny róg) oto trójkąt :bok powtórz 3 [np :bok pw 120] już W procedurze głównej, w komentarzach jest podane imię i nazwisko autora oraz adres e-mail maluj jld maluj "żółty maluj jld oto hop :dx :dy ; przeskok z punktu A do B (rys. 3) pod pw 90 np :dx lw 90 np :dy opu już Komentarz w Logo rozpoczyna się od znaku ; i kończy znakiem nowej linii oto starter ; kolorowe domy ; autor: Helena Krupicka ; mail: [email protected] sż ct ps [Czarodziejskie domki - poczekaj chwilę] powtórz 30[ cs ustalKolTła jld hop -300 (-200) dom 20 hop 120 0 dom 20 hop 200 40 dom 15 hop 150 80 dom 8 hop 120 100 dom 6 czekaj 5000] pż już Studium Podyplomowe z Informatyki, Programowanie – materiały pomocnicze, Przydatne procedury np. w pliku pomoce.txt oto odnowa cs ct pż ukp "czarny opu ugp 1 ustalKolTła "biały już oto hop :dx :dy pod np :dy pw 90 np :dx lw 90 opu już oto kwadrat :a powtórz 4 [np :a pw 90] już oto trójkąt :bok powtórz 3 [np :bok pw 120] już oto prostokąt :a :b powtórz 2 [np :a pw 90 np :b pw 90] już oto maluj :kolor ; kolor jest czarny ukp :kolor hop 2 2 zamaluj hop -2 ( - 2 ) ukp "czarny już oto podpisz :dx :dy :co ; do podpisywania rysunków na ekranie graficznym ; podpis względem aktualnego położenia żółwia ; pozycja żółwia jest niezmiennikiem procedury ; zapamiętanie pozycji żółwia przyp "pozycja_żółwia poz hop :dx :dy pisztekst :co ; przywrócenie pozycji zółwia przed pisaniem pod napoz :pozycja_żółwia opu już przygotowała Helena Krupicka 2