Kącik informatyczny - Język Logo
Logo to język programowania powstały w latach 60 XX wieku jako narzędzie edukacyjne. Kojarzy się on z grafiką żółwia, jednak umożliwia także wykonywanie obliczeń, definiowanie własnych funkcji i poleceń oraz badanie i rozwiązywanie różnych problemów z wielu dziedzin. Pomimo, iż Logo jest stworzone głównie do nauki, posiada wiele cech typowych dla bardziej złożonych języków.
Programy napisane w Logo mogą wykonywać obliczenia, pisać teksty oraz tworzyć rysunki na ekranie. Rysunki tworzone są przez żółwia, który będzie poruszał się po ekranie według twoich poleceń. Polecenia dla żółwia wprowadzisz z klawiatury używając do tego celu ekranu tekstowego.
Aby stworzyć własny program w Logo musimy skorzystać z tzw. środowiska Logo. W przedstawionych poniżej przykładach posłużę się wersją demonstracyjną programu Logomocja-Imagine, którą można pobrać tutaj.
Poniżej znajduje się tabela podstawowych poleceń. Spróbuj przesunąć żółwia do przodu o 100 kroków, wpisując w polu tekstowym polecenie np 100.
Instrukcja iteracyjna
Oto ciąg poleceń w języku Logo rysujących kwadrat:
np 100 pw 90
np 100 pw 90
np 100 pw 90
np 100 pw 90
Zauważcie, że pewne czynności powtarzają się czterokrotnie. Aby skrócić zapis, można skorzystać z tzw. instrukcji iteracyjnej.
Ogólny zapis instrukcji iteracyjnej jest następujący:
powtórz ile [co?]
Instrukcja iteracyjna rysująca kwadrat to:
powtórz 4 [np 100 pw 90]
Procedura
Procedura to ciąg poleceń realizujących określone zadanie. Każda procedura składa się z następujących elementów:
oto nazwa procedury
czynności do wykonania
już
Przykład procedury rysującej kwadrat:
oto kwadrat
powtórz 4 [np 100 pw 90]
już
Procedurę można wywołać dowolną ilość razy pisząc jej nazwę. Jeżeli chcemy narysować dwa kwadraty jeden nad drugim, wystarczy wpisać:
kwadrat
np 100 (przesunięcie żółwia w górę o 100 kroków)
kwadrat
Procedura z parametrem
Procedury z parametrem pozwalają nam określać rozmiar lub wygląd rysowanych figur. Parametr jest dowolnym wyrazem rozpoczynającym się od znaku :.
oto nazwa procedury :parametr
czynności do wykonania
już
Przykład procedury z parametrem rysującej kwadrat:
oto kwadrat :bok
powtórz 4 [np :bok pw 90]
już
Wywołanie procedury:
kwadrat 100 (rysuje kwadrat o boku 100)
kwadrat 200 (rysuje kwadrat o boku 200)
Liczba parametrów wprowadzanych po nazwie procedury jest dowolna.
Procedura Wielokąt i zamalowywanie
W języku LOGO można w prosty sposób tworzyć kolorowe linie i wielokąty. W tym celu należy ustalić kolor pisaka oraz kolor wypełnienia. Służą do tego następujące polecenia:
ukp nr_koloru - ustala kolor pisaka np. ukp 0
ukm nr_koloru - ustala kolor wypełnienia np. ukm 12
ukp jld - ustala kolor pisaka w sposób losowy
Wykorzystamy teraz polecenie wielokąt do narysowania wypełnionego na czerwono prostokąta o wymiarach 80x150.
wielokąt [80 90 150 90 80 90 150 90]
Kolejne liczby możemy rozumieć jako: np 80 pw 90 np 150 pw 90 np 80 pw 90 np 150 pw 90. Wobec tego możliwy jest też krótszy zapis:
wielokąt [2 [80 90 150 90] ]
Zadania do samodzielnego wykonania
Zadanie 1
Napisz procedurę prostokąt, która rysuje prostokąty o podanych długościach boków a i b.
Przykład wywołania: prostokąt 100 30
Zadanie 2
Napisz procedurę pięciokąt, która rysuje pięciokąty foremne o podanej długości boku w ten sposób, że każdy bok jest innego koloru.
Przykład wywołania: pieciokąt 100
Zadanie 3
Napisz procedurę kwadraty, która rysuje tyle kwadratów o boku długości 20 jeden nad drugim, jaką liczbę podamy jako parametr.
Przykład wywołania: kwadraty 4
Efekt wywołania procedury: