Informacja
- Drukuj
- 11 lut 2013
- Informacja na temat konkursu
Przypominamy o zapoznaniu się z podstawową instrukcją na temat programu w formie scenariuszy lekcyjnych. Można ją pobrać tu.
Bardzo dobrym sposobem na zapoznanie się z programem są przykładowe plik, dostępne po uruchomieniu programu.
Dla ułatwienia połączyliśmy zawartość tych plików i przedstawiliśmy ją poniżej.
Na wniosek nauczycieli po zakończeniu konkursu przedstawimy ranking uczestników/szkół z podziałem na województwa.
Plik 1. Podstawowe programy\Lekcja 1 - Pierwszy program.sgo
;
; Przykład przedstawia przykładowy program w języku LOGO Simba 3D
; Program składa się z poleceń wpisywanych w jednym lub kilku wierszach
; Każde polecenie, które rozpoznawane jest przez program podświetlane jest na niebiesko.
; Polecenia mogą, ale nie muszą mieć dodatkowe parametry w postaci liczb, list lub obiektów
; Jeżeli użyjemy znaku ; (średnik), wówczas każdy tekst znajdujący się po nim jest
; traktowany jako komentarz i jest pomijany w trakcie wykonywania programu.
;
cs ; polecenie bez parametrów, jest to skrót od clear screen czyli wyczyść ekran graficzny
idź 100 ; polecenie z jednym parametrem w postaci liczby, w tym przypadku oznacza idź do przodu o 100 kroków
prawo 90 ; polecenie umożliwia obrócenie Simby o 90 stopni w prawo; Kąty obrotów zostały opisane w przykładzie "Lekcja 4 - Geometria Simby w świecie 3D"
np 100 ; niektóre polecenia wydawane Simbie mają kilka synonimów. Polecenie np (Naprzód) = poleceniu idź
pw 90 ; kolejny przykład synonimu. Tym razem dla polecenia prawo
np 100
pw 90
np 100
; Dotarliśmy do końca programu, teraz możemy go uruchomić i zobaczyć co będzie jego rezultatem
; W tym celu proszę wcisnąć przycisk "Uruchom", znajduje się w menu edytora.
Plik 1. Podstawowe programy\Lekcja 2 - Uruchamianie programu.sgo
;
; W poprzednim przykładzie uruchomiliśmy pierwszy program. Natomiast w przypadku
; bardziej złożonych programów będzie zachodzić potrzeba dokładnego śledzenia
; każdego polecenia.
; Program Simba 3D oferuje nam możliwość sprawdzania czy napisany przez Nas
; program ma poprawną składnię. Służy do tego przycisk "Sprawdź" w menu edytora
; Jednak nawet gdy program ma poprawną składnie może nie działać tak jak tego chcieliśmy.
; Skuteczną metodą, która pozwala znaleźć przyczynę błędnego działania programu
; jest uruchomienie go krok po kroku, przycisk o tej samej nazwie znajduje się w
; menu edytora. Każdorazowe jego naciśnięcie powoduje wykonanie jednego polecenia.
; Spróbuj przeanalizować program używając tego przycisku.
cs
np 100
pw 90
np 100
pw 90
np 100
pw 90
np 100
; Każdy program może być dość rozbudowany. Dla łatwiejszego przemieszczania się
; w edytorze można stosować tzw. Zakładki. Zakładkę włączamy za pomocą skrótu
; klawiszowego Ctrl + Shift + cyfra 1 .. 9
; Włączona zakładka będzie miała przypisany odpowiedni numer widoczny na zielono
; po lewej stronie numer linii. Od tej chwili niezależnie gdzie znajduje się kursor
; w edytorze możemy poprzez naciśnięcie Ctrl + cyfra 1 .. 9 przejść do zakładki.
; Kasowanie zakładki odbywa się w ten sam sposób jak jej dodawanie
; (kursor musi być w tej samej linii w której zdefiniowana jest zakładka).
Plik 1. Podstawowe programy\Lekcja 3 - Ekran graficzny, tekstowy.sgo
;
; Programy napisane w LOGO wykonują pewne czynności, których wynikiem mogą być
; Rysunki lub różnego rodzaju wyniki obliczeń.
; Program Simba umożliwia podgląd wyniku w oknie graficznym lub oknie tekstowym.
; Użytkownik może w każdej chwili przełączać się pomiędzy oknem graficznym i
; tekstowym za pomocą przycisków w górnym menu edytora. Po otwarciu edytora
; domyślnie ustawia się tryb graficzny. W oknie tekstowym nie możemy pisać, służy
; ono tylko do prezentowania wyników np.: przez polecenie PISZ
; Przykładowy program zademonstruje jak są wyświetlane wyniki w obu oknach.
; Zauważ że po wykonaniu programu koło nazw przycisków pojawiają się liczby.
; Oznaczają one ilość poleceń, które zostały wykonane od momentu ostatniego podglądu
; tego okna.
cs
pisz 'to jest liczba PI' 3.141529 ; polecenie pisz z 2 parametrami; wynik polecenia obserwujemy na oknie tekstowym
np 100 ; synonim znanego nam polecenia idź 100 kroków; wynik polecenie obserwujemy na oknie graficznym
Plik 1. Podstawowe programy\Lekcja 4 - Geometria Simby w świecie 3D.sgo
;
; Ekran graficzny nazywany oknem graficznym, umożliwia rysowanie w przestrzeni
; trójwymiarowej. Rysowanie odbywa się poprzez wydawanie poleceń "idź" oraz
; odpowieniego obracania Simby. Simbę możemy obracać w dwóch osiach. Za pomocą
; poleceń prawo/lewo obracamy się po osi Z. Natomiast za pomocą poleceń
; góra/dół obracamy się po osi X. Każdy obrót Simby wykonywany za pomocą poleceń
; odbywa się w jego lokalnym układzie współrzędnych.
; Dla łatwiejszego zrozumienia opisanych powyżej obrotów proszę przeanalizować
; ten przykładowy program: (dalszy ciąg opisu na końcu programu)
cs
prawo 45
np 100
dół 90
np 100
; jak wiadać program nakazuje 2 krotne wykonanie 100 kroków naprzód, na ekranie graficznym Simba narysował
; dwa odcinki jeden do góry i drugi w głąb ekranu.
; Proszę użyć nawigatora, który znajduje się po lewej stronie ekranu graficznego żeby obrócić ekran w lewo.
; (Obrót ekranu w lewo, odbywa się po naciśnięciu przycisku ze strzałką w kółku pod napisem "Obróć")
; Jeśli ekran został prawidłowo obrócony, proszę nacisnąć przycisk "Oś XYZ" w górnym menu edytora
; Teraz proszę przecwiczyć obroty w innych kierunkach
; Pomocną funkcją w nawigatorze jest pasek powiększenia, proszę przesunąć go w dół a następnie w górę
; i zaobserwować efekt
; Za każdym razem jeśli chcemy powrócić do początkowych ustawień (bez obrotów i powiększenia) możemy
; nacisnąć przycisk "Ustaw na początek" w górnym menu edytora
; Obracać ekran graficzny możemy również za pomocą myszki. W tym celu należy
; na oknie graficznym nacisnąć prawy przycisk myszy i przesunąć myszkę w odpowiednim kierunku.
; Analogicznie jak obrót z tym że za pomocą lewego przycisku myszki możemy przesówać ekran graficzny.
; Powiększanie i oddalanie ekranu realizujemy za pomocą kółka myszki.
; Każde polecenie graficzne rysujące na ekranie jest zapamiętywane w pamięci komputera i karty
; graficznej. Należy o tym pamiętać podczas projektowania programu.
; Dobrą praktyką jest rysowanie brył trójwymiarowych za pomocą wielokątów.
; Złą praktyką jest stosowanie pętli do rysowania np. walca. Niemniej jednak jest to dopuszczane
; przez program. Dobrym przykładem jest (optymalizacja pod kątem ilości poleceń)
; program rysujący koło.
; Można to zrobić np. tak:
; powtórz 360 [np 10 pw 1]
; natomiast znacznie wydajniej i szybciej zadziała:
; powtórz 36 [np 10 pw 10]
;
; Powyższe praktyki sprawdzają się głównie przy bardzo dużych rysunkach.
; Natomiast przy prostych programach można jak najbardziej prezentować uczniom taki zapis:
; powtórz 360 [np 10 pw 1]
Plik 1. Podstawowe programy\Lekcja 5 - Podstawowe polecenia.sgo
;
; Przykład prezentuje podstawowe polecenia, umożliwiające rysowanie Simbą
; W każdym wierszu został dodany komentarz wyjaśniający działanie polecenia.
;
CS ; wyczyść ekran
NP 100 PW 90 ; dwa polecenia idz 100 kroków a następnie obróć się w prawo o 90 stopni
NP 100 PW 90
NP 100 PW 90
NP 100 PW 90
GR 90 ; obróć się
NP 100 ; idź 100 kroków
DL 90 ; obróć się w dół o 90 stopni
NP 100 PW 90
NP 100 PW 90
NP 100 PW 90
NP 100 PW 90
POD ; podnieś pisak; od tego momentu każdy ruch simby nie będzie pozostawiał śladu
NP 100 ; zastosowanie polecenia POD umożliwia przesunięcie simby w inne miejsce
OPU ; opuść pisak; simba znowu będzie rysował
DL 90
NP 100
GR 90 ; obróć się w górę o 90 stopni
PW 90 ; obróć się w prawo o 90 stopni
POD
NP 100
OPU
PW 90
GR 90
NP 100
DL 90
POD
NP 100
OPU
DL 90
NP 100
; po uruchomieniu tego programu warto obrócić ekran za pomocą nawigatora obrotu.
Plik 1. Podstawowe programy\Lekcja 6 - Wielokąty.sgo
;
; Rysowanie płaskich figur geometrycznych w programie Simba 3D odbywa się za
; pomocą polecenia rozpoczynającego się od słowa "wielokąt" i kończącego się
; poleceniem "gotowy"
; Pomiędzy tymi poleceniami, każde przesunięcie simba będzie traktował jako
; kolejny bok wielokąta
; Proszę przyjżeć się przykładowemu programowi, dla porównania druga część programu
; to te same polecenia bez poleceń "wielokąt ... gotowy"
cs
wielokąt
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
gotowy
pw 180
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
np 50 pw 45
Plik 1. Podstawowe programy\Lekcja 7 - Kolory i materiały.sgo
;
; Podczas rysowania praktycznie w każdej sytuacji będziemy chcieli rysować
; figury geometryczne różnego koloru. W Programie Simba 3D kolor pisaka wybieramy
; poleceniem kolor lub w skrócie kol.
; Polecenie kolor wymaga przynajmniej 1 parametru w postaci:
; - nazwy koloru; Przykład: KOLOR niebieski
; - RGB; Przykład: KOLOR 45 90 255
; - HTML; Przykład KOLOR #ffaa11
; Polecenie kolor można używać podając dwa kolory. Dzięki temu podczas rysowania
; uzyskamy przejście z jednego koloru do drugiego.
; Pomocne w wyborze koloru może być okno wyboru koloru. Proszę nacisnąć prawy
; przycisk myszki na edytorze i wybrać opcję "Wstaw kolor ..."
;
; Druga część przykładu pokazuje w jaki sposób możeby kolorować wielokąty, natomiast
; trzecia część w jaki sposób za pomocą polecenia materiał wypełniać figury
; różnymi teksturami.
; I część
cs
tło żółty ; ustawienie koloru tła
kolor czerwony
np 100
pw 90
kolor czerwony niebieski ; od tego momentu simba będzie rysował linię czerwono - niebieską
np 100
pw 90
kolor niebieski
np 100
;II część
kolor czerwony niebieski
wielokąt
np 50
pw 90
np 100
pw 90
np 50
pw 90
np 100
gotowy
;III część
materiał niebo3 ; wybór materiału (nazwy wszystkich materiałów dostępne są z prawej strony okna głównego)
wielokąt
np 50
pw 90
np 100
pw 90
np 50
pw 90
np 100
gotowy
Plik 2. Procedury i funkcje\Lekcja 2 - Procedury z parametrami.sgo
;
; Procedury w języku LOGO mogą mieć parametry, są one bardzo pomocne w przypadku
; parametryzowania pewnych obliczeń lub odległości(ilości kroków simby).
; Zdefiniowane parametry procedury mogą być wykorzystane jako parametry poleceń.
; W takiej sytuacji wartość parametru polecenia będzie równa wartości parametru
; procedury o tekiej samej nazwie.
; Nazwy parametrów procedury poprzedzamy : (dwukropkiem)
; Procedurę z parametrami definiujemy za pomocą poleceń OTO .. JUŻ:
; OTO nazwa_procedury :nazwa_parametru1 :nazwa_parametru2 ...
; ...
; JUŻ
; Poniżej prezentujemy procedurę kwadrat umożliwiającą wielokrotne rysowanie
; kwadratu o różnych długościach boku.
OTO kwadrat :dlugosc ; nagłówek procedury wraz definicją parametrów
np :dlugosc ; kolejne instrukcje w procedurze. Parametr polecenia np przyjmie wartość parametru procedury.
pw 90
np :dlugosc
pw 90
np :dlugosc
pw 90
np :dlugosc
pw 90
np :dlugosc
JUŻ ; zakończenie procedury
cs
kwadrat 50; wywołanie procedury z parametrem 50 o nazwie kwadrat
lw 180
kwadrat 100
kwadrat 30
lw 180
kwadrat 100
Plik 2. Procedury i funkcje\Lekcja 3 - Funkcje.sgo
;
; Funkcje w języku LOGO to nic innego jak procedury, z tym wyjątkiem że
; potrafią zwracać wynik w postaci liczby, listy lub obiektu.
; Funkcje definiujemy w ten sam sposób co procedury. Na tym etapie przykładów
; zaprezentujemy prostą funkcję obliczającą pole kwadratu
; Wyjątkiem podczas stosowania funkcji jest sposób ich wywołania.
; Każde wywołanie funkcji, które ma posłużyć jako argument do kolejnego polecenia
; należy ująć w nawiasy klamrowe {}. Dzięki temu parametry funkcji będą jasno
; widoczne dla użytkownika
OTO pole.kwadratu :dlugosc ; nagłówek procedury wraz definicją parametrów
wynik :dlugosc * :dlugosc ; obliczenie i zwrócenie wyniku
JUŻ ; zakończenie procedury
cs
pisz 'pole kwadratu = ' {pole.kwadratu 5} ; Wywołanie funkcji ujęte w nawiasie klamrowym
pokaż.tekst
Plik 2. Procedury i funkcje\Lekcja 4 - Przerywanie procedury.sgo
;
; W procedurach i funkcjach może zachodzić konieczność jej przerwania.
; Powodów takiej operacji może być kilka i zostaną opisane w dalszych przykładach
; Przerywanie procedury odbywa się przeważnie na podstawie jakiegoś warunku
; W celu przerwania wykowywania podprogramu należy użyć polecenia "stop"
OTO kwadrat
np 100
pw 90
np 100
pw 90
stop ; przerwanie procedury
np 100
pw 90
np 100
pw 90
np 100
JUŻ
cs
kwadrat
Plik 3. Instrukcje warunkowe i predykaty\Lekcja 1 - Polecenie warunkowe.sgo
;
; Niemal każdy program zawiera polecenia warunkowe, dzieje się tak, ponieważ
; dzięki nim możemy sterować wykonywanym programem w taki sposób jaki potrzebujemy
; W programie Simba 3D LOGO polecenie warunkowe zapisujemy w następujący sposób
; JEŻELI warunek [ciąg poleceń, które mają zostać wykonane jeśli warunek jest prawdziwy]
;
; Proszę spojrzeć na prosty przykład: (Dalszy ciąg na końcu programu)
oto linia :dlugosc
kolor zielony
jeżeli :dlugosc < 50 [kolor czerwony] ; polecenie warunkowe
np :dlugosc
już
cs
linia 40
linia 60
; Powyższy przykład definiuje procedurę linia. Wewnątrz tej procedury
; sprawdzany jest warunek czy parametr :długość (w tym wypadku długość linii)
; jest mniejszy niż 50 jeżeli tak jest wówczas kolor pisaka zmieniany jest na czerwony
;
Plik 3. Instrukcje warunkowe i predykaty\Lekcja 2 - Polecenie warunkowe i alternatywne.sgo
;
; W poprzednim przykładzie "Lekcja 1 - Polecenie warunkowe" poznaliśmy jak
; operować poleceniem jeżeli. W tym przykładzie rozwiniemy je o tak zwany
; blok instrukcji alternatywnych czyli w skrócie instrukcji, które zostaną
; wykonane jeśli warunek nie jest spełniony. Zauważmy że w poprzednim przykładzie
; w celu ustawienia koloru pisaka musieliśmy użyć polecenie kolor przed poleceniem
; "jeżeli":
; kolor zielony
; jeżeli :dlugosc < 50 [kolor czerwony]
; Teraz gdy możemy zastosować polecenie alternatywne możemy zapisać to w ten sposób:
oto linia :dlugosc
jeżeli :dlugosc < 50 [kolor czerwony] przeciwnie [kolor zielony]
np :dlugosc
już
cs
linia 40
linia 60
; polecenie alternatywne możemy również zapisać z pominięciem słowa "przeciwnie"
; jeżeli :dlugosc < 50 [kolor czerwony] [kolor zielony]
Plik 3. Instrukcje warunkowe i predykaty\Lekcja 3 - Przerywanie warunkowe procedury.sgo
;
; W poprzednich przykładach przedstawialiśmy polecenie "stop" do przerywania
; procedur i funkcji. Teraz gdy znamy polecenie "jeżeli" możemy lepiej
; przyjrzeć się zastosowaniu tego polecenia. Przedstawiamy dwa przypadki pokazujące
; kiedy stosować polecenie "stop" a kiedy "wynik"
oto koszyk :jablka :ilosc.osob
jeżeli :ilosc.osob = 0 [pisz 'nie dziel przez zero!' wynik 0]
wynik :jablka / :ilosc.osob
już
oto deska :dlugosc
jeżeli :dlugosc < 10 [stop]
np :dlugosc pw 90
np 20 pw 90
np :dlugosc pw 90
np 20
już
cs
deska 100
deska 20
deska 5
pisz 'Iga dostanie' {koszyk 8 2} 'cukierki'
pisz 'Wiktor dostanie ' {koszyk 10 5} 'cukierki'
pisz 'Ewa dostanie' {koszyk 10 0} '!'
Plik 4. Pętle\Lekcja 2 - Pętle zagnieżdżone.sgo
;
; Pętle zagnieżdzone to nic innego jak pętla w pętli.
; Przykład zilustruje rysunek
cs
powtórz 2
[
powtórz 10
[
powtórz 4 [np 80 pw 90]
pw 36
]
gr 5
]
; Na tym przykładzie możesz nauczyć się co to są punkty przerwania programu.
; W tym celu naciśnij lewym przyciskiem myszki po lewej stronie lini 12
; Pojawi się czerwone kółko. Oznacza to że gdy program będzie wykonywany i napotka
; punkt przerwania to zostanie on wstrzymany do analizy. Po zatrzymaniu program
; można kantynuować krok po kroku lub uruchomić. Punkty przerwania można włączać
; i wyłączać w menu edytora przyciskiem "Punkt przerwania"
; Lista punktów przerwania znajduje się po lewej stronie okna głównego.
Plik 4. Pętle\Lekcja 3 - Przerywanie warunkowe pętli.sgo
;
; Pętle stosowane do obliczeń, czasami potrzebują zostać zatrzymane na odpowiednim
; kroku iteracji. Najczęściej dzieje się tak podczas obliczenia odpowiedniej
; dokładności obliczeń. Szersze zastosowanie warunkowych przerwań pętli
; zaprezentujemy przy okazji lekcji na temat zmiennych i wyrażeń arytmetycznych.
; Poniższy przykład przedstawia wykożystanie polecenia "stop" do zatrzymania pętli
cs
powtórz 8 [np 100 stop]
Plik 5. Wyrażenia arytmetyczne\Lekcja 1 - Proste wyrażenia arytmetyczne.sgo
;
; Wyrażenia arytmetyczne w programie Simba 3D znajdują zastosowanie
; w każdym przypadku, kiedy zachodzi potrzeba obliczenia pewnego działania
; Poniżej przedstawiamy przykład podstawowych obliczeń, których wynik
; prezentowany jest na ekranie tekstowym.
; Każdy wiersz przykładowego programu oprócz polecenia pisz jako pierwszy
; parametr posiada ciąg tekstowy np.: '2+2='. Ma on na celu przedstawienie
; działania, które zostało obliczone na ekranie tekstowym.
; W normalnych przypadkach nie musimy tego stosować.
cs
pokaż.tekst ; przełączenie na ekran tekstowy
pisz '2+2=' 2+2 ; proste dodawanie dwóch liczb całkowitych
pisz '2+2*2=' 2+2*2 ; kolejność działań artymetycznych
Plik 5. Wyrażenia arytmetyczne\Lekcja 2 - Analizowanie wyrażeń arytmetycznych.sgo
;
; W poprzednim przykładzie przedstawiliśmy proste wyrażenia arytmetyczne
; Ten przykład przedstawia w jaki sposób możemy zaobserwować jak nasze
; wyrażenie rozumiane jest i wykonywane przez program Simba 3D
; W tym celu uruchom program "Krok po kroku" i naciskaj ten przycisk jednocześnie
; obserwując z prawej strony jaką postać mają kolejne wyrażenia.
; Jeśli wyrażenia nie mieszczą się na ekranie możesz zwiększyć okno poprzez
; przesunięcie pionowej belki rozdzielającej strukturę programu od struktury
; wyrażenia. Metodę tą można stosować również dla innych poleceń. Do czego zachęcamy.
cs
pokaż.strukturę ; przełączenie na strukturę programu
pisz '2+2=' 2+2 ; proste dodawanie dwóch liczb całkowitych
pisz '2+2*2=' 2+2*2 ; kolejność działań artymetycznych
pisz '(2+2)*2=' (2+2)*2
pisz '2*3-2+9/2=' 2*3-2+9/2
pisz '1--2=' 1--2
Plik 6. Zmienne i listy\Lekcja 1 - Zmienna czyli mój fragment pamięci.sgo
;
; Zmienne to nic innego jak zarezerwowany dla nasz fragment pamięci komputera
; w którym przechowujemy jakąś liczbę, listę lub obiekt. W programie Simba 3D
; zmienne definiujemy za pomocą poleceń "przypisz" lub "nazwij".
;
; Polecenie "przypisz" stosujemy w następujący sposób:
; przypisz "nazwa_zmiennej wartość
;
; Polecenie "nazwij" używam tak:
; nazwij wartość "nazwa_zmiennej
;
; Jak widać w trakcie definiowania zmiennych lub przypisywania im wartości
; przed nazwą zmiennej należy użyć cudzysłowia. Należy o tym pamiętać, ponieważ
; w momęcie wykorzystywania zmiennych w obliczeniach lub jako parametry należy
; stosować znak dwukropka przed nazwą tej zmiennej. Warto również wspomnieć,
; że parametry procedur są traktowane przez program tak samo jak zmienne.
przypisz "mojazmienna 10 + 40
nazwij 2 * 2 "cztery
pisz :mojazmienna
pisz :cztery
; Proponujemy uruchomić program "krok po kroku" następnie zatrzymać się na lini
; numer 21. Nastepnie proszę przesunąć kursor myszki nad nazwę dowolnej zmiennej
; Zobaczymy w ten sposób jaka warość lub obiekt został/a do niej przypisana.
; Warość zmiennych możemy śledzić również w oknie "Pamięć i zmienne" lub
; oknie "Stos wywołań". Które znajdują się domyślnie w lewym dolnym rogu okna głównego.
Plik 6. Zmienne i listy\Lekcja 2 - Podstawowe typy zmiennych.sgo
;
; Zmienne zwykle przechowują różnego rodzaju typy danych, rodzaje obiektów itp
; W zależności od typu zmiennej dozwolone są różnego rodzaju operacje na nich
; Rozróżniamy kilka podstawowych typów zmiennych:
pisz 100 3.1415 ; Liczby całkowite i rzeczywiste
pisz 1 > 0 ; Predykaty (Prawda/Fałsz)
pisz 'ala ma kota' ; Ciągi tekstowe (zdania składające się z kilku słów)
pisz [1 2 3 4] ; Listy
pisz ['ala' 'ma' 'kota'] ; Listy tekstowe
; a ponadto:
; Obiekty graficzne
; Obiekty muzyczne
; Obiekty wejścia/wyjścia
Plik 6. Zmienne i listy\Lekcja 3 - Listy.sgo
;
; Listy to typ danych który umożliwia przechowywanie kilku wartośc, poleceń,
; obiektów lub list. Listy definiowane są za pomocą znaków []
; Przykład zadeklarowania listy przedstawiają przykłady poniżej
cs
przypisz "lista1 [1 2 4 8 16 32 64] ; podstawianie listy do zmiennej
przypisz "lista2 [1+2 3*1]
przypisz "lista3 [[1 2][3 4]]
pisz :lista1 ; wyświetlanie zmiennej, która przechowuje listę
pisz :lista2
pisz :lista3
;Poniżej prezentujemy podstawowe operacje na listach
pisz {lista.element 5 :lista1} ; pobieranie elementu na piatej pozycji listy
; pierwszy element w liście ma indeks równy 1,
; natomiast ostatni element ma indeks równy długości listy
; procedury wbudowane operujące na listach możemy podzielić na
; a) procedury, które zwracają jakiś wynik (np.: długość listy lub nową połączoną listę)
; b) procedury, które operują wprost na zmiennych przechowujących listy
; proszę zwrócić uwagę na zastosowanie znaków : " przed nazwą zmiennej
pisz {lista.długość :lista2} ; wyświetlenie długości listy
pisz {lista.długość [1.5 3 4 500]}
pisz {lista.połącz :lista1 :lista2 [1 2 3.5]} ; łączenie dwóch lub więcej list w jedną
lista.dodaj "lista1