Darmowy fragment www.bezkartek.pl



Podobne dokumenty
Programowanie strukturalne w Logo

Programowanie w języku LOGO KOMENIUSZ

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

Podstawowe komendy. Ćwiczenie 1

Programowanie w LOGO KOMENIUSZ grafika żółwia

Warsztaty komputerowe

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

Algorytmika i programowanie

Wstęp. Opis programu :

LOGO KOMENIUSZ PODSTAWOWE KOMENDY W LOGO KOMENIUSZ:

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

Definiowanie procedur z parametrami w Logo Komeniuszu.

Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego

Języki formalne i automaty Ćwiczenia 5

Przykład animacji w Logo Komeniusz

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

Temat 5. Programowanie w języku Logo

Wymagania edukacyjne - Informatyka w klasie I

TWORZENIE OBIEKTÓW GRAFICZNYCH

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.

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.

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

Wykorzystanie programu C.a.R na lekcjach matematyki

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

Scenariusz lekcji. opisać zasady programowania strukturalnego; wyjaśnić pojęcia: procedura własna, procedura z parametrem, lista, zmienna;

Technologie Informacyjne Mechatronika 2012/2013 Turtle

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

PLAN WYNIKOWY KLASA 1

Grafika Komputerowa Materiały Laboratoryjne

2.1. Duszek w labiryncie

Wymagania edukacyjne na ocenę z informatyki klasa 3

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Obrazy rekurencyjne. Zastosowanie rekurencji w algorytmice. AUTOR: Martin Śniegoń

Program graficzny MS Paint.

Od szczegółu do ogółu, praktyczne refleksje o nauczaniu informatyki wg nowej podstawy programowej

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

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

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

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

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

Wstęp do programowania w języku TurtleScript

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

Następnie zdefiniujemy utworzony szkic jako blok, wybieramy zatem jak poniżej

Obsługa programu Paint. mgr Katarzyna Paliwoda

Wymagania edukacyjne dla klasy 5 szkoły podstawowej zgodny z podręcznikiem Lubię to!

PLAN WYNIKOWY Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY 6

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

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

Ćwiczenie 3. I. Wymiarowanie

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

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

Rysowanie precyzyjne. Polecenie:

Z nowym bitem. Zajęcia komputerowe dla szkoły podstawowej. Klasa 6

Jezyki i metody programowania

LABORATORIUM 7 Cel: 1_1

KONSTRUKCJA TRÓJKĄTA 1 KONSTRUKCJA TRÓJKĄTA 2 KONSTRUKCJA CZWOROKĄTA KONSTRUKCJA OKRĘGU KONSTRUKCJA STYCZNYCH

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Szczegółowe wymagania edukacyjne. dla uczniów Szkoły Podstawowej nr 1 w Proszowicach. z przedmiotu zajęcia komputerowe

Klasa I Bezpieczeństwo i higiena pracy z komputerem

Temat 4. Programowanie w języku Scratch

Scenariusz lekcji. nazwać elementy składowe procedury; wymienić polecenia służące do malowania wnętrza figur;

Z nowym bitem. Zajęcia komputerowe dla szkoły podstawowej. Klasa VI

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Wymagania edukacyjne na ocenę z informatyki KLASA III

Wprowadzenie do programowania

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

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

Podstawy programowania w Pythonie

Arkusz strona zawierająca informacje. Dokumenty Excela są jakby skoroszytami podzielonymi na pojedyncze arkusze.

AUTOCAD teoria i zadania z podstaw rysowania Rysowanie linii, prostej, półprostej, punktu, trasy, polilinii. Zadania geodezyjne.

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

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

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

Użycie przestrzeni papieru i odnośników - ćwiczenie

Kolejną czynnością będzie wyświetlenie dwóch pasków narzędzi, które służą do obsługi układów współrzędnych, o nazwach LUW i LUW II.

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

1. Komputer i program komputerowy

Wymagania edukacyjne z zajęć komputerowych na poszczególne oceny szkolne dla klasy VI

Wymagania na poszczególne oceny szkolne informatyka dla klasy VI

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

Wymagania edukacyjne z zajęć komputerowych w klasie 5

O czym należy pamiętać?

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Wstęp Pierwsze kroki Pierwszy rysunek Podstawowe obiekty Współrzędne punktów Oglądanie rysunku...

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

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Rozkład materiału do zajęć z informatyki. realizowanych według podręcznika

GIMNAZJALISTO, ZRÓB TO SAM PROGRAMOWANIE W SCRATCHU

INFORMATYKA KLASA IV

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4

Zajęcia komputerowe dla szkoły podstawowej. Klasa VI

Programowanie w języku Python. Grażyna Koba

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

Szczegółowe wymagania edukacyjne. dla uczniów Szkoły Podstawowej nr 1 w Proszowicach. z przedmiotu zajęcia komputerowe

