Tajemnice ATARI

PIERWSZE KROKI

    Poprzedni odcinek zakończyłem kontrowersyjnym zapewne dla niektórych zdaniem. Większość początkujących (i nie tylko) użytkowników ATARI utożsamia korzystanie z edytora ekranowego z pracą w basicu. Jest to pogląd tylko po części uzasadniony. Edytor ekranowy dla użytkownika jak i dla programów jawi się jako wbudowane w komputer urządzenie o symbolu wewnętrznym E: i jest najczęściej używany do komunikacji z użytkownikiem. Pod względem logicznym nie różni się on zbytnio od magnetofonu (C:) czy napędu dyskietek (D:). Może to zabrzmieć dziwnie, ale wszystkie urządzenia pozwalają na realizację podobnych funkcji. Do podstawowych należą operacje zapisywania i odczytywania danych. Gdy po włączeniu komputera pojawia się napis READY oznacza to, iż kontrolę nad komputerem przejął interpreter języka BASIC i komunikuje się on z nami przez standardowe urządzenie wejścia/wyjścia E: czyli edytor ekranowy. Komunikuje, czyli przekazuje nam na przykład informacje o błędach (równie dobrze mógłby to robić przy pomocy drukarki) i oczekuje na polecenia. Pierwszym sygnałem od interpretera jest właśnie napis READY który oznacza po prostu GOTÓW. Po wypisaniu tego słówka na ekranie, interpreter chce poznać naszą reakcję i przekazuje na chwilę kontrolę do urządzenia E: byśmy mogli określić czego od niego oczekujemy. Od tego momentu zaczyna działać klawiatura, i możemy dowoli się nią rozkoszować aż do naciśnięcia klawisza RETURN. Użycie klawisza RETURN (jak i BREAK) jest dla procedury obsługującej edytor ekranowy (handlera) sygnałem, że należy zakończyć pracę i powrócić do programu nadrzędnego (interpretera). Po tym fakcie zaczyna żmudną pracę interpreter (pol. tłumacz) języka BASIC usiłując zrozumieć i wykonać wydaną mu komendę. Wbudowany basic może pracować w dwóch trybach: rozpoznawać komendę i natychmiast ją wykonywać lub jeżeli została poprzedzona liczbą od 0 do 32767 (numerem wiersza) tylko sprawdzać jej poprawność pod względem składniowym i odkładać wykonanie na później. Gdy takich komend uzbiera się więcej możemy mówić o programie, który może być wykonywany komenda za komendą według kolejności numerów wierszy. Tyle niezbędnej teorii. Spróbujmy nieco zaprzyjaźnić się z dialektem BASICu wbudowanym do naszego komputera.

   Na początek wypadałoby zapoznać się z elementami tegoż języka. Oprócz słów kluczowych (komend, funkcji, operatorów) możemy używać stałych i zmiennych. Zarówno stałe jak i zmienne możemy podzielić ogólnie na liczbowe i tekstowe. Stałą liczbową jest po prostu liczba z zakresu -9.99999999*1097 do 9.99999999*1097, co w zapisie komputerowym wygląda -9.99999999E+97 do 9.99999999E+97, natomiast stała tekstowa to ciąg dowolnych znaków ujęty a obu stron w ". Zmienna reprezentuje kawałek pamięci z przyporządkowaną nazwą, którego zawartość może być modyfikowana w czasie działania programu lub w trybie bezpośrednim. Nazwa zmiennej musi spełniać określone warunki: może się składać z liter, cyfr i znaku _, z tym, że pierwszym znakiem musi być litera. Zmienne liczbowe można najogólniej podzielić na proste i tablicowe. Zmienna prosta wystarcza do zapamiętania jednej liczby i nie wymaga wcześniejszego definiowania. Przyjmuje się, że pierwsze użycie danej zmiennej jest jednoznaczne z jej zdefiniowaniem i jeżeli nie jest to instrukcja przypisana to zmienna automatycznie przyjmuje wartość 0. Zmienna tablicowa jest to struktura pozwalająca na zapamiętanie wielu wartości tego samego typu (liczbowego) i odwoływanie się do nich przy pomocy tej samej nazwy z podaniem tzw. indeksu, czyli pozycji w tablicy. Tablica wymaga definiowania przed użyciem. Czyni się to komendą DIM nazwa(rozmiar), gdzie nazwa odpowiada opisanej definicji, a rozmiar jest to stała czy zmienna określająca ilość możliwych do zapamiętania danych. W ATARI BASIC tablica może mieć maksymalnie dwa wymiary, które określa się oddzielone przecinkami. Przykładowo zdefiniujemy tablicę potęg dwójkowych czterech kolejnych liczb całkowitych: DIM POTĘGI(4). Pomijając narazić problem wypełnienia tej tablicy mogłaby ona wyglądać tak:

indeks wartość
1 2
2 4
3 8
4 16


Element POTĘGI(3) w tym wypadku jest to liczba 8

   Zostały nam do omówienia zmienne tekstowe. Jest to specjalny rodzaj zmiennej tablicowej, której nazwa musi kończyć się znakiem $ (np. A$). Jest to tablica jednowymiarowa, która wymaga definiowania komendą DIM. Można w niej zapamiętać napisy bądź dane o elementach jednobajtowych.

   Oprócz stałych i zmiennych używane są też wyrażenia arytmetyczne. W skład wyrażenia mogą wchodzić stałe, zmienne, funkcje i operatory. Operatory są to znaczki symbolizujące operacje matematyczne. Mamy więc do dyspozycji:
