1.Przykłady prostych algorytmów opisujących codzienne czynności

Slides:



Advertisements
Podobne prezentacje
Piszemy proste programy i tworzymy animacje w Logomocji .
Advertisements

PROGRAMOWANIE STRUKTURALNE
ALGORYTM Co to jest algorytm?
Badania operacyjne. Wykład 2
PRZYKŁAD ROZWIĄZANIA TARCZY
Wstęp do programowania obiektowego
JAKO CZĘŚĆ NASZEGO ŻYCIA
Algorytmy i algorytmika Opracowanie: Teresa Szczygieł
Wstęp do interpretacji algorytmów
CO TO JEST ALGORYTM!.
Dr Anna Kwiatkowska Instytut Informatyki
Algorytmy Marek Pudełko
Budowa algorytmów Algorytm: skończony ciąg operacji wraz z ściśle sprecyzowanym porządkowaniem ich wykonywania, które po realizacji dają rozwiązanie dowolnego.
ALGORYTMY.
Algorytmy Opracowanie: Maria Skalska na podstawie „Informatyka 2000” wydawnictwa Czarny Kruk.
Opracowała: Iwona Kowalik
Podstawy programowania
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Algorytmy.
ADRESOWANIE WZGLĘDNE I BEZWZGLĘDNE Ćwiczenia
Logo Komeniusz Gimnazjum w Tęgoborzy Mgr Zofia Czech.
Poznaj bliżej program Microsoft Office Word 2007
Warsztaty programowania w języku Python
Materiały pochodzą z Platformy Edukacyjnej Portalu
Język programowania Logo - na przykładzie programu LOGOMOCJA
BUDOWANIE SCHEMATU BLOKOWEGO REALIZUJĄCEGO PROSTY ALGORYTM
GIMNAZJUM nr 1 W BIERUNIU
ALGORYTMY.
Materiały pochodzą z Platformy Edukacyjnej Portalu
Jak tworzyć algorytmy.? Sposób krok po kroku..
Algorytmy.
Logo Środowisko pracy.
Logomocja Polska edycja Imagine.
Partner Handlowy Konfiguracja sieci TCP/IP - Windows 2000, Xp, 2003.
Lekcja organizacyjna Klasa III.
Spis treści W świecie algortmów -Budowa algorytmu
INSTRUKCJA WARUNKOWA (TJ. JEŻELI)
Temat: PROCEDURY Z PARAMETRAMI W LOGO KOMENIUSZ
Algorytmika.
Materiały pochodzą z Platformy Edukacyjnej Portalu
Wprowadzenie do algorytmiki
ALGORYTMY Co to jest algorytm ? Cechy algorytmu Budowa algorytmów
Program Logomocja.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Obliczalność czyli co da się policzyć i jak Model obliczeń maszyna licznikowa dr Kamila Barylska.
Rozwiązywanie układów równań liniowych różnymi metodami
Logomocja - podstawowe polecenia języka Logo
Algorytmy- Wprowadzenie do programowania
Logomocja - tworzenie procedur
opracowała: Anna Mikuć
ALGORYTMY-WPROWADZENIE. ALGORYTMY W ŻYCIU CODZIENNYM
Temat: Wprowadzenie do programowania w środowisku LOGO KOMENIUSZ
Wstęp do Podstawy Programowania
SAMOUCZEK PRZYKŁAD ZASTOSOWANIA PROGRAMU DO MODELOWANIA TARCZ.
PRZYKŁAD OBLICZENIOWY PRĘT
PRZYKŁAD ROZWIĄZANIA KRATOWNICY
Wstęp do interpretacji algorytmów
Korespondencja seryjna jest funkcją, która umożliwia nam stworzenie dokumentu, który zawiera ten sam typ informacji, lecz dla każdego adresata zawiera.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
Co to jest algorytm? Środowisko programu Logo Komeniusz
Środowisko Logo Komeniusz Program Logo Komeniusz jest edukacyjnym językiem programowania pracującego w środowisku Windows. Umożliwia rozwiązywanie problemów.
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
Co to jest algorytm? Uporządkowany i uściślony sposób rozwiązania danego problemu, zawierzający szczegółowy opis wykonywanych czynności w skończonej.
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Algorytmy i algorytmika Opracowanie: Teresa Szczygieł
Programujemy figury o równych bokach
Procedury własne to procedury tworzone przez użytkownika, składające się z nagłówka, który zawiera słowa oto i nazwę procedury z parametrem, treści procedury.
PROCEDURY Definicję procedury rozpoczynasz od słowa oto. Następnie podaj nazwę procedury (nie może ona zawierać spacji), potem dodaj treść procedury. Koniec.
Zrozumieć, przeanalizować i rozwiązać
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

