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