PODSTAWY PROGRAMOWANIA W  LOGO  KOMENIUSZ

  1. PIERWSZE KROKI Z LOGO
  2. DEFINIOWANIE WŁASNYCH PROCEDUR
PIERWSZE KROKI Z LOGO KOMENIUSZ

Opis środowiska Logo Komeniusz

Program komputerowy to zrozumiały dla komputera ciąg instrukcji. Każdy program napisany jest w jakimś języku programowania. Język ten służy wyłącznie do zapisywania algorytmów wykonywania programów. Zestaw instrukcji opisujących całą aplikację nazywamy kodem źródłowym programu. Tali kod źródłowy nie jest bezpośrednio zrozumiały dla komputera. Aby maszyna go wykonała, musi zostać najpierw przetłumaczony na język wewnętrzny komputera, który jest ciągiem operacji elementarnych realizowanych przez komputer. Taki program nazywamy programem wynikowym. Aby zamienić kod źródłowy programu na sam program wynikowy musimy użyć innego programu zwanego translatorem (od ang. translation - tłumaczenie). Operacja ta nazywana jest translacją. Wyróżniamy przy tym dwa rodzaje translatorów w zależności od zastosowanej metody tłumaczenia programu:

  • Kompilator - wczytuje cały kod źródłowy programu, dokonuje jego optymalizacji i tłumaczy na kod wynikowy. W rezultacie otrzymujemy program wynikowy gotowy w każdej chwili do wykonania. Wynik kompilacji jest zapamiętywany w postaci pliku wykonywalnego (stąd rozszerzenie dla wielu programów zapisanych za pomocą pliku wykonywalnego *.exe od ang. executable). Skompilowanie programu umożliwia jego wykonanie w dowolnym momencie na dowolnym komputerze. Kompilator jest nam potrzebny tylko raz (podczas kompilacji).
  • Interpretator - wczytuje fragment kodu źródłowego programu, tłumaczy na kod wynikowy i od razu wykonuje. Operacja ta jest powtarzana dla kolejnych elementów programu. Przy każdym uruchomieniu programu trzeba od początku zamieniać jego kod źródłowy na kod wynikowy zrozumiały dla komputera. Zatem do każdego wykonania programu musimy użyć interpretatora.

Podczas pracy z językiem logo w środowisku Logo Komeniusz będziesz używał interpretatora. Dlatego aby uruchomić jaki kolwiek program napisany w logo musisz posiadać i uruchomić program Logo Komeniusz.

Spróbuj uruchomi program Logo Komeniusz. W rezultacie otrzymasz coś takiego:

  Menu programu
  Ekran graficzny
  Ekran tekstowy

Praca w Logo Komeniusz może odbywać się w trzech trybach, których wyboru dokonacie za pomocą odpowiednich przycisków:

Tryb graficzny - obszar, w którym żółw wykonuje rysunki. Ekran graficzny ma swoje współrzędne wyrażone w punktach (czyli krokach żółwia). "Domem" dla żółwia jest środek ekranu, który ma współrzędne (0,0). Ekran możemy przyrównać do kartezjańskiego układu współrzędnych.
Tryb graficzno-tekstowy - obszar, w którym wpisujemy polecenia w języku Logo. Pojawiają się tu także rożne komunikaty. Polecenia wpisujemy w miejscu kursora tekstowego. W tym miejscu program wypisuje komunikaty, wyniki działań oraz teksty.
Tryb tekstowy - Łączy w sobie tryb graficzny i tekstowy. Proporcje pomiędzy ekranem graficznym oraz ekranem tekstowym możemy ustalać dowolnie. Należy skorzystać z przeciągania myszą (do góry lub w dół) podwójnej poziomej linii oddzielającej ekrany.

Programy napisane w logo mogą wykonywać obliczenia, pisać teksty oraz tworzyć rysunki na ekranie. Rysunki na ekranie tworzone są przez żółwia (bądź wiele żółwi) na ekranie graficznym. Wszystkie polecenia rysowania będziesz kierował właśnie do żółwia! się po ekranie według twoich poleceń będzie on pozostawiał ślady, które z kolei utworzą obrazy, często dość skomplikowane. Plecenia dla żółwia wprowadzisz z klawiatury używając do tego celu ekranu tekstowego. Najwygodniej korzystać jest zatem z trybu graficzno-tekstowego, w którym jednocześnie możesz wpisywać polecenia i obserwowć rezultaty ich wykonania.

