Jezyki i metody programowania

Podobne dokumenty
Logo Komeniusz. Gimnazjum w Tęgoborzy. Mgr Zofia Czech

Programowanie w LOGO KOMENIUSZ grafika żółwia

Algorytmika i programowanie

Programowanie w języku LOGO KOMENIUSZ

LOGO KOMENIUSZ PODSTAWOWE KOMENDY W LOGO KOMENIUSZ:

Warsztaty komputerowe

ALGORYTMY. Polecenia Skrót Znaczenie Działanie Przykład pż

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Podstawowe komendy. Ćwiczenie 1

Definiowanie procedur z parametrami w Logo Komeniuszu.

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. Scenariusz lekcji. 2.1 Wiadomości: 2.

Przykład animacji w Logo Komeniusz

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE 5 UWARUNKOWANIA TECHNICZNE. Scenariusz lekcji.

Scenariusz lekcji. scharakteryzować budowę procedury w języku Logo; rozróżnić etapy tworzenia i wykonania procedury;

Wstęp. Opis programu :


Tworzenie prezentacji w MS PowerPoint

Scenariusz lekcji. Scenariusz lekcji. zdefiniować pojecie wielokąt foremny;

5.4. Tworzymy formularze

Opis Edytora postaci Logomocji

6.4. Efekty specjalne

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

Grażyna Koba. Grafika komputerowa. materiały dodatkowe do podręcznika. Informatyka dla gimnazjum

narzędzie Linia. 2. W polu koloru kliknij kolor, którego chcesz użyć. 3. Aby coś narysować, przeciągnij wskaźnikiem w obszarze rysowania.

Scenariusz lekcji. Scenariusz lekcji. opisać działanie narzędzi przybornika. korzystać z Edytora postaci programu Logomocja;

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE 5 UWARUNKOWANIA TECHNICZNE. Scenariusz lekcji.

Rozkład materiału nauczania informatyki w klasie 5a, 5b, 5c i 5d.

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

1. Wybierz polecenie rysowania linii, np. poprzez kliknięcie ikony W wierszu poleceń pojawi się pytanie o punkt początkowy rysowanej linii:

Scenariusz lekcji. opisać działanie narzędzi przybornika; wyjaśnić znaczenie pozycji wyjściowej żółwia;

2.1. Duszek w labiryncie

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE 5 UWARUNKOWANIA TECHNICZNE. Scenariusz lekcji.

Jak przygotować pokaz album w Logomocji

Informatyka II. Laboratorium Aplikacja okienkowa

Praktyczne przykłady wykorzystania GeoGebry podczas lekcji na II etapie edukacyjnym.

6.4. Efekty specjalne

Simba 3D LOGO. Cele zajęć: - Poznanie zasad i sposobów tworzenia procedur z parametrami. - Poznanie zasad wywoływania procedur z parametrami.

Tematy lekcji informatyki klasa 4a styczeń 2013

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

CEL zapoznanie z programem do tworzenia rysunków i ukazanie możliwości Edytora obrazów do sporządzania rysunków i ikon.

Misja#3. Robimy film animowany.

Maple i wykresy. 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu.

Wstęp Sterowanie Utworzenie, wybór i kasowanie gracza. utworzenia nowego gracza Nowy gracz Nastawienie gracza

Temat 5. Programowanie w języku Logo

5.4. Efekty specjalne

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:

VinCent Administrator

Kadry Optivum, Płace Optivum

Procedura rekurencyjna to taka procedura, która wywołuje samą siebie.

6.4. Efekty specjalne

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Programowanie w języku Python. Grażyna Koba

3.7. Wykresy czyli popatrzmy na statystyki

Obsługa programu Paint. mgr Katarzyna Paliwoda

RYSUNEK TECHNICZNY I GEOMETRIA WYKREŚLNA INSTRUKCJA DOM Z DRABINĄ I KOMINEM W 2D

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty

C-geo definicja/edycja obiektów, zapis danych w formacie shape

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Szybka instrukcja tworzenia testów dla E-SPRAWDZIAN-2 programem e_kreator_2

Przed rozpoczęciem pracy otwórz nowy plik (Ctrl +N) wykorzystując szablon acadiso.dwt

1. Dodawanie integracji

Dokument zawiera podstawowe informacje o użytkowaniu komputera oraz korzystaniu z Internetu.

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Tworzenie dokumentacji 2D

NAGŁÓWKI, STOPKI, PODZIAŁY WIERSZA I STRONY, WCIĘCIA

