Logomocja

Istnieje wiele języków programowania, stworzonych z myślą o konkretnych celach. Są to programy przeznaczone do obsługi baz danych, obliczeń matematycznych, czy też tworzenia rozbudowanych aplikacji. Podstawowym celem niniejszego opracowania jest przedstawienie w sposób możliwie przystępny, w oparciu o prezentację rozwiązanych przykładów, zasad programowania w Logo, ze szczególnym uwzględnieniem list. Słowa i listy oraz działania na nich stanowią główna siłę tego języka. Pozwalają one praktycznie reprezentować i prezentować różne struktury danych np.: liczby, napisy, zbiory, a nawet tablice nie występujące w Logo w sposób bezpośredni.

Dzięki swej prostocie, programowaniu poprzez konwersację oraz łatwość tworzenia własnych poleceń, język Logo jest przede wszystkim doskonałym środkiem dydaktycznym, pozwalającym młodym adeptom programowania, poznawać tajniki tej niełatwej sztuki.

Pomimo, iż Logo jest stworzone głównie do nauki, posiada wiele cech typowych dla bardziej złożonych języków. Pozwala rozwiązywać złożone problemy i zarządzać skomplikowanymi strukturami danych.

Charakterystyka

Język Logo powstał w latach siedemdziesiątych w Massachusetts Institute of Technology w USA. Jego głównym twórcą jest Seymour Papert. Skorzystał on z doświadczeń francuskiego psychologa i pedagoga Jeana Piageta, który badał sposoby myślenia dzieci, na różnych etapach ich rozwoju i podejmował próby jego przyspieszenia.

Papert w książce pt.: “Mindstorms: children, computers and powerful ideas” postawił hipotezę, że: “...Logo przez manipulację mikroświatem jednocześnie konkretnym i systematycznym, może przyspieszyć u dzieci rozwój operacji formalnych...”.

Nie jest to zatem język do tworzenia oprogramowania, lecz środek do nauczania informatyki.

Programowanie w Logo polega na definiowaniu prostych czynności, z których następnie buduje się rozwiązanie postawionego problemu. Język Logo jest językiem proceduralnym i programowanie w nim polega na tworzeniu procedur, rozwiązujących konkretne zadanie. Naukę programowania w języku Logo można rozpocząć bez uprzedniego przygotowania uczniów do pracy z komputerem, ponieważ konwersacyjny sposób pracy w tym systemie nie wymaga wprowadzania wielu szczegółów technicznych. Zaletą, bardzo cenną dla początkujących, jest łatwość programowania rysunków w grafice żółwia. Istnienie żółwia, który potrafi rysować oraz... uczy się, jest jednym z charakterystycznych cech tego języka. Pomimo, iż Logo prawie wszystkim kojarzy się z grafiką, w rzeczywistości jego możliwości są znacznie szersze. Za jego pomocą można rozwiązywać problemy matematyczne, a także wykonywać operacje na strukturach danych, które w Logo są zorganizowane w postaci słów i list.

Rozwiązywanie problemów często prowadzi do niespodziewanych wyników, które powinny zachęcać do własnych przemyśleń i szukania innych, ciekawszych efektów działania zdefiniowanych procedur.

Język Logo pomaga uczniom nie tylko pisać poprawnie zbudowane programy, ale również poznawać wybrane metody programowania, które są przydatne i stosowane w profesjonalnej pracy z komputerem. Nauczyciele i dydaktycy informatyki zauważyli, że umiejętności nabyte podczas uczenia się i stosowania pierwszego języka programowania, przechodzą w nawyki w późniejszej praktyce programistycznej. Ważną cechą systemu Logo jest również fakt, że wykonując programy w tym języku posługujemy się interpretatorem, co umożliwia natychmiastowe obejrzenie efektu działania pojedynczej instrukcji pierwotnej, jak i wywołanie zdefiniowanej procedury bez dodatkowych zabiegów.

Fakt, że użytkownik może w prosty sposób sam rozbudować Logo o nowe procedury (instrukcje) i optymalnie dopasować je do rozwiązania określonego problemu, stawia ten język dość wysoko wśród innych języków programowania.

