Warsztaty komputerowe
Transkrypt
										Warsztaty komputerowe
                                        
                                        
                                Programowanie w LOGO KOMENIUSZ – grafika żółwia Warsztaty komputerowe Temat: Programowanie w LOGO KOMENIUSZ grafika żółwia Warsztaty komputerowe - grafika żółwia 1 Programowanie w LOGO KOMENIUSZ – grafika żółwia Wprowadzenie teoretyczne Programowanie w logo polega na opisywaniu czynności wykonywanych przez żółwia za pomocą procedur, czyli zrozumiałych dla żółwia poleceń. Najprostsze czynności zostały zdefiniowane przez twórców języka logo tz. procedury pierwotne np: • pż - (pokaż żółwia) jeśli jest nie widoczny, pokazuje żółwia. • sż - (schowaj żółwia) chowa żółwia. • cs - (clear screen) czyści cały ekran z wpisanych procedur i ustawia żółwia na środku. • ustaltło - ustala dane tło • ukp - ustal kolor pisaka. • ugp - ustal grubość pisaka. • np - (naprzód) przesuwa żółwia do przodu o daną liczbę np. np 100. • ws - (wstecz) cofa żółwia o daną liczbę np. ws 50. • lw - (lewo) przesuwa żółwia o dany kąt w lewo np. lw 90. • pw - (prawo) przesuwa żółwia o dany kąt w prawo np. pw 90. • pod - podnieś pisak. • opu - opuść pisak. • powtórz - powtarza daną operację X razy np. powtórz 4. Aby narysować kwadrat należy wykonać 7 instrukcji: np 50 pw 90 np 50 pw 90 np 50 pw 90 np 50 lub można użyć instrukcji pętli powtórz: powtórz 4 [ np 50 pw 90 ] Warsztaty komputerowe - grafika żółwia 2 Programowanie w LOGO KOMENIUSZ – grafika żółwia Ćwiczenie_1 Narysuj prostokąt w wymiarach 100x200 pikseli. Ćwiczenie_2 Narysuj kwadrat o boku równym 200 pikseli oraz jego przekątne. Ćwiczenie_3 Narysuj trójkąt równoboczny o boku równym 200 pikseli. Ćwiczenie_4 Narysuj sześciokąt foremny o boku równym 100 pikseli. Warsztaty komputerowe - grafika żółwia 3 Programowanie w LOGO KOMENIUSZ – grafika żółwia Procedury: Aby zdefiniować własną procedurę należy wybrać z menu: Okno-> Pokaż pamięć-> Obiekty-> Dodaj procedurę oto nazwa_procedury :par_1 :par_2 treść procedury już • Procedura rysująca kwadrat: oto kwadrat :a powtórz 4 [ np :a pw 90] już • Procedura rysująca prostokąt: oto prostokąt :a :b powtórz 2 [ np :a pw 90 np :b pw 90] już • Procedura rysująca trójkąt: oto trójkąt :a powtórz 3 [np :a pw 120] już Zadanie_1 Napisz procedurę, poniżej rysunku: której wywołanie spowoduje wykonanie zamieszczonego oto schody :a :n powtórz :n [np :a pw 90 np :a lw 90] pw 180 np :a * :n pw 90 np :a * :n pw 90 już Parametry: n - ilość schodów, a - wielkość schodów (długość i szerokość). Zadanie_2 Napisz procedurę, poniżej rysunku: której wywołanie oto igla :n :a powtórz :n [np np np np już Parametry: n - ilość igieł na gałązce, Warsztaty komputerowe - grafika żółwia spowoduje wykonanie zamieszczonego :a lw 45 np :a lw 180 :a lw 90 np :a lw 180 :a lw 45 np :a lw 180 :a] a - długość pojedynczej igły. 4 Programowanie w LOGO KOMENIUSZ – grafika żółwia Zadanie_3 Napisz procedurę, poniżej rysunku: której wywołanie spowoduje wykonanie zamieszczonego oto kwadraty :n :a powtórz :n [powtórz 4 [np :a pw 90] np :a] już Parametry: n - ilość pól w pionie, a - długość boku kwadratu. Zadanie_4 Napisz procedurę, poniżej rysunku: której wywołanie spowoduje wykonanie zamieszczonego wywołanie spowoduje wykonanie zamieszczonego Parametry: n - ilość pól w pionie, m - ilość pól w poziomie, k - długość boku pola. Zadanie_5 Napisz procedurę, poniżej rysunku: której Parametry: a - długość boku kwadratu b - długość masztu n - ilość elementów w serwetce. Warsztaty komputerowe - grafika żółwia 5 Programowanie w LOGO KOMENIUSZ – grafika żółwia Zadanie_6 Napisz procedurę, poniżej rysunku: której wywołanie spowoduje wykonanie zamieszczonego Parametry: a - długość boku krzyżyka, 9 * a -długość krótszego boku prostokąta, n - ilość krzyżyków (w poziomie). Procedury rekurencyjne: Rekurencja jest to wywołanie podprogramu (procedury) samej przez siebie. W logo zapis rekurencji będzie wyglądał następująco: oto nazwa_funkcji czynności_wykonywane_przez_procedurę nazwa_funkcji już Tak skonstruowana procedura działałaby w nieskończoność. Dlatego przygotowując funkcję rekurencyjną zawsze należy zadbać o istnienie parametru warunkującego kolejne wykonanie procedury. W tym celu można skorzystać z procedury warunkowej jeśli. Ma ona następującą strukturę: jeśli warunek [co_zrobić_gdy_prawda] [co_zrobić_gdy_fałsz] Instrukcja przypisania: Zadanie 1 przypisz ”nazwa_zmiennej nowa_wartość Warsztaty komputerowe - grafika żółwia oto kwadrat :bok if :bok < 10 [stop] powtórz 4 [np :bok pw 90] przypisz "bok :bok - 10 kwadrat :bok już 6 Programowanie w LOGO KOMENIUSZ – grafika żółwia Zadanie 2 oto kwadrat :bok ?????? Zadanie 3 już oto spirala :r jeśli :r < 0 [stop] powtórz 180 [np :r pw 1] spirala :r - 0.1 już Zadanie 4 oto spirala1 :bok ?????? Zadanie 5 już oto piramida :n :a jeśli :n = 0 [stop] powtórz :n [powtórz 4 [np :a pw 90] pw 90 np :a lw 90] pw 90 ws ( :n * :a ) lw 90 np :a pw 90 np :a / 2 lw 90 piramida :n - 1 :a już Zadanie 6 oto kwad :a :n ????? Już Warsztaty komputerowe - grafika żółwia 7 Zadanie 7 Zadanie 6 Programowanie w LOGO KOMENIUSZ – grafika żółwia Warsztaty komputerowe - grafika żółwia oto koch :n :a jeśli :n = 0 [np koch :n - 1 :a / pw 60 koch :n - 1 :a / lw 120 koch :n - 1 :a / pw 60 koch :n - 1 :a / już :a stop] 3 3 3 3 oto płatek :n :a powtórz 3 [koch :n :a lw 120] już oto pitagoras :a :n powtórz 4 [np :a pw 90] jeśli :n = 0 [stop] np :a lw 37 pit :a * 0.8 :n - 1 pw 90 np :a * 0.8 pit :a * 0.6 :n - 1 ws :a * 0.8 lw 90 - 37 ws :a już 8