1.Przykłady prostych algorytmów opisujących codzienne czynności

Co to jest algorytm ? Na lekcjach matematyki czy fizyki często słyszymy zdanie "rozwiąż zadanie. Większość ich rozwiązujemy według pewnych schematów. Najpierw wypisujemy dane i zastanawiamy się do jakiego celu dążymy, a więc jaki ma być wynik. Następnie wypisujemy wzory łączące dane z szukanymi bądź twierdzenia, które można zastosować. Przed koniecznością rozwiązywania zadań stajemy również poza szkołą. Robimy to w każdej innej dziedzinie naszego życia, na przykład: telefonując do koleżanki i zapraszając ją na ciasto gotując jajko na twardo kupując piłkę w sklepie znajdując najniższego ucznia w klasie pisząc wypracowanie Również przy takim typie zadań musimy określić dane i warunki, które muszą one spełniać. formułujemy także wynik, który pragniemy uzyskać. Algorytm to przepis rozwiązania zadania, zawierający opis danych wraz z opisem czynności, które należy wykonać z tymi danymi, aby osiągnąć zamierzony cel.

Etapy rozwiązywania problemów W procesie rozwiązywania każdego zadania możemy wyróżnić pewne etapy, które nas do niego prowadzą. Etapy rozwiązywania problemów: 1.     Sformułowanie zadania 2.     Określenie danych wejściowych 3.     Określenie celu, czyli wyniku 4.     Poszukiwanie metody rozwiązania, czyli algorytmu 5.     Przedstawienie algorytmu w postaci: o       opisu słownego o       listy kroków o       schematu blokowego o       języka programowania 6.     Analiza poprawności rozwiązania 7.     Testowanie rozwiązania dla różnych danych. Ocena efektywności przyjętej metody.

Budowa algorytmów Algorytmy powinny być tak przedstawiane, aby było możliwe ich jednoznaczne odczytanie i zastosowanie. Niektóre algorytmy można opisać w języku potocznym, zwłaszcza wtedy, gdy jego wykonawcą ma być człowiek (w informatyce zajmujemy się opracowywaniem algorytmów, których wykonanie powierzamy komputerom). Z czego składa się algorytm? Zawiera on opis danych, opis wyników oraz plan działania, czyli przetworzenia danych. Plan ten można przedstawić w postaci ciągu czynności, które muszą być wykonane w określonej kolejności. Opis czynności występujących w algorytmie nazywamy instrukcjami

Ćwiczenie 1 Opracuj algorytm gotowania jaja na miękko Ćwiczenie 1 Opracuj algorytm gotowania jaja na miękko. Zastanów się jak ugotować jajko na miękko. Na początku opracowywania algorytmu przyjmijmy założenie, że używamy kuchenki gazowej, posiadamy garnek i wodę. Oczywiście niezbędne jest też samo jajko. Zakładamy również, że nic nie utrudni samej czynności, to znaczy np. w trakcie gotowania nie zostaniemy pozbawieni dopływu gazu, czy też osoba nie wie co to garnek. Algorytm ten ma postać: 1.     Wlać do garnka zimną wodę. 2.     Zapalić gaz. 3.     Gotować wodę do wrzenia. 4.     Włożyć jajko. 5.     Odczekać trzy minuty. 6.     Zgasić gaz. 7.     Wyjąć jajko Ma on prostą postać. Składa się z ciągu instrukcji, które są wykonywane jedna po drugiej w kolejności, jaka wynika z ich następstwa w zapisie algorytmu. Taki algorytm nosi nazwę algorytmu liniowego (sekwencyjnego).

Ćwiczenie 2 Opracuj algorytm telefonicznego zaproszenia koleżanki na ciasto. Numer telefonu : 666-22-88. Wiesz już jak wyglądał poprzedni algorytm oraz co to jest algorytm liniowy. W tym przypadku zrobimy założenie, że nic nie utrudni połączenia (a więc już za pierwszym razem zostaniemy połączeni z wybraną osobą), a wykonawca czynności zna cyfry i wie jak wybiera się je z tarczy telefonu. Oto jak wygląda algorytm (wersja 1): 1.     Podnieś słuchawkę. 2.     Wybierz cyfrę 6. 3.     Wybierz cyfrę 1. 4.     Wybierz cyfrę 6. 5.     Wybierz cyfrę 2. 6.     Wybierz cyfrę 2. 7.     Wybierz cyfrę 2. 8.     Wybierz cyfrę 2. 9.     Przekaż informacje. 10. Odłóż słuchawkę. Algorytmy liniowe mają opisy składające się z kroków, które nie zależą od żadnych warunków i są wykonywane w zapisanej kolejności. Istnieją jednak sytuacje, w których dalsze postępowanie w algorytmie zależy od spełnienia, bądź nie, określonych warunków. Czasami musimy powtórzyć pewne kroki algorytmu kilka razy.