Program komputerowy to zrozumiały dla komputera ciąg instrukcji. Każdy program napisany jest w jakimś  języku programowania . Język ten służy wyłącznie do zapisywania algorytmów wykonywania programów. Zestaw instrukcji opisujących całą aplikację nazywamy  kodem źródłowym programu . Taki kod źródłowy nie jest bezpośrednio zrozumiały dla komputera. Aby maszyna go wykonała, musi zostać najpierw przetłumaczony na język wewnętrzny komputera, który jest ciągiem operacji elementarnych realizowanych przez komputer. Taki program nazywamy  programem wynikowym . Aby zamienić kod źródłowy programu na sam program wynikowy musimy użyć innego programu zwanego  translatorem  (od ang. translation - tłumaczenie). Operacja ta nazywana jest  translacją . Wyróżniamy przy tym dwa rodzaje translatorów w zależności od zastosowanej metody tłumaczenia programu:

  •  Kompilator  - wczytuje cały kod źródłowy programu, dokonuje jego optymalizacji i tłumaczy na kod wynikowy. W rezultacie otrzymujemy program wynikowy gotowy w każdej chwili do wykonania. Wynik kompilacji jest zapamiętywany w postaci pliku wykonywalnego (stąd rozszerzenie dla wielu programów zapisanych za pomocą pliku wykonywalnego *.exe od ang. executable). Skompilowanie programu umożliwia jego wykonanie w dowolnym momencie na dowolnym komputerze. Kompilator jest nam potrzebny tylko raz (podczas kompilacji).
  •  Interpretator  - wczytuje fragment kodu źródłowego programu, tłumaczy na kod wynikowy i od razu wykonuje. Operacja ta jest powtarzana dla kolejnych elementów programu. Przy każdym uruchomieniu programu trzeba od początku zamieniać jego kod źródłowy na kod wynikowy zrozumiały dla komputera. Zatem do każdego wykonania programu musimy użyć interpretatora.

    Podczas pracy z językiem logo w środowisku Logomocja Imagine będziesz używał interpretatora. Dlatego aby uruchomić jaki kolwiek program napisany w logo musisz posiadać i uruchomić program Logomocja Imagine.

    Imagine to nie tylko możliwość tradycyjnej pracy w LOGO, ale również:

    • możliwość tworzenia obiektów i obsługi ich zdarzeń (obiektami mogą być np. żółwie):
      • dla każdego żółwia można zdefiniować własną obsługę zdarzeń,
      • każdy żółw może mieć własne procedury,
      • każdy żółw może mieć własne zmienne,
    • tworzenie grafiki z użyciem warstw,
    • swobodne operowanie przyciskami,
    • publikowanie projektów w Internecie,
    • wielostronicowe zliczanie punktów (oceny zdarzeń) bez udziału serwera,
    • zwykły „drag & drop” wszystkich obiektów np. postaci, przycisków, tekstów itp. stwarza to ogromne możliwości edukacyjne,
    • proste tworzenie animacji,
    • możliwość tworzenia projektów sieciowych,
    • prosta obsługa plików multimedialnych,
    • możliwość sterowania np. klockami Lego,
    • rozpoznawanie mowy (sterowanie dźwiękiem)
    • wbudowany edytor graficzny i muzyczny.

    Po uruchomieniu programu otwiera się okno główne Logomocji, wyglądem przypominające typowe okno aplikacji Windows. Okno zbudowane jest z paska tytułu, paska menu, paska skrótów na którym umieszczone jest 16 ikon, ekranu graficznego i ekranu tekstowego na który składa się historia komunikatów oraz wiersz poleceń.

    Na ekranie graficznym widoczna jest strona, przypominająca kartkę białego papieru na której znajduje się żółw. Jest to świat żółwi, które posiadają swój język. Jeśli pozna się język żółwi, użytkownik uzyskuje możliwość komunikacji z nimi, a co za tym idzie możliwość tworzenia projektów. Żółwie przybierają różne postacie, jeśli tylko użytkownik tego zapragnie. Mogą być piłką, słonkiem, ptaszkiem, kamyczkiem, trawą itp. Imagine daje możliwość kreowania zdarzeń opartych na własnych pomysłach, w czym pomocne są żółwie. Utworzenie projektu w Logomocji będzie oznaczało ingerencję w ich świat i wykreowanie nowego. Każda osoba pracująca w tym środowisku, może wykorzystać narzędzia jakie oferuje program. Będą to multimedia, przyciski, suwaki oraz dźwięk i grafika podkreślające niepowtarzalność pomysłu i walory stworzonego projektu.

    Rozpowszechnianiem idei Logo (Logomocji) zajmuje się Ośrodek Edukacji Informatycznej i Zastosowań Komputerów. Między innymi organizuje konkursy dotyczące logo. Materiały dostępne są na stronie logia.oeiizk.waw.pl.

    Zadania z konkursów posegregowane znajdują się także tu Logia.