Rozdział 8 PROGRAMOWANIE SIECIOWE

Podstawy Processingu. Diana Domańska. Uniwersytet Śląski

Transkrypt:

t n e gm.pl a r f tek y w kar o rm.bez a D ww w

Copyright by Oficyna Wydawnicza Impuls, Kraków 2009 Projekt okładki: Ewa Beniak-Haremska ISBN 978-83-7850-323-1 978-83-7587-205-7 Oficyna Wydawnicza Impuls 30-619 Kraków, ul. Turniejowa 59/5 tel. (0-12) 422-41-80, fax (0-12) 422-59-47 www.impulsoficyna.com.pl, e-mail: impuls@impulsoficyna.com.pl Wydanie I, Kraków 2009

Spis treści Wprowadzenie 5 1. Grafika żółwia 7 1.1. Podstawowe procedury.................... 7 1.2. Instrukcje iteracyjne..................... 10 1.3. Definiowanie procedur.................... 11 1.4. Zastosowanie funkcji..................... 14 1.5. Kolorowanie.......................... 17 1.6. Grubość pisaka........................ 20 1.7. Styl kreślonej linii....................... 20 1.8. Styl zamalowywania powierzchni............... 21 1.9. Bezwzględne położenie żółwia................ 22 2. Programowanie strukturalne 23 2.1. Wprowadzenie......................... 23 2.2. Wirówki............................ 28 2.3. Przykłady........................... 32 3. Okręgi i łuki 39 3.1. Okręgi............................. 39 3.2. Półokręgi............................ 46 3.3. Łuki.............................. 53 3.4. Procedura standardowa ellipse............... 58 3.5. Przykłady........................... 60 4. Procedury rekurencyjne 63 4.1. Wprowadzenie......................... 63 4.2. Spirale............................. 64 4.3. Płatek Kocha......................... 66

4 SPIS TREŚCI 4.4. Trójkąt i dywan Sierpińskiego................ 69 4.5. Krzywa Peano......................... 72 4.6. Smok Hartera......................... 74 4.7. Krzywa Hilberta........................ 76 4.8. Drzewo binarne........................ 78 4.9. Drzewo Pitagorasa...................... 80 4.10. Paprotka........................... 89 4.11. Przykłady.......................... 94 5. Obliczenia w Logo 105 5.1. Wprowadzenie......................... 105 5.2. Funkcje............................ 108 5.3. Notacja polska......................... 109 5.4. Funkcje rekurencyjne..................... 112 6. Słowa i listy 117 6.1. Wprowadzenie......................... 117 6.2. Procedury pierwotne..................... 119 6.3. Przykłady........................... 125 Podsumowanie 140 Bibliografia 141

Wprowadzenie Język programowania Logo został opracowany przez Seymourta Paperta i jego współpracowników z Laboratorium Sztucznej Inteligencji w MIT (Massachussetts Institute of Technology), zainspirowanych pracami i działalnością francuskiego psychologa i pedagoga J.Piageta, który badał sposoby myślenia dzieci, w różnych etapach ich rozwoju i podejmował próby przyspieszenia tego rozwoju. Logo powstało na początku lat siedemdziesiątych, jako język edukacyjny, przeznaczony do pierwszych kontaktów z komputerem. Spełnia w dużym stopniu warunki stawiane nowoczesnym językom programowania. Jest łatwe oraz wygodne w użyciu, czytelne i nieobciążające zbędnymi szczegółami użytkownika przy rozwiązywaniu problemów z wykorzystaniem komputera. Mimo swojej prostoty i łatwości w posługiwaniu się nim, Logo jest językiem dość wszechstronnym, nie ograniczającym programisty do wąskiej klasy zastosowań. S.Papert charakteryzuje Logo jednym zdaniem: Logo nie ma progów i sufitów, jest łatwe do nauczenia się, ale równocześnie jest interesującym wyzwaniem dla wytrawnych programistów 1. Charakterystycznym elementem tego języka jest tzw. grafika żółwia, najbardziej widoczna w pierwszych kontaktach z Logo. Logo wykorzystuje grafikę do poglądowego, wręcz wciągającego do zabawy, uczenia podstawowych pojęć informatyki związanych z programowaniem strukturalnym, tworzeniem procedur, posługiwaniem się mechanizmem rekurencji, tworzeniem procedur niezmienniczych i prawidłowym konstruowaniem wymiany parametrów między poszczególnymi procedurami. Język Logo jest językiem proceduralnym i programowanie w nim polega na tworzeniu procedur rozwiązujących konkretne zadanie. Zwykle procedury te używają innych, te z kolei innych i w rzeczywistości może być to bardzo rozbudowana struktura. Wywołanie głównej procedury, to jakby wywołanie programu, ale można też wywołać każdą procedurę osobno, aby 1 A.Jeske, Logo w zadaniach, 1988