- dodawanie +
- odejmowanie -
- mnożenie *
- dzielenie /
- potęgowanie ^
Działania wykonywane są zgodnie z zasadami matematycznymi w kolejności: potęgowanie, mnożenie, dzielenie, dodawanie, odejmowanie o ile nie zostały użyte nawiasy, które mają najwyższy priorytet.

Pora na porcję wiadomości praktycznych

   Zacznijmy może od rozkazów operujących na wspomnianym edytorze ekranowym. Będą to PRINT,. POSITION, INPUT.

PRINT lista parametrów, lub w skrócie PR. tudzież ?

   Słówko to oznacza w wolnym przekładzie drukowanie. Obecne jego użycie ma mało wspólnego z drukarką, zostało ono jako podzwonne czasów gdy komputery były podłączane do specjalnych konsoli złożonych z klawiatury i drukarki jako podstawowych urządzeń wejścia/wyjścia. PRINT wymaga sprecyzowania obiektu który ma być wyświetlony, czyli podania parametru. W odróżnieniu od funkcji stosowanych w ATARI BASIC, parametrów do tej procedury nie należy ujmować w nawiasy. PRINT wypisuje dane bądź napisy począwszy od bieżącej pozycji kursora na ekranie. Należałoby wreszcie powiedzieć co możemy "wydrukować":

stałe - liczby lub napisy. Napis jest tu rozumiany jako stała tekstowa. Uwaga praktyczna: podczas wpisywania tekstu, jeżeli za nim nie stoi żadna komenda lub inny parametr, można pominąć kończący znaczek ". Przykład:
PRINT 8
? "Tajemnice Atari"
PR. "hhhhalo
zmienne - wartość podanej zmiennej tekstowej lub liczbowej.
Przykład:
PR. X
PRINT B$
wyrażenie arytmetyczne - wartość wyrażenia. Przed wypisaniem zostanie obliczony wynik, który zostanie wyświetlony.
Przykład:
? 12*3
PRINT 2^7+1536/A
   Standardowo po wypisaniu danych PRINT powoduje przeskok kursora do następnej linii ekranowej. Od tej reguły są jednak wyjątki. Po jednej komendzie PRINT może być kilka parametrów oddzielonych od siebie przecinkami lub średnikami. Średnik powoduje "zlepianie" kolejno wypisywanych danych, natomiast przecinek rozdziela je w następujący sposób: Od początku napisu przed przecinkiem standardowo odliczane jest dziesięć pozycji w prawo i jeżeli poprzedni napis się skończył to wypisywana jest następna dana, jeżeli natomiast pierwszy tekst miał więcej znaków, to doliczane jest następne 10 pozycji itd. aż do skutku. Przecinek bądź średnik może także rozpoczynać bądź kończyć listę parametrów. W pierwszym przypadku działanie jest oczywiste, w drugim natomiast powoduje, że po wypisaniu wszystkiego nie nastąpi przeskok kursora do następnej linii, tylko działanie odpowiednie do zastosowanego separatora.
Przykład:
PRINT "ALA";"MA","KOTA",
PRINT "?"
   Uzupełnienie instrukcji PRINT podam jeszcze przy okazji omawiania różnych trybów graficznych, a teraz zajmijmy się komendą POSITION.

POSITION x,y; w skrócie POS.

   Pozwala na ustawienie pozycji kursora. Parametr x jest numerem kolumny, zaś y numerem wiersza. W trybie 0 wyświetlania obrazu x może przyjąć wartości 0-39, y zaś 0-23. Procedurę używa się wraz z PRINTem do wypisywania danych w konkretnych miejscach na ekranie. Uwaga: używając procedury POSITION można umieszczać napisy w dwu pierwszych kolumnach ekranu, co normalnie nie jest możliwe.
Przykład:
POSITION 0,0
PRINT "ALA"
W czasie działania każdy program oprócz wyprowadzania danych musi mieć możliwość ich pobierania. W ATARI BASIC służy do tego celu komenda INPUT.

INPUT lista zmiennych; w skrócie I.

   INPUT pozwala na wprowadzanie w trakcie działania programu różnych danych. Lista zmiennych jest to jedna lub więcej nazw zmiennych oddzielonych przecinkami. Efektem działania tej procedury jest wyświetlenie na aktualnej pozycji kursora znaku zapytania i oczekiwanie na podanie wartości zmiennej, której nazwa występuje po słowie INPUT. Koniec wpisywania danej należy zaznaczyć klawiszem RETURN. Jeżeli parametrów było więcej dane można podawać na dwa sposoby: po podaniu każdej naciskać klawisz RETURN lub podać od razu wszystkie przedzielone przecinkami. Po wykonaniu procedury zmienne wymienione po słowie kluczowym przyjmują podane z klawiatury wartości.
Przykład:
INPUT x
I. B$


Ciąg dalszy już za miesiąc

Mirosław Liminowicz



Powrót na start | Powrót do spisu treści | Powrót na stronę główną

Pixel 2001