Instrukcja obsługi systemu Sky CMS

Podręczna pomoc Microsoft Power Point 2007

Rys.1. Technika zestawiania części za pomocą polecenia WSTAWIAJĄCE (insert)

Temat: Organizacja skoroszytów i arkuszy

6. Tworzenie nowego projektu

GRAFIKA ŻÓŁWIA. PDF stworzony przez wersję demonstracyjną pdffactory Pro CZĘŚĆ 1 OPRACOWAŁ: Wojciech Rogowicz

Kopiowanie, przenoszenie plików i folderów

ACCESS ćwiczenia (zestaw 1)

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

Zakład Systemów Rozproszonych

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Windows Commander (WinCmd)

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Spis treści Szybki start... 4 Podstawowe informacje opis okien... 6 Tworzenie, zapisywanie oraz otwieranie pliku... 23

Jeśli chodzi o wymianę/dodanie zdjęcia w galerii to robimy to za pomocą komponentu Galeria Phoca.

Wymagania edukacyjne z informatyki dla klasy szóstej szkoły podstawowej.

Modelowanie obiektowe - Ćw. 1.

Praktyczna obsługa programu MS Power Point 2003

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Animacje z zastosowaniem suwaka i przycisku

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

Konfiguracja szablonu i wystawienie pierwszej aukcji allegro

ETAP I SZKOLNY. Czas rozwiązywania testu 30 minut. Za każdą poprawną odpowiedź otrzymujesz 1pkt. POWODZENIA!!

Baza danych. Program: Access 2007

Modelowanie części w kontekście złożenia

Darmowy fragment

Klasa I Bezpieczeństwo i higiena pracy z komputerem

Wstawianie filmu i odtwarzanie go automatycznie

Transkrypt:

Jezyki i metody programowania WYKŁAD 5 i 6 Logo. Animacje. Dr Bożena Woźna-Szcześniak bwozna@gmail.com Instytut Matematyki i Informatyki Akademia im. Jana Długosza

Szachownica oto kw pż opu repeat 4 [ np 40 pw 90 ] pod pw 45 np 5 ukm [ 95 173 84 ] zamaluj ws 5 pw 45 np 40 lw 90 oto kw1 pż opu repeat 4 [ np 40 pw 90 ] pod pw 45 np 5 ukm [ 173 95 55 ] fill ws 5 pw 45 np 40 lw 90 2010-03-19 dr B. Woźna-Szcześniak 2

Szachownica oto szachownica repeat 4 [ repeat 4 [ kw kw1 ] lw 90 np 320 pw 90 np 40 repeat 4 [kw1 kw] lw 90 np 320 pw 90 np 40] 2010-03-19 dr B. Woźna-Szcześniak 3

Losowe gwiazdki Rysuje pojedynczą gwiazdkę: oto gwiazda powtórz 6 [powtórz 2 [ np 70 pw 60 np 70 pw 120] pw 60] ------------------------------------------------------------------------------------- :rozrzut - zasięg rozrzutu gwiazdek, :ile - ilość gwiazd. oto gwiazdki :ile :rozrzut przyp "x losowa :rozrzut pw losowa 360 jeśli :ile = 0 [stop] pod np :x opu gwiazda czekaj 100 ;Liczba dodatnie <=65535 gwiazdki :ile - 1 :rozrzut 2010-03-19 dr B. Woźna-Szcześniak 4

Losowe gwiazdki ukp 9 zamaluj ukp 14 ugp 7 gwiazdki 30 1500 2010-03-19 dr B. Woźna-Szcześniak 5

Losowe gwiazdki inaczej Rysuje pojedynczą gwiazdkę: oto romb powtórz 2 [ np 70 pw 60 np 70 pw 120] oto gwiazda powtórz 6 [romb pw 60] ------------------------------------------------------------------------------------- :rozrzut - zasięg rozrzutu gwiazdek, :ile - ilość gwiazd. oto gwiazdki :ile :rozrzut przyp "x losowa :rozrzut pw losowa 360 jeśli :ile = 0 [stop] pod np :x opu gwiazda czekaj 100 gwiazdki :ile - 1 :rozrzut 2010-03-19 dr B. Woźna-Szcześniak 6