6 WPROWADZENIE na przykład sprawdzić jej poprawność. Tak więc w środowisku Logo mamy do dyspozycji pojedyncze procedury, które wiążemy w logiczną całość lub używamy ich samodzielnie w zależności od tego co chcemy osiągnąć. Praca z programem jest konwersacyjna, Logo jest językiem interpretowanym. Tok rozumowania przy programowaniu w Logo jest zgodny z naszym naturalnym sposobem myślenia - rozbijania problemu na mniejsze części, które dadzą się już łatwo rozwiązać i składania z tych części rozwiązania całości. Użytkownik łatwo może sam rozbudować Logo o nowe instrukcje (procedury) i dopasować je do rozwiązania określonego problemu. W przeciągu ponad 35 lat od opracowania angielskiej wersji Logo, utworzono szereg interpreterów Logo, również całych środowisk, wykorzystujących coraz większe możliwości komputerów i systemów operacyjnych. Oprócz interpreterów w języku angielskim opracowywano również interpretery w języku ojczystym lub w obu tych językach. Kolejne wersje Logo oprócz wzbogacanego zestawu instrukcji standardowych umożliwiały tworzenie animacji, pracę z wieloma żółwiami, oraz tworzenie rysunków trójwymiarowych. W Polsce pierwszą szeroko rozpowszechnioną wersją było ACLogo, z 1992 roku, przystosowane do systemu operacyjnego DOS. Następnym interpreterem jest Logo Komeniusz, rozpowszechniany w Polsce od 2000 roku. Kolejnym interpreterem jest Logomocja-Imagine, rozpowszechniany w Polsce od 2003 roku. Niektóre szkoły, zwłaszcza te mniejsze, ze względów oszczędnościowych, korzystają z bezpłatnego interpretera MSWLogo, utworzonego w USA (tylko w wersji angielskiej). Występują pewne różnice w niektórych instrukcjach, zwłaszcza w iteracyjnych i warunkowych. W Logo Komeniuszu w celu kontynuacji listy w następnej linii trzeba na końcu linii wstawić znak tyldy. W pracy przedstawiono wybrane instrukcje i ich zastosowanie oraz przykłady algorytmów. Przyjęto wersję angielską, gdyż większość młodzieży uczy się języka angielskiego. Wszystkie przykłady zostały uruchomione interpreterem Logomocja-Imagine.

Rozdział 1 Grafika żółwia 1.1. Podstawowe procedury Istotą grafiki żółwia w Logo jest użycie wskaźnika graficznego, zwanego żółwiem. Wskaźnik może mieć różny kształt, zależnie od implementacji. W obecnych implementacjach można używać wiele żółwi oraz indywidualnie nadawać im kształty, najczęściej żółwiem jest trójkącik. Żółwiem można sterować podając komendy z klawiatury i w ten sposób rysować obraz na ekranie. Podsumowując, ruch generuje obraz. Stosunkowo łatwo można rysować bardzo złożone figury. Bezpośednio na ekranie widać w postaci graficznej wyniki swojej pracy. Można porównać otrzymaną figurę z oczekiwaną, wykryć i usunąć błędy. Logo w formie zabawy uczy myśleć i wprowadza w tajniki programowania. W Logo jest możliwość definiowania nowych poleceń, czyli w przenośni uczeń staje się nauczycielem komputera. Żółw na ekranie ma określone położenie w układzie kartezjańskim (współrzędne X i Y), oraz kierunek, w jakim jest ustawiony. Żołw może poruszać się naprzód i wstecz za pomocą prostych komend, można również zmieniać jego kierunek poleceniami lewo lub prawo (kąt jest wyrażony w stopniach). Żółw trzyma pióro, które może być opuszczone lub podniesione, ewentualnie zamienione na gumkę. Poniżej przedstawione są podstawowe komendy sterujące ruchem żółwia. W Polsce są używane różne wersje Logo, bardziej uniwersalne angielskie i bardziej przystępne polskie. W tych wersjach niektóre komendy mają dwie postacie, pełną i skróconą. W pracy przedstawiono zasadniczo komendy angielskie oraz dodatkowo kursywą w nawiasach kątowych komendy w języku polskim, komendy