2. Język i środowisko Logo Komeniusz Podstawowe polecenia

LOGO Język Logo został opracowany przez grupę uczonych pod kierownictwem Seymoura Paperta w Laboratorium Sztucznej Inteligencji MIT (Massachusetts Institute of Technology) w latach siedemdziesiątych. Logo jest dialektem języka LISP a w pracach nad nim wykorzystano wyniki badań szwajcarskiego pedagoga i psychologa, profesora Jeana Piageta.          Logo jest przede wszystkim językiem edukacyjnym, językiem pierwszego kontaktu człowieka z programowaniem komputera. Jest także językiem wysokiego poziomu, umożliwiającym rozwiązywanie poważnych problemów z informatyki, matematyki i innych dziedzin. Logo jest językiem wyjątkowo łatwym i przyjemnym w obsłudze, który ponadto wyrabia dobre nawyki oraz uczy zasad poprawnego, strukturalnego programowania.          Powstało wiele systemów programowania Logo. Między innymi polskie AC-Logo dla IBM PC, na którym testowane były wszystkie umieszczone na tej stronie procedury. Ostatnio popularniejsze jest Logo dla Windows - Komeniusz, który jest środowiskiem dydaktycznym wykorzystującym możliwości i zalety interfejsu graficznego. Twórcami Komeniusza są: Ivan Kalaš , Andrej Blaho i Peter Tomcsányi.

Uruchomienie LOGO KOMENIUSZ W oknie Menedżera programów, znajdziemy ikonę: By otworzyć Logo, kliknij dwukrotnie w tę ikonę lub kliknij raz i naciśnij Enter. Po chwili na ekranie otworzy się Główne okno Logo Komeniusz.    

  By zakończyć pracę w Logo, należy kliknąć dwukrotnie w przycisk sterowania okna lub wybrać polecenie Koniec z menu Plik (Alt, F,X) lub napisać na Ekranie tekstowym polecenie pierwotne Logo DOSĆ. Wtedy otworzy się dialog: Koniec pracy? Czy zapisać wynik pracy? Możemy wybrać Tak, Nie lub Anuluj i zapisać wynik pracy, skończyć pracę bez zapisywania jej wyniku lub kontynuować pracę w Logo dalej

Jak wiadomo w logo mamy możliwość sterowania tzw. żółwiem Jak wiadomo w logo mamy możliwość sterowania tzw. żółwiem.         W wersji AC-Logo "żółw" faktycznie oznaczony jest rysunkiem tego zwierzaka. W Komeniuszu jest to domyślnie trójkącik ale jest możliwość zmiany postaci.       Odległości na ekranie żółwia mierzymy w krokach. W przypadku AC-Logo szerokość ekranu to 600 kroków, a wysokość 300. Początek układu współrzędnych jest położony w środku ekranu.       

Ważniejsze polecenia Logo:       pw     - w prawo o podaną po odstępie liczbę stopni. Np. pw 90 - obrót żółwia o 90 stopni w prawo (obrót w miejscu)       lw      - w lewo z uwagami jak wyżej       np     - naprzód o podaną po odstępie liczbę kroków       ws    - wstecz o podaną po odstępie liczbę kroków       podane powyżej polecenia dla ruchów żółwia są względne; tzn. położenie żółwia po wykonaniu polecenia zależy od początkowego położenia żółwia (przed wykonaniem)      ponadto mamy polecenia bezwzględne:      poz [ x y ]  - ustawienie żółwia na pozycji x y tzn. w miejscu o współrzędnych x,y. Zamiast x i y wpisujemy liczby oznaczające współrzędne pamiętając o rozmiarach ekranu     pozx      - ustawienie żółwia na współrzędnej x podanej po odstępie bez zmiany położenia żółwia w pionie      pozy      - j.w. ale zmiana położenia w pionie bez zmiany położenia w poziomie     kąt       - ustawienie żółwia pod kątem danym (po odstępie) względem pionu bez zmiany jego położenia    Ponadto mogą nam się przydać następujące polecenia:     cs   - czyszczenie ekranu, bez parametrów. Czyści ekran i ustawia żółwia na poz 0,0     pż    - pokaż zółwia (jeśli był schowany)     sż    -  schowaj żółwia     ścier - bez parametrów. Przejście do trybu ścierania: od tej pory linia po której idziemy będzie ścierana, przy przejściu po pustym terenie - brak efektów. Wyłączenie trybu - opu.     opu  - opuść pisak - od tej chwili żółw zostawia za sobą ślad (jeśli tego już nie robił)     pod  - podnieś pisak - żółw przestanie zostawiać za sobą ślad

