Metoda zstępująca projektowania algorytmów
Transkrypt
Metoda zstępująca projektowania algorytmów
Studium Podyplomowe informatyki, Programowanie – materiały pomocnicze przygotowała Helena Krupicka 1 Metoda zstępująca projektowania algorytmów, czyli metoda „od ogółu do szczegółu” Zadanie – narysuj domy Specyfikacja zadania polega na uściśleniu, czyli podaniu kształtu i wymiarów rysunku domów (zob. rys. poniżej). Rysunek jest zależny od jednego parametru. Jest nim jednostka (:j). Wymiary i odległości są wyrażone w liczbie jednostek, np. 5j. j*PWK 2 Zakładamy, że 1. każdy element rysunku zaczynamy rysować od lewego dolnego rogu rysunku i 2. położenie żółwia jest niezmiennikiem procedur. Projekt: Rozpoczynamy od prototypu programu (ciągu procedur) rysującego domy. OTO Domy :j OTO Segment :j OTO Dom :j Segment :j ; pusta treść ; pusta treść Dom :j JUŻ JUŻ JUŻ Procedurą główną niech będzie starter: OTO starter CS Domy 20 JUŻ Domy / \ Segment Dom / \ / \ Dom Dom Ściana JednoOkno | / Prostokąt | (plik w7-8domy1) NP, PW, ... =========== Brakuje przemieszczeń żółwia między elementami rysunku w procedurze Domy. Użyj procedury Hop. Uzupełnij prototyp procedury Domy i uruchom program wywołując starter. OTO Domy :j OTO Segment :j OTO Dom :j Segment :j ; pusta treść ; pusta treść (plik w7-8domy2) Hop 11 * :j 0 JUŻ JUŻ Dom :j Hop -11 * :j 0 JUŻ =========== Uzupełnij treść procedury Segment, wpisz prototypy wywoływanych przez nią nowych procedur (i wywołaj starter). OTO Segment :j OTO Dom :j Dom :j JUŻ Hop 4 * :j 0 (plik w7-8domy3) Dom :j Hop -4 * :j 0 JUŻ ============ Uzupełnij treść procedury Dom, wpisz prototypy wywoływanych przez nią nowych procedur (i wywołaj starter). OTO Dom :j OTO Ściana :j OTO JednoOkno :j OTO Dach :j Ściana :j JUŻ JUŻ JUŻ ;na początek okien Hop :j :j POWTÓRZ 2 [JednoOkno :j Hop 0 2 * :j] (plik w7-8domy4) ;na początek dachu Hop (-1 * :j) 0 Dach :j ;na początek domu Hop 0 (-5 * :j) JUŻ ============ Uzupełnij kolejno treści procedur: Ściana, JednoOkno, Dach i uruchamiaj starter. OTO Ściana :j OTO JednoOkno :j Prostokąt (5 * :j) (4 * :j) Prostokąt :j 2 * :j Prostokąt :j :j JUŻ JUŻ OTO Dach :j PW 135 NP 4 * :j OTO Prostokąt :a :b PW 45 NP :j * PWK 2 PW 90 POWTÓRZ 2 [NP :a PW 90 NP :b PW 90] PW 45 NP 2 * :j JUŻ JUŻ PW 45 NP :j * PWK 2 ============= Koniec projektu rysowania domów metodą zstępującą. (plik w7-8domy5) (plik w7-8domy)