8 ROZDZIAŁ 1. GRAFIKA ŻÓŁWIA są w postaciach pełnych i skróconych. Natomiast wszystkie przykłady są w wersji angielskiej. Dwie poniższe procedury sterujące ruchem żółwia wymagają tylko jednego argumentu, ilości pikseli na ekranie, o którą należy przesunąć żółwia: 1. przesunięcie żółwia naprzód o podaną liczbę pikseli (forwrd, fd <naprzód, np>), 2. przesunięcie żółwia wstecz o podaną liczbę pikseli (back, bk <wstecz, ws>). Dwie kolejne procedury sterujące ruchem żółwia też wymagają tylko jednego argumentu, kąta wyrażonego w stopniach, o który ma się obrócić żółw: 1. obrót żółwia w prawo o podaną liczbę stopni (right, rt <prawo, pw >), 2. obrót żółwia w lewo o podaną liczbę stopni (left, lt <lewo, lw>). Następne procedury, sterujące zółwiem, są bezargumentowe: 1. podniesienie pisaka (penup, pu <podnieś, pod >), 2. opuszczenie pisaka (pendown, pd <opuść, opu>), 3. ścieranie, pisak staje się gumką i wymazuje ślad, pozostawiając podczas ruchu linię koloru tła (penerase, pe <ścieranie, ścier >), 4. odwracanie, pisak zmienia kolor pikseli z koloru tła na kolor atramentu, a z koloru atramentu na kolor tła (penreverse, px <odwracanie, odwr >), 5. czyszczenie okienka graficznego, czyli wypełnianie kolorem tła, oraz umieszczenie żółwia w środku okienka, skierowanie pionowo w górę (clearscreen, cs <czyść, cs>), 6. czyszczenie okienka graficznego, czyli wypełnianie kolorem tła, ale pozostawienie zółwia w tym samym położeniu (clean, <zmaż >), 7. umieszczenie żółwia w położeniu początkowym, w środku okienka, skierunkowianie pionowo w górę, bez czyszczenia okienka graficznego (home <wróć>),

1.1. PODSTAWOWE PROCEDURY 9 8. pokazanie żółwia (showturtle, st <pż>), ale z widocznym żółwiem wolniej są rysowane złożone figury i przysłaniane niektóre szczegóły 9. schowanie żółwia (hideturtle, ht <sż >). Wyjście z trybu ścierania dokonuje się za pomocą jednej z instrukcji: penup (pu), pendown (pd), penreverse (px). W rozwiązywaniu zadań graficznych głównie używa się pierwszych sześciu procedur graficznych. Nowsze interpretery Logo umożliwiają posługiwanie się wieloma żółwiami. Nie przyspiesza i nie upraszcza to rysowania złożonych figur, ale ułatwia tworzenie animacji, gdyż żółwie mogą mieć różne postacie i różne własności. W trybie bezpośrednim, konwersacyjnym wpisuje się polecenia i po zatwierdzeniu klawiszem Enter nastąpuje ich wykonanie. Poszczególne polecenia mogą byc wpisywane pojedynczo, w oddzielnych liniach, oddzielnie zatwierdzane klawiszem Enter. Ten sposób umożliwia obserwację wykonywania poszczególnych poleceń. Polecenia mogą być też wpisane w jednej linii. Przykładowo wykonanie następujących poleceń spowoduje narysowanie rysunku 1.1, przedstawiającego trójkąt równoboczny: cs st rt 30 fd 100 rt 120 fd 100 rt 120 fd 100 rt 90 Rys. 1.1. W trybie bezpośrednim narysowany trójkąt równoboczny

10 ROZDZIAŁ 1. GRAFIKA ŻÓŁWIA 1.2. Instrukcje iteracyjne W języku Logo są dwie instrukcje iteracyjne: repeat i while. Instrukcja repeat <powtórz > powtarza listę instrukcji określoną liczbę razy. Po słowie repeat jest wyrażenie arytmetyczne, które podaje liczbę powtórzeń, następnie jest zamknięta w nawiasy kwadratowe lista instrukcji. Przykład zastosowania instrukcji iteracyjnej do narysowania kwadratu o boku 100: repeat 4 [fd 100 rt 90]. Instrukcja while <dopóki> powtarza listę instrukcji aż do uzyskania określonego skutku. Po słowie while występują dwie listy. Lista pierwsza zawiera wyrażenie logiczne, a lista druga ciąg instrukcji do wykonania. Dopóki wartością wyrażenia logicznego jest prawda, to powtarzane jest wykonanie instrukcji z listy drugiej. Kolejnym przykładem zastosowania instrukcji iteracyjnej jest narysowanie figury przdstawionej na rysunku 1.2. Rys. 1.2. Przykładowy rysunek (kwadrat z krzyżem) Dalej przedstawiono zestaw instrukcji do otrzymania rysunku, w trybie konwersacyjnym. cs rt 45 repeat 4 [fd 50 bk 50 rt 90] lt 45 pu bk 50 lt 90 fd 50 rt 90 pd repeat 4 [fd 100 rt 90] pu rt 90 fd 50 lt 90 fd 50 pd (wyczyszczenie ekranu, ustawienie żółwia do rysowania krzyża) (narysowanie krzyża) (przywrócenie początkowego kierunku żółwia) (ustawienie żółwia w lewym dolnym wierzchołku kwadratu) (narysowanie kwadratu) (na zakończenie przywrócenie początkowego ustawienia żółwia)