Postać ogólna procedury w języku logo (w wersji polskiej): OTO nazwa_procedury :parametr ;treść procedury JUŻ Elementy pisane czcionką pogrubioną są obowiązkowe.  Przykład: Załóżmy, że chcemy narysować kwadrat o boku 100 kroków na ekranie. Ciąg poleceń wpisywanych w trybie bezpośrednim mógłby przedstawiać się następująco:    np 100 (idę najpierw naprzód o 100 kroków)   pw 90 (obracam się w prawo o 90 stopni)   np 100   pw 90   np 100   pw 90   np 100   pw 90 (ostatni obrót w prawo aby ustawić się w takiej pozycji jak przed rozpoczęciem rysowania)

Mamy narysowany kwadrat Mamy narysowany kwadrat. Ale jeśli chcemy drugi, znowu musimy wklepać 8 poleceń! Jeśli zdefiniujemy procedurę kwadrat od tej pory żółw "będzie wiedział co to jest kwadrat". Wtedy aby kwadrat pojawił się na ekranie wystarczy wpisać po znaku zapytania nazwę procedury (czyli kwadrat).     Wobec tego zdefiniujemy procedurę kwadrat. W przypadku Komeniusza trzeba kliknąć na odpowiednią ikonkę. W Komeniuszu ponadto każda procedura ma własne okienko.     oto kwadrat         np 100 pw 90 np 100 pw 90 np 100 pw 90 np 100 pw 90     już    A teraz pierwsze drobne usprawnienie: aby nie pisać wielokrotnie tego samego tekstu (w naszym przypadku np 100 pw 90) możemy użyć instrukcji złożonej powtórz.     Ogólna postać instrukcji:    POWTÓRZ ile_razy [ instrukcje do powtarzania  ]    Zamiast "ile_razy" wpisujemy konkretną liczbę lub zmienną. Teraz nasz kwadrat o boku 100 będzie narysowany za pomocą procedury o treści:    oto kwadrat        powtórz 4 [ np 100 pw 90 ]    już    Został jeszcze jeden drobny problem - mamy kwadrat ale tylko o boku 100. A co będzie jeśli chcemy kwadrat o boku 50? I tu widać rolę parametrów procedury. Niech teraz nasza procedura ma postać:    oto kwadrat :a       powtórz 4 [ np :a  pw 90 ]    już

Łączenie kilku procedur w jedną. Np Łączenie kilku procedur w jedną. Np. rysująca serwetkę: oto ser powtórz 9 [powtórz 360 [np 1,5 pw 1] np 20 pw 40] już

PROCEDURY RYSUJĄCE PROSTOKĄT   oto prostokąt :a :b      powtórz 2 [np :a pw 90 np :b pw 90]   już wywołanie: np.  prostokąt 100 TRÓJKĄT RÓWNOBOCZNY   oto trójkąt :a     powtórz 3 [np :a pw 120]   już N-KĄT FOREMNY   oto wielokąt :a :n    powtórz :n [np :a pw 360 / :n ]   już

ROZETA ZŁOŻONA Z WIELOKĄTÓW   oto rozeta :a :n :m    powtórz :m [ wielokąt :a :n  pw 360 / :m ]   już przykładowy efekt przy wywołaniu rozeta 50 6 12:  

PŁOTEK  Tu dla większej przejrzystości zdefiniujemy dwie procedury:    oto sztacheta :a :b      np :a pw 30 np :b pw 120 np :b pw 30 np :a pw 90 np :b pw 90    już   oto płotek :a :b :n    powtórz :n - 1 [sztacheta :a :b pw 90 np :b lw 90 np :a / 2                         prostokąt :a / 4 :b pw 90 np :b lw 90 ws :a / 2 ]   sztacheta :a :b   już