Mobilne języki programowania: TinyLogo

05 maj 2003
Autor :   Grzegorz Gałęzowski
Pod koniec lat sześcdziesiątych powstał w USA język Logo, mający według zapewnień jego twórców ułatwić dzieciom kontakt z komputerem. Jednym z twórców Logo był Seymour Papert z Massachussets Institute of Technology w USA.
Język Logo nie należy utożsamiać tylko i wyłącznie z uczeniem dzieci. Może on również znaleźć zastosowanie do rozwiązywania np. problemów ze sztuczną inteligencją.

Logo jest uniwersalnym, w pełni konwersacyjnym językiem programowania. Ma on najwięcej wspólnych cech z językiem LISP. Logo może swobodnie wykonywać dowolne operacje na tekstach. W języku tym możliwe jest definiowanie zmiennych globalnych i lokalnych, istnieje iteracja i rekurencja.

Gramatyka Logo jest stosunkowo prosta. Każdy program jest zbiorem procedur i funkcji. Instrukcje traktowane są jako wywołania procedur podstawowych.

Dużą zaletą tego języka jest to, że dzięki swojej strukturze utrudnia on chaotyczne programowanie.

Wraz z dynamicznym rozwojem mikrokomputerów powstało wiele implementacji tego języka na poszczególne komputery. Największą popularność ten język miał w latach 80-tych. Obecnie możemy sobie przypomnieć ten język, dzięki implementacji dokonanej przez Timothy Lipetz'a na komputery Palm.

Użytkownik w TinyLogo ma do dyspozycji 65 procedur podstawowych. Wszystkie te procedury można podzielić na dwie grupy:
- instrukcje, których celem jest wykonanie określonej czynności,
- funkcje, czyli operacje, w których wykonanie czynności jest zakończone przekazaniem pewnej wartości

Instalacja TinyLogo

