Algorytmika - grafika żółwia

Lekcja 7 - Flagi

 
Teraz narysujemy cztery chorągiewki połączone ze sobą, każda kolejna obrócona o 90 stopni w prawo. Chorągiewka to kwadrat umieszczony na "patyku", którego długość jest dwa razy większa od boku kwadratu. Otwórzmy nowy projekt o nazwie FLAGI z planszą algorytmu i oknem żółwia

Created by DPE, Copyright IRIS 2005

Ponieważ podstawowym elementem rysunku jest pojedyncza chorągiewka, zacznijmy planowanie algorytmu od procedury FLAGA z parametrem bok:

 

1)   Początek procedury;

2)   przejście naprzód o bok;

3)   wywołanie procedury KWADRAT z parametrem bok;

4)   powrót do punktu wyjścia - przejście wstecz o bok;

5)   koniec procedury.

Created by DPE, Copyright IRIS 2005

 

Teraz plan algorytmu głównego:

 

 

1)   Start;

 

2)wczytanie długości boku;

3) powtórzenie 4 razy:

 

wywołanie procedury FLAGA z parametrem bok, obrót w prawo o 90 stopni;

 

koniec powtórzenia

4) koniec.

 

Created by DPE, Copyright IRIS 2005

 

Czwarty punkt procedury FLAGA - przejście wstecz - nie powoduje dorysowania niczego; żółw wraca po narysowanej wcześniej kresce. Czy warto więc go wykonywać? Ależ tak. Po pierwsze, jeśli zadbamy, żeby żółw był na końcu procedury tak samo ustawiony, jak wtedy, gdy ją zaczyna, to nie będziemy musieli zastanawiać się, gdzie procedura "zostawia" żółwia. Po drugie, popatrzmy na główny algorytm - dzięki temu, że żółw nie zmienia swego położenia, jest on bardzo prosty!

Pora na wykonanie algorytmu. Patrzymy, jak w oknie żółwia powstaje rysunek i równocześnie czerwona obwódka wykonywania algorytmu przesuwa się po kolejnych klockach. Gdy natrafia na wywołanie procedury, przeskakuje do ciągu klocków definiujących procedurę, a po natrafieniu na klocek końca procedury wraca do głównego algorytmu. Tym razem takie zagłębianie się w procedury jest podwójne: algorytm główny wywołuje procedurę FLAGA, a ta z kolei wywołuje procedurę KWADRAT.

Na zakończenie warto wybrać z menu Plik/Zachowaj Wszystko, co powoduje zapisanie zarówno projektu, ze stanem wszystkich okien, jak i planszy z algorytmem.

Algorytm jest zapisany w projekcie L7FLAGLPRJ na planszy L7FLAGLSCH.

 

Algorytm w języku żółwia:

Algorytm główny

UWAGA

CZYTAJ bok POWTÓRZ 4 nrFlagi

 [FLAGA bok

PRAWO 90]

KONIEC

 

Procedura FLAGA

OTO FLAGA bok

 NAPRZÓD bok

KWADRAT bok

WSTECZ bok

JUŻ

 

1. Zmieńcie procedurę FLAGA tak, aby długość "patyka" była trzy razy większa od boku kwadratu.

2. Przeróbcie główny algorytm tak, aby wczytywać nie tylko długość boku, ale także liczbę flag, które będą rysowane. Flagi powinny być rozmieszczone symetrycznie - kąt między nimi powinien wynosić 360 stopni podzielone przez liczbę flag.

3. * Zbudujcie algorytm, który będzie rysował 3 flagi ustawione pionowo, umieszczone w pewnej odległości od siebie (aby wykonać ten rysunek, trzeba się zapoznać z klockiem Podnieś pisak).