Kreski, kwadraty i koła

Kreski

To, jaką czynność właśnie wykonuje żółw, zależy od trybu jego pracy. może rysować, ścierać lub po prostu się przemieszczać po ekranie. Aby żółw przeszedł do odpowiedniego trybu, korzystamy z następujących komend:

  • POD - żółw przesuwa się po ekranie nie zostawiając za sobą śladu;
  • OPU - żółw przesuwa się po ekranie zostawiając za sobą linię;
  • ŚĆIER - żółw przesuwa się po ekranie ścierając istniejące elementy.

Spróbuj teraz przećwiczyć kilka najprostrzych konstrukcji. Posłuż się do tego najbardziej elementranymi procedurami:

  • - pokazuje symbol żółwia na ekranie;
  • -chowa symbol żółwia na ekranie;
  • CS - czyści ekran i ustawia żółwia na pozycji (0,0);
  • NP X - porusza żółwiem o X pikseli do przodu;
  • PW X - obraca żółwia o X° w prawo;
  • LW X - obraca żółwia o X° w lewo.
Nic trudnego, prawda? Jak zatem narysować poniższy rysunek?

Nic prostrzego! Należy pokazać żółwia, następnie przejść żółwiem o 100 pikseli do przodu, obócić go o 45° w lewo i na koniec przejść nim o 90 pikseli do przodu. Zatem Twój "program" będzie wyglądał następująco:


? pż
? np 100
? lw 45
? np 90

A co wówczas, jeżeli zadasz zółwiowi tak wiele pikseli do przejścia, zę przekroczy to zakres ekranu? Wszystko zależy od trybu okna, w którym aktualnie pracuje żółw. W Logo Komeniusz mamy przy tym do wyboru dwa tryby okna, wywoływane za pomocą komend:

  • oknożółwia - po przekroczeniu ekranu żółw wykonuje swoje czynności poza nim na "wirtualnym" ekranie;
  • sklej - żółw pojawia się po przeciwnej stronie ekranu kontynuując swoją pracę, jak gdyby brzegi ekranu zostały ze sobą sklejone.
Wypróbuj działanie tych komend na przykład w taki sposób:


? cs
? sklej
? lw 45
? np 900
? cs
? oknożółwia
? lw 45
? np 900

Kwadraty

Narysowanie kwadratu o określonym przez Ciebie boku jest stosunkowo łatwe. Musisz postawić cztery kreski obócone względem sibie o 90°.


? cs
? np 100
? pw 90
? np 100
? pw 90
? np 100
? pw 90
? np 100
? pw 90

A oto i efekt:

Zauważ, że w powyższym zadaniu czterokrotnie wykonałeś tą samą czynność: poruszałeś się naprzód, a następnie obracałeś żółwia o 90° w prawo. Program znacznie by się uprościł, gdyby mozna było nakazać żółwiowi pewne czynności wykonać kilkakrotnie. Spróbuj:


? cs
? powtórz 4 [ np 100 pw 90 ]

Efekt będzie taki sam, jak na poprzednim rysunku.

Koła

Mam nadzieję, że dotychczasowe czynności nie sprawiły Ci zbyt wiele kłopotu. Spróbuj więc teraz czegoś trudniejszego. Co sądzisz o narysowaniu koła?

W logo komeniusz nie ma procedury pozwalającej na bezpośredni rysowanie okręgów czy łuków. Aby udało Ci się narysować okąg musisz żółwia trochę oszukać. Spróbuj narysować trzystusześćdziesięciobok o boku 1. Będzie on wyglądał niemal idealnie jak koło.


? cs
? powtórz 360 [ np 1 pw 1 ]

W wyniku otrzymasz taki obrazek:

Tak naprawdę do koła wystarczająco podobny jest 36-bok i nim będziemy się w dalszej części kursu posługiwać.


? cs
? powtórz 36 [ np 10 pw 10 ]


DEFINIOWANIE WŁASNYCH PROCEDUR