TinyLogo wymaga do uruchomienia systemu Palm OS w wersji co najmniej 3.0, programu PocketC 3.10 lub nowszej wersji (http://www.orbworks.com), a także biblioteki MathLib.

W skład dystrybucji wchodzą następujące pliki:
- TinyLogo.prc
- TinyLogoSamples.prc
- TinyLogo_Procedures.PDB
- TinyLogoProcedures.txt
- PocketC.prc
- MathLib.prc

Pierwsze kroki

Po zainstalowaniu programu powinniśmy zobaczyć trzy ikony (PocketC, TinyLogo, TinyLogoSamples):

ilustracja

Przy pierwszym uruchomieniu trzeba odczekać około dziesięciu sekund, jest to czas potrzebny na inicjalizację programu.

ilustracja

Po chwili można wcisnąć przycisk Scrool Up (w palmtopie) by otworzyć okienko do wprowadzania komend.

ilustracja

Jeżeli chcemy przejrzeć wszystkie procedury możemy wyświetlić je za pomocą komendy help.

W TinyLogo możemy używać równoważnie pełnych nazw instrukcji lub ich skrótów, np. "print" lub "p" jest w ten sam sposób interpretowana.

A teraz na początek prosty przykład dodawania:

print sum 2 2

ilustracja

Jak by się można było spodziewać, otrzymamy

4

ilustracja

Można zauważyć na załączonym przykładzie, że operator poprzedza cyfry. Będziemy się musieli jednak przyzwyczaić do tego odmiennego zapisu. Zamiast operatorów (+,-,*,/) używamy (sum, difference, product, quotion) w skrócie (sum, dif, prd, quo). Zamiast:

2+2

piszemy sum 2 23*(5-2)

piszemy prd 3 dif 5 2


Na początku trudno będzie się do tego przyzwyczaić. Ale w miarę szybko każdy się przyzwyczai.

Programowanie odbywa się tutaj w sposób interaktywny, wydajemy polecenie, a komputer stara się je natychmiast wykonać. Są także inne tryby, gdzie można zgromadzić większą liczbę instrukcji by następnie je wykonać wspólnie.

Grafika żółwia

Początek przygody z tym językiem najlepiej zacząć od żółwia. TinyLogo tak samo jak każde Logo, może pracować w trybie graficznym w którym wydaje się polecenia żółwiowi.

Aby przejść do trybu żółwia należy użyć polecenia turtle albo tu. By wyjść z tego trybu należy użyć noturtle lub ntu.

Po przejściu do trybu żółwia, zobaczymy.

ilustracja

W lewym dolnym rogu widać dwa kursory wskazujące na to, że program czeka na polecenia.
Możemy teraz wydawać naszemu żółwiowi różne polecenia sterujące, np. forward 40 spowoduje, że nasz żółw przemieści się o 40 punktów do przodu.

ilustracja

Do obsługi żółwia mamy jeszcze wiele innych poleceń takich jak:
clearscreen, home, pendown, pennormal, penerase, penreverse, turtlex, turtley, turtleheading, back, left, right, setheading, setx, sety, box, printtext, icon, loadicons.

Języki programowania doskonale sobie radzą przy powtarzających się operacjach.
Tak samo jest w i TinyLogo. Instrukcją która pozwala na powtarzanie różnych czynności jest repeat (rep).

Dla zobrazowania działania tej instrukcji, zdefiniujemy najpierw nową procedurę i nazwiemy ją kwadrat

to kwadrat rep 4 [fd 30 rt 90]end

Polecenie repeat ma dwa argumenty. Pierwszy określa liczbę powtórzeń, drugi to spis rozkazów które ma wykonać za każdym razem.

Teraz gdy wydamy polecenie cs kwadrat, zobaczymy

ilustracja

By zatrzymać jakąś procedurę możemy użyć przycisku Scroll Down.

Oczywiście programowanie w tym języku nie polega tylko na wydawaniu pojedynczych poleceń. Aby zgrupować polecenia w większą liczbę, każdą linię należy zakończyć znakiem +. Dzięki temu polecenia nie są wykonywane od razu, jeżeli chcemy zakończyć grupowanie, wystarczy że w kolejnej linii nie zamieścimy znaku +.
Przy popełnieniu błędu możemy przejść do trybu reedycji, w tym celu należy wpisać znak -.
Dzięki temu można zredagować linię w której nastąpiła pomyłka.

TinyLogo oczywiście umożliwia także wczytywanie i zapisywanie programów które napisaliśmy.

Do zapisania procedury wydajemy polecenia saveproc lub sp.
Składnia: saveproc "myproc "memoname

Do ładowania procedur stosujemy polecenie load lub ldload "myprocUruchamianie przykładów.

Wraz z dystrybucją tego języka otrzymujemy zestaw przykładów, do ich załadowania:

1. Należy załadować plik TinyLogoSamples.prc do palmtopa.
2. Uruchomić TinyLogoSamples - co spowoduje to zapisanie przykładów które można uruchomić spod TinyLogo.
3. Można po tym już skasować TinyLogoSamples które już nie będą potrzebne.

Dla każdej demonstracji:
1. Uruchomić ponownie TinyLogo (unikniemy dzięki temu niepotrzebnego zużycia pamięci).
2. Z linii poleceń wydać instrukcję np. load "loops.
3. Podczas ładowania pojawią się nazwy procedur dzięki którym będziemy wiedzieli jak uruchomić dany przykład, w tym przypadku będzie to loopdemo.


  • TinyLogo - pobierz program (108 KB)
  • O Serwisie

    Wortal PDAclub.pl to serwis internetowy zajmujący się tematyką technologii mobilnych. U nas znajdziesz najnowsze informacje o smartfonach, tabletach, smartwatch i innych urządzeniach mobilnych pracujących zarówno pod kontrolą Apple iOS jak i Google Android czy też Windows. PDAclub.pl to także jednao z najstarszych forów internetowych, gdzie każdy użytkownik znajdzie fachową pomoc.

    PDAclub POLECA


    W ramach naszej witryny stosujemy pliki cookies w celu świadczenia usług na najwyższym poziomie, w tym w sposób dostosowany do indywidualnych potrzeb. Korzystanie z witryny bez zmiany ustawień dotyczących cookies oznacza, że będą one zamieszczane w urządzeniu końcowym. Można dokonać w każdym czasie zmiany ustawień dotyczących cookies. Więcej szczegółów w naszej Polityce Prywatności. Akceptuję otrzymywanie plików cookies z serwisu pdaclub.pl. Akceptuję