Animacja Czym jest animacja? Animacja to stworzenie iluzji ruchu poprzez utworzenie serii obrazów, na których położenie przedmiotów minimalnie się różni, a następnie odtworzenie ich z taką szybkością, aby oko miało złudzenie płynnego ruchu. Iluzja jest przekonująca tylko wtedy, gdy częstotliwość wyświetlania klatek (liczba klatek na sekundę) jest wystarczająco duża, aby oszukać oko. W przypadku człowieka to ok. 60 klatek na sekundę, aby zapewnić płynność ruchu obiektu. 2010-03-19 dr B. Woźna-Szcześniak 7

Animowane serduszko oto serce opu lw 45 np 129 powtórz 200 [np 1 pw 1] lw 130 powtórz 200 [np 1 pw 1] np 131 pw 120 pod np 10 zamaluj oto animowaneserce powtórz 20 [ niech "x losowa 14 ukp :x cs serce czekaj 400] 2010-03-19 dr B. Woźna-Szcześniak 8

Animacja światła drogowe oto skok :x :y opu rt 90 fd :x lt 90 fd :y pod 2010-03-19 dr B. Woźna-Szcześniak 9

Animacja światła drogowe Procedura rysująca okrąg o danym promieniu. oto okrąg :r skok -1 * :r 0 repeat 360 [fd 0,0175 * :r rt 1] skok :r 0 2010-03-19 dr B. Woźna-Szcześniak 10

Animacja światła drogowe oto prostokąt :a :b skok -0,5 * :a 0 fd 0,5 * :b rt 90 fd :a rt 90 fd :b rt 90 fd :a rt 90 fd 0,5 * :b skok 0,5 * :a 0 2010-03-19 dr B. Woźna-Szcześniak 11

Animacja światła drogowe oto zmiany :a ukp 12 zamaluj wait 3000 skok 0-1 * :a ukp 14 zamaluj wait 3000 skok 0 :a ukp 0 zamaluj skok 0-1 * :a ukp 0 zamaluj skok 0-1 * :a ukp 10 zamaluj wait 3000 ukp 0 zamaluj skok 0 :a ukp 14 zamaluj wait 3000 ukp 0 zamaluj skok 0 :a zmiany :a 2010-03-19 dr B. Woźna-Szcześniak 12

Animacja światła drogowe oto sygnalizacja :a cs ukp 0 skok 0 0,5 * :a sż ukp 8 prostokąt :a 3 * :a zamaluj skok 0 :a repeat 3 [ukp 0 okrąg 0,4 * :a zamaluj skok 0-1 * :a] skok 0 3 * :a zmiany :a 2010-03-19 dr B. Woźna-Szcześniak 13

Animacja światła drogowe oto starter sygnalizacja 100 2010-03-19 dr B. Woźna-Szcześniak 14

Wędrujący ludek pierwsza faza oto r1 pod napoz [-300 100] opu powtórz 4 [np 30 pw 90] lw 90 ws 15 pw 90 ws 100 pw 15 ws 50 pw 15 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 15 np 50 lw 15 lw 30 ws 50 pw 90 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 90 np 50 pw 30 np 80 pw 45 ws 40 lw 90 ws 40 np 40 pw 90 np 40 lw 45 lw 30 ws 40 pw 90 np 40 ws 40 lw 90 np 40 pw 30 2010-03-19 dr B. Woźna-Szcześniak 15

Wędrujący ludek druga faza oto r2 pod napoz [-200 100] opu powtórz 4 [np 30 pw 90] lw 90 ws 15 pw 90 ws 100 pw 30 ws 50 pw 15 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 15 np 50 lw 30 lw 15 ws 50 pw 30 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 30 np 50 pw 15 np 80 pw 30 ws 40 lw 90 ws 40 np 40 pw 90 np 40 lw 45 lw 30 ws 40 pw 150 np 40 ws 40 lw 150 np 40 pw 45 2010-03-19 dr B. Woźna-Szcześniak 16

Wędrujący ludek faza trzecia oto r3 pod napoz [-100 100] opu powtórz 4 [np 30 pw 90] lw 90 ws 15 pw 90 ws 100 pw 15 ws 50 pw 30 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 30 np 50 lw 15 lw 15 ws 50 pw 30 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 30 np 50 pw 15 np 80 pw 15 ws 40 lw 90 ws 40 np 40 pw 90 np 40 lw 15 lw 30 ws 40 pw 120 np 40 ws 40 lw 120 np 40 pw 30 2010-03-19 dr B. Woźna-Szcześniak 17

Wędrujący ludek faza czwarta oto r4 pod napoz [0 100] opu powtórz 4 [np 30 pw 90] lw 90 ws 15 pw 90 ws 100 pw 5 ws 50 pw 15 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 15 np 50 lw 5 lw 15 ws 50 pw 90 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 90 np 50 pw 15 np 80 pw 5 ws 40 lw 90 ws 40 np 40 pw 90 np 40 lw 5 lw 5 ws 40 pw 90 np 40 ws 40 lw 90 np 40 pw 5 2010-03-19 dr B. Woźna-Szcześniak 18

Wędrujący ludek faza piąta oto r5 pod napoz [100 100] opu powtórz 4 [np 30 pw 90] lw 90 ws 15 pw 90 ws 100 pw 5 ws 50 pw 15 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 15 np 50 lw 5 lw 45 ws 50 pw 15 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 15 np 50 pw 45 np 80 pw 45 ws 40 lw 90 ws 40 np 40 pw 90 np 40 lw 45 lw 30 ws 40 pw 150 np 40 ws 40 lw 150 np 40 pw 30 2010-03-19 dr B. Woźna-Szcześniak 19

Wędrujący ludek faza szósta oto r6 pod napoz [200 100] opu powtórz 4 [np 30 pw 90] lw 90 ws 15 pw 90 ws 100 pw 15 ws 50 pw 15 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 15 np 50 lw 15 lw 30 ws 50 pw 90 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 90 np 50 pw 30 np 80 pw 45 ws 40 lw 90 ws 40 np 40 pw 90 np 40 lw 45 lw 30 ws 40 pw 90 np 40 ws 40 lw 90 np 40 pw 30 2010-03-19 dr B. Woźna-Szcześniak 20

Wędrujący ludek faza siódma oto r7 pod napoz [300 100] opu powtórz 4 [np 30 pw 90] lw 90 ws 15 pw 90 ws 100 pw 30 ws 50 pw 15 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 15 np 50 lw 30 lw 15 ws 50 pw 30 ws 50 pw 90 np 10 ws 10 lw 90 np 50 lw 30 np 50 pw 15 np 80 pw 30 ws 40 lw 90 ws 40 np 40 pw 90 np 40 lw 45 lw 30 ws 40 pw 150 np 40 ws 40 lw 150 np 40 pw 45 2010-03-19 dr B. Woźna-Szcześniak 21

Wędrujący ludek - wszystkie fazy 2010-03-19 dr B. Woźna-Szcześniak 22

Wędrujący ludek oto ludek powtórz 50 [r1 czekaj 300 zmaż r2 czekaj 300 zmaż r3 czekaj 300 zmaż r4 czekaj 300 zmaż r5 czekaj 300 zmaż r6 czekaj 300 zmaż r7 czekaj 300 zmaż] 2010-03-19 dr B. Woźna-Szcześniak 23

Projekt prostej animacji Tworzenie projektu animacji, podobnie jak kręcenie filmu, składa się z kilku etapów: tworzenia ekranu, czyli scenerii w której rozgrywa się akcja, tworzenia żółwi, czyli bohaterów akcji, napisania procedur do wykonywania zadań, w szczególności działań żółwi, czyli stworzenia scenariusza. 2010-03-19 dr B. Woźna-Szcześniak 24

Tworzenie ekranu Realizację projektu rozpoczynamy od zaprojektowania scenerii - pejzażu z drogą biegnącą poziomo od lewego do prawego brzegu. Krajobraz taki można narysować używając np. Painta. Malując scenerię projektu należy ustalić odpowiednio duży rozmiar obszaru rysowania, aby wypełnić cały ekran graficzny Logo. Jak duży, można sprawdzić w Logo: Opcje - Wygląd ekranu. Ustalamy właściwy rozmiar w programie Paint: Obraz - Atrybuty. Malujemy krajobraz i zapisujemy go (np. C:/Logokom/ekrany/pejzaż.bmp ) Aby krajobraz stał się scenerią animacji należy go w Logo załadować: Plik- Ładuj ekran, wskazujemy odpowiedni katalog i plik, klikamy Ok. 2010-03-19 dr B. Woźna-Szcześniak 25

Tworzenie ekranu 2010-03-19 dr B. Woźna-Szcześniak 26

Żółwie animacyjne, tworzenie i usuwanie nowego żółwia Po uruchomieniu Logo Komeniusza jest tylko jeden podstawowy żółw, mający postać małego trójkącika. Atrybuty żółwia można sprawdzić klikając na niego prawym klawiszem i wybierając opcję Żółw: Zmień mnie. 2010-03-19 dr B. Woźna-Szcześniak 27

Żółwie animacyjne, tworzenie i usuwanie nowego żółwia Żółw trójkącik nie jest żółwiem animacyjnym. Jest to żółw zwykły. Standardowa postać żółwia nie jest pojedynczym trójkątem, lecz sekwencją 24 trójkątów, różniących się orientacją, czyli 24 faz. Postać żółwia w sensie Logo jest obrazem, czyli sekwencją faz. W przypadku zwykłych żółwi fazy postaci służą do pokazywania kierunku żółwia. Gdy żółw zmieni kierunek (polecenie pw lub lw) automatycznie odpowiednio zmienia się faza pokazywana na ekranie. 2010-03-19 dr B. Woźna-Szcześniak 28

Żółwie animacyjne, tworzenie i usuwanie nowego żółwia Żółwie animacyjnymi to takie, w których zmiany faz będą służyły do symulowania ruchu. Na ekranie graficznym może żyć, poruszać się i kreślić rysunki do 4000 żółwi jednocześnie. Możemy więc tworzyć nowe żółwie, a niepotrzebne usuwać. 2010-03-19 dr B. Woźna-Szcześniak 29

Żółwie animacyjne, usuwanie i tworzenie nowego żółwia Aby usunąć żółwia należy wydać polecenie: usż żółw; usż lista żółwi; Wszystkie wskazane żółwie muszą istnieć. Jeżeli jest tylko jeden żółw, to standardowo nazywa się 0. Jeżeli żółw 0 został skasowany, to można go przywrócić wydając polecenie: usw usuń wszystko. Usuwa wszystkie obiekty i żółwie z pamięci i przywraca domyślne ustawienia Logo. odnowa przygotowuje ekran graficzny do rysowania od nowa. W szczególności usuwa wszystkie żółwie i uaktywnia żółwia 0. 2010-03-19 dr B. Woźna-Szcześniak 30

Żółwie animacyjne, tworzenie i usuwanie nowego żółwia By utworzyć nowego żółwia o nazwie słowo wydajemy polecenie: Nowyżółw słowo [] Nowyżółw słowo [liczba1 liczba2 liczba3] Nowyżółw słowo [liczba1 liczba2 liczba3 słowa postać] Gdzie słowa to dowolne spośród: pod, opu, ścier, odwr, ścieranie, odwracanie, pż, sż, słuchaj, animacja; a postać to obraz, plik_lgw, lub zmienna, której wartością jest obraz. Jeśli drugi parametr jest listą pustą, to polecenie jest równoważne poleceniu: Nowyżółw słowo [0 0 0]. W przeciwnym przypadku liczba1 liczba2 to współrzędne pozycji żółwia, a liczba3 oznacza jego podstawowy kierunek. Jeżeli nie ma innych parametrów na liście, to oznacza, że przyjęte są wartości standardowe. 2010-03-19 dr B. Woźna-Szcześniak 31

Żółwie animacyjne, tworzenie i usuwanie nowego żółwia Tworzenie nowego żółwia, który będzie się poruszał po drodze: Kliknij prawym klawiszem myszki na początku drogi, w lewej części ekranu. Wydaj polecenie: utwórz żółwia. Ustal następujące parametry: nazwa: Tomek, odhaczamy pole Opuść, z galerii wybieramy postać o nazwie Tomek, zaznaczamy Podgląd - żółw Tomek składa się z dwóch faz, które niezbyt dobrze nadają się do pokazywania na ekranie zmian kierunku ruchu, ale może być to dobra postać żółwia animacyjnego, ustalamy jego podstawowy kierunek na wschód (90 stopni), zaznaczamy pole Animacja. 2010-03-19 dr B. Woźna-Szcześniak 32

Poruszający się Tomek Aby wprawić Tomka w ruch wystarczy wykonać następującą procedurę: oto ruch np 10 czekaj 100 ruch 2010-03-19 dr B. Woźna-Szcześniak 33

Poruszający się Tomek Aby Tomek lepiej jeździł należy wykorzystać fazy: oto ruch ufa faza + 1 np 10 czekaj 100 ruch Polecenie UFA (ustal fazę) stosujemy tylko do żółwi animacyjnych. FAZA to funkcja pierwotna, której wynikiem jest numer fazy przedstawiającej żółwia na ekranie. Wartością wyrażenia FAZA + 1 jest numer następnej fazy. Jeśli postać żółwia ma dwie fazy, to następną po fazie 2 jest faza 1. 2010-03-19 dr B. Woźna-Szcześniak 34

Nowy niestandardowy żółw Można również samemu zaprojektować nową postać żółwia. Utworzymy nowego żółwia - dziewczynka, która będzie stała na drodze i machała do nas ręką. Klikamy prawym przyciskiem myszy, gdzie ma stać nasz nowy bohater akcji, wybieramy- Utwórz żółwia: nazwa: dziewczynka, odhaczamy pole opuść, zaznaczamy animację, klikamy dwa razy w okienko podglądu postaci żółwia - otwiera się okno edytora obrazów, w którym możemy projektować nowego żółwia. 2010-03-19 dr B. Woźna-Szcześniak 35

Nowy niestandardowy żółw Aby stworzyć kolejne fazy żółwia postępujemy następująco: otwieramy okno Treść, klikamy Kopiuj, następnie Wstaw za. Teraz obraz składa się z dwóch identycznych faz, klikamy druga fazę i Ok, zmieniamy dowolnie postać, czynności powyższe powtarzamy tworząc kolejne fazy ruchu żółwia. Zapisujemy utworzony obraz: Plik- Zapisz jako- dziewczynka. Klikamy przycisk Zakończ i Zamknij. 2010-03-19 dr B. Woźna-Szcześniak 36

Tomek i dziewczynka eksperymenty z wieloma żółwiami Uzupełniamy scenariusz naszej animacji, czyli procedurę Ruch. Żółw Tomek ma się poruszać, natomiast żółw Dziewczynka ma stać i machać do nas ręką, więc należy nasz scenariusz rozdzielić na role dla każdego z nich. Użyjemy do tego polecenia Słuchaj. oto ruch słuchaj [Tomek] ufa faza + 1 np 10 czekaj 100 słuchaj [dziewczynka] ufa faza + 1 czekaj 100 ruch Po poleceniu Słuchaj tylko wymienione w nim żółwie są aktywne i będą słuchały poleceń. Wszystkie inne są pasywne, tzn. nadal istnieją, ale śpią aż do chwili, gdy je zbudzimy (np. poleceniem Słuchaj). 2010-03-19 dr B. Woźna-Szcześniak 37

Nowy niestandardowy żółw W Logo oprócz tego, że możemy animować żółwie, możemy również napisać procedurę dla żółwia, która wywołana będzie stanowiła animację. Przykładowo: na ekranie, w miejscu gdzie mamy słonko utwórzmy żółwia, który będzie rysował migające promienie słońca. oto promienie ugp 3 powtórz 36 [ukp 14 pod np 30 opu np 30 pod ws 60 pw 10] pw 5 powtórz 36 [ukp 14 pod np 30 opu np 30 pod ws 60 pw 10] pw 5 czekaj 10 powtórz 36 [ukp [0 255 255] pod np 30 opu np 30 pod ws 60 pw 10] 2010-03-19 dr B. Woźna-Szcześniak 38

Tomek, dziewczynka i słoneczko oto ruch słuchaj [Tomek] ufa faza + 1 np 10 czekaj 100 słuchaj [dziewczynka] ufa faza + 1 czekaj 100 słuchaj [słonko] promienie ruch Aby żółw słonko był niewidoczny należy go schować poleceniami: słuchaj [słonko] sż. 2010-03-19 dr B. Woźna-Szcześniak 39

Procedura starter Procedura Starter ma dwie istotne własności: można ja wywołać klawiszami Ctrl + F9, jeśli jest w projekcie uruchamia się automatycznie po otworzeniu projektu. oto starter ruch 2010-03-19 dr B. Woźna-Szcześniak 40

Polecenie Proszę PROSZĘ żółw lista_poleceń_logo PROSZĘ lista_żółwi lista_poleceń_logo Jeśli PROSZĘ jest poleceniem, żółw lub żółwie wskazane przez pierwszy parametr wykonają polecenia z listy stanowiącej drugi parametr. Te żółwie mogą być aktualnie aktywne lub nie - stają się aktywne na czas wykonywania danej listy poleceń. Wszystkie żółwie wskazane przez pierwszy parametr wykonują listę poleceń "równolegle" - w odróżnieniu od polecenia KAŻDY, które wywołuje działanie wszystkich aktywnych żółwi kolejno - jeden za drugim. Po wykonaniu polecenia PROSZĘ lista KTO - aktywnych żółwi ma ponownie taką wartość, jak przed rozpoczęciem polecenia PROSZĘ. 2010-03-19 dr B. Woźna-Szcześniak 41

Polecenie Proszę? NOWYŻÓŁW "ADAM [10 10 90]? POKAŻ KTO 0? PROSZĘ "ADAM [(POKAŻ "Adam "znajduje "się "w "punkcie POZ)] Adam znajduje się w punkcie [10 10] 2010-03-19 dr B. Woźna-Szcześniak 42

Funkcja Proszę PROSZĘ żółw [ wyrażenie ] PROSZĘ lista_żółwi [ wyrażenie ] Jeśli PROSZĘ jest funkcją, żółw lub żółwie wskazane przez pierwszy parametr czasowo uaktywniają się i obliczana jest wartość drugiego parametru - jest ona wynikiem funkcji. Po obliczeniu wartości funkcji PROSZĘ, lista KTO - aktywnych żółwi przyjmuje ponownie taką wartość jak poprzednio.? NOWYŻÓŁW "ADAM [10 10 90]? POKAŻ KTO 0? (POKAŻ "Adam "znajduje "się "w "punkcie PROSZĘ "ADAM [POZ] ) Adam znajduje się w punkcie [10 10] 2010-03-19 dr B. Woźna-Szcześniak 43

Funkcja ŁADOB ŁADOB Plik_LGW [ ] Wynikiem jest obraz zapisany w pliku. ŁADOB Plik_LGW wycinek Jeśli dany plik LGW składa się z większej liczby faz niż chcemy dostać w wyniku ŁADOB, to określamy wycinek: w postaci pary liczb: liczba1 to numer fazy, która ma być początkiem odcinka obrazu; zaś liczba2 określa, z ilu kolejnych faz ma się składać wybrany segment. Drugi parametr pusty [ ] oznacza, że wynikiem ma być cały obraz zapisany w pliku.? PRZYP "NOWY ŁADOB "AUTA [1 2]? POKAŻ :NOWY {obraz2}? PRZYPOS :NOWY 2010-03-19 dr B. Woźna-Szcześniak 44

Funkcja ŁADOB ŁADOB Plik_LGW [ ] ŁADOB Plik_LGW wycinek Jeśli w danej nazwie pliku nie ma ścieżki dostępu lub jest tylko częściowa, to plik będzie poszukiwany w podkatalogu OBRAZY katalogu macierzystego. By zmienić to ustalenie, stosuj polecenie USTALŚCIEŻKĘ podając jako pierwszy parametr "OBRAZY. By znaleźć aktualne ustalenie, wywołuj funkcję ŚCIEŻKA z parametrem "OBRAZY. Jeśli nie jest podane żadne rozszerzenie, to ŁADOB automatycznie dodaje.lgw. By zapisać obraz w pliku, stosuj polecenie ZAPISZOB. By nadać żółwiowi nową postać, stosuj PRZYPOS. 2010-03-19 dr B. Woźna-Szcześniak 45

Droga oto starter usż wszystkie ustaleg [450 250] ut [255 255 210] nowyżółw 0 [0-18 90] słuchaj 0 ugp 18 ukp 7 np 450 usż 0 niech "domy ładob "domy [] niech "drzewa ładob "drzewa [] niech "auto ładob "auta [2 1] niech "auto2 ładob "auta [4 1] nowyżółw "dom1 [-190-10 270] nowyżółw "dom2 [-85-10 270] nowyżółw "dom3 [40-10 270] nowyżółw "drzewo1 [80-10 270] nowyżółw "sam [-20-20 90] nowyżółw "sam2 [-10-23 270] nowyżółw "drzewo2 [-140-30 270] nowyżółw "drzewo3 [-40-30 270] nowyżółw "dom4 [-50-30 270] proszę wszystkie [pod pż] proszę [dom1 dom2 dom3 dom4][każdy [przypos los :domy]] proszę [drzewo1 drzewo2 drzewo3][każdy [przypos los :drzewa]] proszę [sam][przypos :auto] proszę [sam2][przypos :auto2] ruch 2010-03-19 dr B. Woźna-Szcześniak 46

Droga cd. oto ruch proszę [dom1 dom2 dom3 drzewo1][np 3] proszę [drzewo2 drzewo3 dom4][np 4] proszę "sam [np 2] proszę "sam2 [np 6] czekaj 10 ruch 2010-03-19 dr B. Woźna-Szcześniak 47

Typy danych Oprócz grafiki żółwia, drugim charakterystycznym elementem języka Logo są typy danych oraz sposób ich zapisu. W Logo Komeniusz, wyróżnia się trzy typy danych. Są to: słowa, listy, i obrazy. 2010-03-19 dr B. Woźna-Szcześniak 48

Słowa Słowem jest ciąg dowolnych znaków, który nie zawiera separatora: nawiasów kwadratowych, okrągłych i klamrowych: [], (), {}, znaków operacji arytmetycznych: +, -, *, /, (wyjątkiem jest użycie na początku słowa znaków + lub - w odniesieniu do liczb dodatnich lub ujemnych), znaków oznaczających relacje: =, <, > odstępu (spacji). Słowami są np.: Jan_Nowak 1994 -- liczba jest słowem. -7 -- liczba ujemna jest słowem. NAPRZÓD -- procedura jest słowem. 2010-03-19 dr B. Woźna-Szcześniak 49

Słowa Słowami nie są np.: Jan Nowak -- Zawiera spację. [Jan_Nowak] -- Zawiera parę nawiasów klamrowych. słowo poprzedzone cudzysłowem, czyli operatorem dosłowności, jest traktowane jako tekst, słowo poprzedzone dwukropkiem oznacza - w zależności od kontekstu - parametr formalny procedury lub wartość zmiennej, słowo nie poprzedzone dwukropkiem i żadnym z tych znaków jest traktowane jako wywołanie procedury, liczby są szczególnym przypadkiem słów (tzw. słowo numeryczne), które zapisujemy bez poprzedzającego cudzysłowu. 2010-03-19 dr B. Woźna-Szcześniak 50

Słowa Przykłady: -127.13 Liczba. Kwadrat -- Procedura o nazwie Kwadrat (jeśli została wcześniej zdefiniowana) "Kwadrat -- Słowo siedmioznakowe Kwadrat. " -- Słowo puste :Kwadrat -- Wartość zmiennej lub parametru o nazwie Kwadrat. ":Kwadrat -- Słowo ośmioznakowe :Kwadrat. :"Kwadrat -- Wartość zmiennej lub parametru o nazwie "Kwadrat Ostatnie dwa przykłady są "sztuczne" i powinno się unikać tego typu zapisów!!! 2010-03-19 dr B. Woźna-Szcześniak 51

Jak zrobić procedurę drukującą tekst na ekranie? oto kalkulator :obliczenia pisz :obliczenia? kalkulator 2+3 5? kalkulator 2*3 6? kalkulator 2-3 -1 2010-03-19 dr B. Woźna-Szcześniak 52

Procedura obliczająca kwadrat danej liczby oto potega :x niech "y :x * :x pisz :y potega 4 16 2010-03-19 dr B. Woźna-Szcześniak 53

Procedura obliczająca silnię oto silnia :n niech "w 1 niech "i 1 powtórz :n [niech "w :w * :i niech "i :i+1 ] pisz :w? silnia 5 120? silnia 7 5040 2010-03-19 dr B. Woźna-Szcześniak 54

Procedura obliczająca sumę kolejnych liczb naturalnych oto suma :n niech "s 0 niech "i 1 powtórz :n [niech "s :s + :i niech "i :i + 1] pisz :s 2010-03-19 dr B. Woźna-Szcześniak 55

Listy Lista w języku Logo jest ujętym w nawiasy kwadratowe ciągiem słów lub list, ciąg ten może być pusty. Jest to definicja rekurencyjna. Lista pusta, tj. [ ], ma zero elementów. Lista niepusta ma co najmniej jeden element. Może nim być słowo lub lista. Przykłady: [Ala ma kota] -- Lista trzyelementowa, której każdy element jest słowem. [Ja [Ty On]] -- Lista dwuelementowa, której pierwszy element jest słowem, a drugi element jest listą dwuelementową. [ ] Lista pusta. 2010-03-19 dr B. Woźna-Szcześniak 56

Sortowanie bąbelkowe oto sortuj :l_sort przyp "l_tmp [] przyp "x " przyp "n długość :l_sort powtórz :n [powtórz :n ~ [jeśli puste? bp :l_sort [przyp "l_tmp nak pierw :l_sort :l_tmp] ~ [jeśli pierw :l_sort < pierw bp :l_sort ~ [przyp "l_tmp nak pierw :l_sort :l_tmp przyp "l_sort bp :l_sort] ~ [przyp "l_tmp nak pierw bp :l_sort :l_tmp przyp "x pierw :l_sort przyp "l_sort bp bp :l_sort ~ przyp "l_sort nap :x :l_sort]]] przyp "l_sort :l_tmp przyp "l_tmp [] pisz :l_sort] 2010-03-19 dr B. Woźna-Szcześniak 57