Procedury bez parametrów

Programowanie w logo polega na opisywaniu czynności wykonywanych przez żółwia za pomocą procedur, czyli zrozumiałych dla żółwia. Najprostsze czynności zostały zdefiniowane przez twórców języka logo. Nazywamy je procedurami pierwotnymi. Niektóre z nich już poznałeś (na przykład NP, WS, CS PW czy LW). Dość obszerną listę procedur pierwotnych znajdziesz w dziale różne.

Wykorzystując istniejące procedury możesz budować własne, odpowiadające chwilowym potrzebom programów.

Definicję procedury rozpoczynasz od słowa oto. Nastepnie podaj nazwę procedury (nie może ona zawierać spacji), potem dodaj treść procedury. Koniec sygnalizujesz słowem już.


? oto nazwa_procedury
? treść procedury
? już

Jak to działa? Spróbuj zdefiniować sobie procedurę rysującą kwadrat o boku 100 punktów.


? oto kwadrat
? powtórz 4 [ np 100 pw 90 ]
? już

Teraz wystarczy wywołać procedurę...


? kwadrat

...i na ekranie pojawi się żądany kwadrat.

Zadeklarowany w ten sposób każdy rysowany kwadrat będzie miał bok długości 100 punktów. Jeżeli będziesz potrzebował do rysowania innego kwadratu, np. o boku 20 punktów, będziesz musiał zdefiniować nową procedurę pod nową nazwą:


? oto kwadrat20
? powtórz 4 [ np 20 pw 90 ]
? już

W ten sposób możesz zdefiniować także inne figury, np. koło czy trójkąt:


? oto koło
? powtórz 36 [ np 10 pw 10 ]
? już ?
? oto trójkąt
? powtórz 3 [ np 100 pw 120 ]
? już

Procedury z parametrami

Zauważ, że definiowanie procedury bez parametru jest mało elastyczne. Właściwie do każdej potrzebnej nam figury będziesz potrzebował nowej procedury. Żeby narysować poniższy rysunek, musiałbyś zdefiniować 10 różnych procedur kwadratów o bokach od 20 do 200 punktów!

Znacznie lepiej byłoby zdefiniować jedną uniwersalną procedurę, która sprawdzałaby się każdej sytuacji. Struktura takiej procedury wygląda następująco:


? oto nazwa_procedury :parametr1 :parametr2 itd.
? treść procedury
? już

Spróbuj teraz zdefiniować procedurę, w której parametrem będzie długość boku kwadratu:


? oto kwadrat :bok
? powtórz 4 [np :bok pw 90]
? już

Teraz wystarczy wywołanie: kwadrat 70 i już kwadrat o boku 70 pojawi się na Twoim ekranie.

Parametrem Twojej procedury jest :bok. Nazwa poprzedzona jest : (dwukropkiem), który nazywamy operatorem wartościowania. Będziesz go stosował, aby odróżnić nazwę parametru (bądź zmiennej) od nazwy procedury.

Spójrz i wypróbuj także poniższe procedury. Pierwsza narysuje na ekranie koło o zadanym promieniu, druga wielobok o określonym przy wywoływaniu boku i liczbie kątów.

Dlaczego takie skomplikowane obliczenia przy kole? Otóż obwód 36-boku równy jest 36 * długość boku. Natomiast obwód koła równy jest 2 * Pi * r. Przyrównajmy te dwie warości do siebie:

2 * Pi * r = 36 * bok

Znając promień otrzymujemy:

bok = (2 * Pi * r) / 36 ˜= 0,175 * r


? oto koło :promień
? powtórz 36 [np :promień * 0,175 pw 10]
? już
? oto wielobok :bok :ileboków
? powtórz :ileboków [np :bok pw 360 / :ileboków]
? już

Spróbuj przygotować własne procedury rysujące kwadrat, romb, prostokąt i równoległobok o zadanych przez Ciebie parametrach (długości boków i kąty między bokami).

Powodzenia!









WebSite PRO - darmowy edytor stron WWW




Główna | Podstawy logo | Rekurencja | Animacja | Funkcje | Listy | Różne | Linki

Kontakt:

 MIROSLAWOS

STRONY WWW BY MIROSLAWOS © 2002