Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Tłumaczenie: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
SPIS TREŚCI |
|
W ZX Spectrum liczba jest przechowywana
w zmiennoprzecinkowej postaci dwójkowej z jednym bajtem cechy c
(1 ≤ c ≤ 255) i czterema bajtami
mantysy
m
Ponieważ 1/2 ≤ m < 1, to najbardziej znaczący bit ułamkowy mantysy jest zawsze równy 1. Dlatego w rzeczywistym zapisie możemy go zastąpić bitem znaku — 0 dla liczb dodatnich i 1 dla ujemnych.
Małe liczby całkowite posiadają specjalny zapis, w którym pierwszy bajt ma wartość 0, drugi jest bajtem znaku (0 lub FFh), a trzeci i czwarty są liczbą całkowitą w notacji U2 z mniej znaczącym bajtem jako pierwszym.
Zmienne liczbowe maja nazwy o dowolnej długości rozpoczynające się od litery i zawierające dalej litery i cyfry. Spacje i kody kolorów są ignorowane, a wszystkie litery zostają zamienione na małe.
Zmienne sterujące pętli FOR-NEXT posiadają nazwy jednoliterowe.
Tablice liczbowe mają nazwy jednoliterowe, które mogą być takie same jak nazwy prostych zmiennych. Mogą one posiadać dowolną liczbę wymiarów o dowolnym rozmiarze. Indeksy rozpoczynają się od 1.
Łańcuchy znakowe mogą posiadać dowolną długość. Nazwa łańcucha składa się z jednej litery, za którą jest znak $.
Tablice łańcuchów mogą posiadać dowolną liczbę wymiarów o dowolnej wielkości. Nazwa jednoliterowa tablicy łańcuchowej ze znakiem $ nie może byc taka sama jak nazwa prostego łańcucha. Wszystkie łańcuchy w danej tablicy posiadają ustaloną długość, która jest określana przez ostatni wymiar w poleceniu DIM. Indeksy rozpoczynają się od 1.
Slicing: podłańcuchy łańcuchów mogą być określane za pomocą specjalnej notacji, którą tutaj nazywamy slicer. Może on być:
(i) pusty lub
(ii) wyrażeniem liczbowym lub
(iii) opcjonalnym wyrażeniem liczbowym TO opcjonalnym wyrażeniem liczbowym
a używany jest do wyrażania podłańcucha przez:
a) wyrażenie łańcuchowe (slicer)
b) tablica łańcuchów (indeks,...,indeks,slicer)
co znaczy to samo co:
tablica łańcuchów (indeks,...,indeks)(slicer) |
Dla a) załóżmy, że wyrażenie łańcuchowe ma wartość s$.
Jeśli slicer jest pusty, to wynikiem będzie s$ traktowane jako podłańcuch samego siebie.
Jeśli slicer jest wyrażeniem liczbowym o wartości m, to wynikiem będzie m-ty znak z s$ (podłańcuch o długości 1).
Jeśli slicer posiada postać (iii), to załóżmy, że pierwsze wyrażenie liczbowe ma wartość m (ustaloną wartością jest 1), a drugie n (ustaloną wartością jest długość s$).
Jeśli 1 ≤ m ≤ n ≤ długość s$, to wynikiem jest podłańcuch s$ rozpoczynający się od m-tego znaku i kończący się na znaku n-tym. Jeśli 0 ≤ n < m, to wynikiem jest pusty łańcuch. W przeciwnym razie powstaje błąd 3.
Slicing jest wykonywany przed obliczeniem funkcji lub operacji, chyba że zastosowane zostaną nawiasy.
Podłańcuchom można przypisywać dane (zobacz na LET).
Cudzysłów w łańcuchu musi być wpisany dwukrotnie.
Funkcja | Rodzaj argumentu (x) | Wynik |
ABS | liczba | Wartość bezwzględna |
ACS | liczba | arcus cos x w radianach. Błąd A, jeśli x nie jest w zakresie od -1 do +1 |
AND | operacja
dwuargumentowa, prawy argument zawsze jest liczbą. |
|
Lewy argument jest liczbą: | ||
Lewy argument jest łańcuchem | ||
ASN | liczba | arcus sin x w radianach. Błąd A, jeśli x nie jest w zakresie od -1 do +1 |
ATN | liczba | Arcus tangens w radianach. |
ATTR | dwa argumenty
x i y, oba są liczbami; ujęte w nawiasy |
Liczba będąca wartością kodów atrybutu pozycji
znakowej leżącej w wierszu x i kolumnie y. Bit 7
(najbardziej znaczący) jest ustawiony
na 1 dla mrugania, 0 dla normalnego obrazu, bit 6 odpowiada za
jasność. 1 dla podwyższonej i 0 dla normalnej. Bity 5 do 3 są
kolorem tła. Bity 2 do 0 są kolorem tuszu. Błąd B, jeśli nie jest spełnione 0≤x≤23 i 0≤y≤31 |
BIN | ciąg zer i jedynek | To naprawdę nie jest funkcja, lecz alternatywny zapis liczb. Za BIN następuje ciąg cyfr 0 i 1, które są dwójkową reprezentacją liczby. BIN zamienia ten zapis na wartość liczby. |
CHR$ | liczba | Znak o kodzie x, zaokrąglonym do najbliższej liczby całkowitej. |
CODE | łańcuch | Kod pierwszego znaku łańcucha (0, jeśli łańcuch jest pusty) |
COS | liczba (w radianach) | cos x |
EXP | liczba | ex |
FN | FN wraz z kolejną literą wywołuje funkcję zdefiniowaną przez użytkownika (zobacz na DEF_FN). Argumenty muszą być ujęte w nawiasy; nawet gdy brak argumentów, nawiasy muszą wciąż być obecne. | |
IN | liczba | Wynikiem jest wartość odczytana przez procesor z portu x (0≤x≤FFFFh) (ładuje parę rejestrów bc wartością x i wykonuje instrukcję języka asemblera in a(c)) |
INKEY$ | żaden | Czyta klawiaturę. Wynikiem jest znak odpowiadający naciśniętemu klawiszowi (w trybie L lub C), jeśli naciśnieto dokładnie jeden klawisz, w przeciwnym razie zwraca pusty łańcuch. |
INT | liczba | Część całkowita (zawsze zaokrąglona w dół). |
LEN | łańcuch | Długość łańcucha (liczba zawartych w nim znaków). |
LN | liczba | lnex
(logarytm naturalny przy podstawie e) Błąd A, jeśli x≤0 |
NOT | liczba | 0 dla x≤0, 1 dla x=0. NOT posiada priorytet 4 |
OR | operacja
dwuargumentowa, oba argumenty są liczbami |
OR posiada priorytet 2 |
PEEK | liczba | Zawartość bajtu w pamięci o adresie x
(zaokrąglonym do najbliższej liczby
całkowitej). Błąd B, jeśli x nie jest w zakresie od 0 do 65535. |
PI | żaden | π = 3.14159265... |
POINT | Dwa argumenty
x i y, oba są liczbami; argumenty w nawiasach. |
1, jeśli piksel na pozycji (x,y) ma
kolor tuszu, 0, jeśli jest w kolorze tła. Błąd B, jeśli nie jest spełnione 0≤x≤255 i 0≤y≤175 |
RND | żaden | Kolejna liczba pseudolosowa z ciągu generowanego
przez wyznaczanie potęg 75 modulo 65537, odejmowanie 1 i dzielenie
przez 65536. 0≤y<1 |
SCREEN$ | Dwa argumenty x i
y, oba są liczbami; argumenty w nawiasach. |
Znak, który pojawia się albo normalnie, albo w
negatywie na ekranie w wierszu x i kolumnie y. Jeśli znak nie zostanie rozpoznany, to wynikiem jest pusty łańcuch. Błąd B, jeśli nie jest spełnione 0≤x≤23 i 0≤y≤31 |
SGN | liczba | Znak: -1 dla liczb ujemnych, 0 dla zera lub +1 dla liczb dodatnich. |
SIN | liczba (w radianach) | sin x |
SQR | liczba | Pierwiastek kwadratowy z x. Błąd A, jeśli x<0 |
STR$ | liczba | Ciąg znaków, który zostałby wyświetlony, gdyby x było drukowane na ekranie. |
TAN | liczba (w radianach) | tg x |
USR | liczba | Wywołuje procedurę w kodzie maszynowym o adresie x. Wynikiem jest zawartość pary rejestrów bc przy powrocie do systemu BASIC. |
USR | łańcuch | Adres wzoru bitowego grafiki definiowanej przez
użytkownika, która odpowiada x. Błąd A, jeśli x nie jest pojedynczą literą od a do u lub znakiem grafiki użytkownika. |
VAL | łańcuch | Oblicza x (bez
obejmujących je nawiasów), jakby było wyrażeniem liczbowym. Błąd C, jeśli x zawiera błąd składniowy lub daje wartość łańcuchową. Możliwe są inne błędy w zależności od wyrażenia. |
VAL$ | łańcuch | Oblicza x (bez
obejmujących je nawiasów) jako wyrażenie łańcuchowe. Błąd C, jeśli x zawiera błąd składniowy lub daje wartość liczbową. Możliwe są inne błędy w zależności od wyrażenia. |
- | liczba | Negacja arytmetyczna |
Poniżej znajdują się operacje dwuargumentowe:
+ | Dodawanie (dla liczb) lub łączenie (dla łańcuchów) | ||
- | Odejmowanie | ||
* | Mnożenie | ||
/ | Dzielenie | ||
↑ | Potęgowanie. Błąd B, jeśli lewy argument jest ujemny. | ||
= | Równe |
Oba argumenty muszą być |
|
> | Większe | ||
< | Mniejsze | ||
<= | Mniejsze lub równe | ||
>= | Większe lub równe | ||
<> | Różne |
Funkcje i operacje posiadają następujące priorytety:
Operacja | Priorytet |
Indeksowanie i slicing | 12 |
Wszystkie funkcje za wyjątkiem NOT i jednoargumentowego minus | 11 |
↑ | 10 |
Jednoargumentowy minus (tj. minus używany do zanegowania czegoś) | 9 |
*, / | 8 |
+, - (minus używany do odejmowania jednej liczby od drugiej) | 6 |
=, >, <, <=, >=, <> | 5 |
NOT | 4 |
AND | 3 |
OR | 2 |
Na tej liście:
a | przedstawia jeden znak |
v | przedstawia zmienną |
x, y, z | przedstawia wyrażenia liczbowe |
m, n | przedstawia wyrażenia liczbowe zaokrąglone do najbliższej liczby całkowitej |
e | przedstawia wyrażenie |
f | przedstawia obliczane wyrażenie łańcuchowe |
s | przedstawia ciąg poleceń rozdzielonych dwukropkami. |
c | przedstawia ciąg elementów kolorów, każdy
zakończony przecinkiem lub średnikiem; element koloru ma postać poleceń PAPER, INK, FLASH, BRIGHT, INVERSE lub OVER |
Zauważ, że dowolne wyrażenia są dozwolone wszędzie (za wyjątkiem numeru wiersza na początku).
Wszystkie polecenia za wyjątkiem INPUT, DEF i DATA mogą być użyte albo jako rozkazy, albo w programach (chociaż czasem są bardziej sensowne w jednej roli niż w drugiej). Rozkaz lub wiersz programu może zawierać kilka poleceń rozdzielonych dwukropkami (:). Nie ma ograniczeń co do miejsca występowania w wierszu określonych poleceń — jednakże zobacz na IF i REM.
BEEP x, y | Odtwarza nutę poprzez wbudowany głośnik przez x sekund i o wysokości dźwięku równej y półtonów ponad środkowym C (lub poniżej, jeśli y jest ujemne). |
BORDER m | Ustawia kolor obrzeża ekranu oraz kolor tła dla
dolnej części ekranu. Błąd K, jeśli m nie leży w zakresie od 0 do 7. |
BRIGHT n | Ustawia jasność znaków, które będą następnie
drukowane. n=0 dla normalnej, 1 dla podwyższonej, 8 dla przezroczystej. Błąd K, jeśli n nie jest równe 0, 1 lub 8. |
CAT | Nie działa bez podłączonej stacji Microdrive, itp. |
CIRCLE x, y, z | Rysuje okrąg o środku w punkcie (x,y) i promieniu z. |
CLEAR | Usuwa wszystkie zmienne, zwalniając zajmowaną przez nie pamięć. Wykonuje RESTORE i CLS, resetuje pozycję PLOT do lewego dolnego narożnika ekranu i czyści stos GO SUB. |
CLEAR n | Jak CLEAR, lecz umożliwia zmianę zmiennej systemowej RAMTOP na n, po czym umieszcza tam nowy stos GO SUB. |
CLOSE # | Nie działa bez podłączonej stacji Microdrive, itp. |
CLS | Czyści ekran, ustawiając na nim bieżące atrybuty kolorów. |
CONTINUE | Wykonuje dalej program od punktu ostatniego
zatrzymania z raportem różnym od 0. Jeśli był to raport
9 lub
L, to kontynuuje wykonanie od
następnego polecenia w programie (biorąc pod uwagę
skoki); w przeciwnym razie powtarza polecenie, w którym
wystąpił błąd. Jeśli ostatni raport został wygenerowany przez
polecenie w wierszu rozkazów, to CONTINUE będzie próbowało
kontynuować ten wiersz rozkazów i albo wpadnie w pętlę, jeśli błąd
wystąpił w 0:1, da raport 0, jeśli był w 0:2 lub da raport
N, jeśli był w 0:3 lub dalej. Na klawiaturze polecenie CONTINUE występuje jako CONT. |
COPY | Wysyła kopię 22 wierszy obrazu na drukarkę, jeśli
została podłączona, w przeciwnym razie nic nie robi. Zauważ, że
COPY nie można używać do drukowania automatycznych listingów,
które pojawiają się na ekranie. Jeśli będzie naciśnięty klawisz BREAK, powstanie raport D. |
DATA a1 , a2 , a3 , ... | Część listy DATA. Musi być w programie |
DEF FN a (a1 . . . ak )=e | Funkcja definiowana przez użytkownika, musi być w
programie. Każde z a oraz a1 do
ak musi być albo pojedynczą literą, albo
pojedynczą literą ze znakiem $ dla argumenty lub wyniku
łańcuchowego. Jeśli nie ma argumentów, to przyjmuje postać DEF FN a()=e. |
DELETE f | Nie działa bez podłączonej stacji Microdrive, itp. |
DIM a( n1 , . . . ,nk ) | Usuwa każdą tablicę o nazwie a i tworzy nową tablicę liczbową a o k wymiarach n1,...,nk. Inicjuje wszystkie elementy na 0. |
DIM a$( n1 , . . . ,nk ) | Usuwa każdą tablicę lub zmienną łańcuchową o nazwie
a$ i tworzy nową tablicę znakową a$ o k
wymiarach n1,...,nk. Inicjuje wszystkie elementy na "
". Można ją traktować jako tablicę łańcuchów o stałej długości nk
z
k-1 wymiarami n1,...,nk-1. Powstaje błąd 4, jeśli nie ma miejsca, aby pomieścić tablicę. Tablica jest niezdefiniowana aż do momentu użycia jej z poleceniem DIM. |
DRAW x,y | DRAW x,y,0 |
DRAW x,y,z | Rysuje linię z bieżącej pozycji PLOT,
przesuwając się o x w poziomie i o y w
pionie względem początku, jednocześnie dokonując obrotu o kąt z. Jeśli linia wyjdzie poza ekran, powstanie błąd B. |
ERASE | Nie działa bez podłączonej stacji Microdrive, itp. |
FLASH n | Określa, czy drukowany znak będzie lub nie będzie mrugał. n=0 brak mrugania, n=1 z mruganiem, n=8 bez zmiany. |
FOR a=x TO y | FOR a=x TO y STEP 1 |
FOR a=x TO y STEP z | Usuwa każdą prostą zmienną a i na jej
miejscu tworzy zmienną sterującą pętli z wartością x, granicą
y oraz krokiem
z, oraz adresem początku pętli, który wskazuje pierwszy
rozkaz za poleceniem FOR. Sprawdza, czy wartość początkowa
jest większa (gdy krok ≥ 0) lub mniejsza
(gdy krok < 0) od granicy, a
jeśli tak, to pomija treść pętli aż do następnego polecenia
NEXT
a, dając błąd 1, jeśli go nie
znajdzie. Zobacz na NEXT. Błąd 4 pojawia się, gdy nie ma miejsca na zmienną kontrolną. |
FORMAT f | Nie działa bez podłączonej stacji Microdrive, itp. |
GO SUB n | Umieszcza na stosie numer wiersza z poleceniem
GO SUB, a następnie wykonuje
GO TO n. Błąd 4 występuje, gdy w programie braknie poleceń RETURN. |
GO TO n | Skacze do wiersza n (a jeśli takiego nie ma w programie, to do pierwszego wiersza za nim). |
IF x THEN s | Jeśli x jest prawdziwe
(niezerowe), to s
zostaje wykonane. Zauważ, że s obejmuje wszystkie
polecenia do końca tego wiersza. Postać IF x THEN numer wiersza jest niedozwolona. |
INK n | Ustawia kolor tuszu znaków, które dalej będą
drukowane. n jest w zakresie 0 do 7 dla koloru, n
= 8 dla przezroczystości lub 9 dla kontrastu. Zobacz na
ekran telewizyjny w
Dodatku C. Błąd K powstaje, gdy n nie jest w zakresie od 0 do 9. |
INPUT ... | ' . . . ' jest ciągiem elementów INPUT
rozdzielonych, jak w poleceniu PRINT, za pomocą przecinków,
średników lub apostrofów. Elementem INPUT może być: (i) Dowolny element PRINT nie rozpoczynający się od litery (ii) Nazwa zmiennej lub (iii) LINE, a następnie nazwa zmiennej typu łańcuchowego. Elementy PRINT i separatory w (i) są traktowane dokładnie jak w PRINT, z wyjątkiem tego, że wszystko jest wyświetlane w dolnej części ekranu. Przy (ii) komputer zatrzymuje program i czeka na wprowadzenie wyrażenia z klawiatury, którego wartość zostanie następnie przypisana podanej zmiennej. Wprowadzane dane są wyświetlane w normalny sposób, a błąd składniowy daje mrugający znak ?. Dla wyrażeń typu łańcuchowego w buforze wejściowym zostają umieszczone dwa znaki cudzysłowu (które w razie potrzeby można wymazać). Jeśli pierwszym znakiem w buforze będzie STOP, program zatrzyma się z błędem H. (iii) jest jak (ii), za wyjątkiem tego, że dane wejściowe są zawsze traktowane jak tekst bez cudzysłowów, a STOP nie zadziała: aby zatrzymać program, musisz nacisnąć klawisz . |
INVERSE n | Steruje negatywem znaku, który zostanie następnie
wydrukowany. Jeśli n=0, to znak zostanie wydrukowany w
normalny sposób w kolorze tła i tuszu. Jeśli n=1, to znaki
będą drukowane z zamienionymi kolorami tła i tuszu. Zobacz na
ekran telewizyjny w
Dodatku C. Błąd K powstaje, gdy n nie jest równe 0 lub 1. |
LET v=e | Przypisuje wartość e zmiennej v. LET nie można opuszczać. Prosta zmienna jest niezdefiniowana, jeśli nie nadano jej wartości w poleceniach LET, READ lub INPUT. Jeśli v jest indeksowaną zmienną łańcuchową lub zmienną łańcuchową ze slicingiem (podłańcuchem), to przypisanie odbywa się wg zasad Prokrusta (stała długość): wartość łańcuchowa e jest albo przycinana, albo wypełniana spacjami z prawej strony, aby miała taką samą długość jak zmienna v. |
LIST | LIST 0 |
LIST n | Wyświetla w górnej części ekranu listing programu rozpoczynając od wiersza o numerze co najmniej n oraz czyniąc wiersz n wierszem bieżącym (umieszcza w nim kursor programu). |
LLIST | LLIST 0 |
LLIST n | Jak LIST, lecz z użyciem drukarki. |
LOAD f | Ładuje program i zmienne |
LOAD f DATA () | Ładuje tablicę liczbową |
LOAD f DATA $() | Ładuje tablicę znakową $ |
LOAD f CODE m,n | Ładuje co najwyżej n bajtów, poczynając od adresu m. |
LOAD f CODE m | Ładuje wszystkie bajty, poczynając od adresu m |
LOAD f CODE | Ładuje bajty z powrotem pod adres, z którego zostały zapisane. |
LOAD f SCREEN$ | LOAD f
CODE 16384,6912. Szuka na taśmie magnetofonowej podanego pliku o właściwym rodzaju i ładuje go do pamięci ekranu. Zobacz do Rozdziału 20. |
LPRINT | Jak PRINT, lecz z wykorzystaniem drukarki. |
MERGE f | Jak LOAD f, lecz nie usuwa wierszy i zmiennych starego programu. Po wczytaniu zastępuje nowymi wierszami programu wszystkie stare o tych samych numerach. Zastępuje również nowymi zmiennymi wszystkie stare o tych samych nazwach. |
MOVE f1,f2 | Nie działa bez podłączonej stacji Microdrive, itp. |
NEW | Rozpoczyna od nowa pracę systemu BASIC, usuwając program i zmienne i używając pamięci aż do adresu wskazywanego przez zmienną systemową RAMTOP. Zachowuje zmienne systemowe UDG, P_RAMT, RASP i PIP. |
NEXT a (i) | Znajduje zmienną sterującą (i) Dodaje krok pętli do wartości zmiennej (iii) Jeśli krok ≥ 0 i wartość > granica; lub jeśli krok < 0 i wartość < granica, to skacze do polecenia na początku pętli. Błąd 2 powstaje, gdy nie ma zmiennej a (nie została zdefiniowana przez FOR). Błąd 1 powstaje, jeśli jest taka zmienna, lecz nie jest zmienną sterującą pętli. |
OPEN # | Nie działa bez podłączonej stacji Microdrive, itp. |
OUT m,n | Wysyła bajt n do portu m
na poziomie procesora. (Ładuje parę rejestrów bc
wartością m, rejestr akumulatora a wartością
n i wykonuje instrukcję języka asemblera out (c),a.) 0≤m≤65535, -255≤n≤255, inaczej błąd B. |
OVER n | Steruje nadpisywaniem znaków, które będą dalej
drukowane. Jeśli n=0, to nowe znaki zastępują poprzednie na
danych pozycjach znakowych. Jeśli n=1, to nowe znaki zostaną
zmieszane ze starymi przy pomocy funkcji sumy symetrycznej - tam,
gdzie w nowym i starym znaku są punkty w kolorze tła lub tuszu,
powstaje punkt w kolorze tła. W przeciwnym razie rysowany jest punkt
w kolorze tuszu. Zobacz na
ekran telewizyjny w
Dodatku C. Błąd K powstaje, gdy n nie jest równe 0 lub 1. |
PAPER n | Jak INK, lecz ustawia kolor tła znaków. |
PAUSE n | Zatrzymuje obliczenia i wyświetla obraz przez n
ramek (przy 50 ramkach na sekundę lub 60 w
Północnej Ameryce) lub do czasu naciśnięcia jakiegoś
klawisza. 0≤nc≤65535, inaczej błąd B. Jeśli n=0, to pauza trwa aż do naciśnięcia klawisza. |
PLOT c;m,n | Rysuje punkt w kolorze tuszu
(o ile nie zastosuje się
OVER i
INVERSE) na współrzędnych (|m|,
|n|); przesuwa pozycję PLOT. O ile elementy kolorów c
nie określą inaczej, kolor tuszu na pozycji znakowej zawierającej
rysowany punkt zostanie ustawiony na kolor ustalony, a inne atrybuty
(kolor tła, miganie i jasność)
pozostaną niezmienione. 0≤|m|≤255, 0≤|n|≤175, inaczej błąd B. |
POKE m,n | Zapisuje wartość n do bajtu w pamięci
o adresie m. 0≤m≤65535, -255≤n≤255, inaczej błąd B. |
PRINT ... | ' . . . ' jest ciągiem elementów PRINT
rozdzielonych przecinkami, średnikami lub apostrofami, które
zapisuje się do obszaru ekranu w celu wyświetlenia na telewizorze. Średnik pomiędzy dwoma elementami nie ma na nie wpływu i służy jedynie do ich rozdzielenia. Przecinek wysyła na ekran znak sterujący, który powoduje wysyłanie spacji, aż pozycja PRINT osiągnie kolumnę 0 lub 16 (zależy, która będzie osiągnięta szybciej). Apostrof wysyła znak ENTER (koniec wiersza), który powoduje przejście z wydrukiem na początek następnego wiersza ekranu (z możliwym przesunięciem treści w górę, jeśli pozycja druku wychodzi poza dolną krawędź obrazu). Jeśli polecenie PRINT nie kończy się przecinkiem lub średnikiem, to na jego końcu zostaje wysłany na ekran znak ENTER. Element PRINT może być: (i) pusty, tj. może wcale nie wystąpić; (ii) wyrażeniem liczbowym - wtedy najpierw jest drukowany znak minus, jeśli wartość wyrażenia jest ujemna. Teraz niech x będzie wartością bezwzględną tego wyrażenia. Jeśli x≤10-5 lub x≤1013, to zostanie wydrukowane przy pomocy zapisu naukowego. Część mantysy ma do 8 cyfr (bez zer końcowych), a kropka dziesiętna (nieobecna przy tylko jednej cyfrze) jest umieszczana za pierwszą cyfrą zapisu mantysy. Część cechy rozpoczyna się literą E, za którą występują znaki + lub -, a następnie jedna lub dwie cyfry. W przeciwnym wypadku x jest wyświetlane w zwykłym zapisie dziesiętnym do ośmiu cyfr znaczących, bez zer końcowych za kropką dziesiętną. Po kropce dziesiętnej na początku zawsze występuje zero, jeśli jest konieczne, zatem przykładowo liczby .03 i 0.3 zostaną tak właśnie zapisane. 0 jest zapisywane jako pojedyncza cyfra 0. (iii) wyrażeniem łańcuchowym. Tokeny (nazwy poleceń i funkcji) są wypisywane w łańcuchu w pełnej postaci, możliwe że ze spacją przed lub po nazwie. Znaki sterujące posiadają swój efekt sterujący. Znaki nierozpoznane są wyświetlane jako ?. (iv) AT m,n. Wyprowadza na ekran znak sterujący AT, za którym występuje jeden bajt dla m (numer wiersza) oraz jeden dla n (numer kolumny). Powoduje wydruk następnych elementów od wiersza m i kolumny n. (v) TAB n. Wyprowadza na ekran znak sterujący TAB, za którym występują dwa bajty wartości n (mniej znaczący bajt jako pierwszy). Drukuje spacje, aż do zatrzymania się na kolumnie o numerze (n modulo 32). (vi) element koloru, który przyjmuje postać polecenia PAPER, INK, FLASH, BRIGHT, INVERSE lub OVER. |
RANDOMIZE | RANDOMIZE 0 |
RANDOMIZE n | Ustawia zmienną systemową
(zwaną SEED) używana do
tworzenia następnej wartości funkcji RND. Jeśli n≠0, zmiennej
SEED zostaje nadana wartość n; jeśli n=0, zmiennej tej
zostaje nadana zawartość innej zmiennej systemowej
(zwanej FRAMES), która zlicza ramki obrazu wyświetlone
dotychczas na ekranie telewizora, zatem powinna być dosyć
przypadkowa. Na klawiaturze RANDOMIZE pojawia się jako RAND. Błąd B powstaje, gdy n nie jest w zakresie od 0 do 65535. |
READ vl , v2 , . . . vk | Przypisuje zmiennym kolejne wartości z listy
DATA. Błąd C, jeśli typ przypisywanego wyrażenia jest niezgodny z typem zmiennej (liczba do łańcucha lub odwrotnie). Błąd E, jeśli lista DATA skończy się przed przypisaniem wartości dla wszystkich zmiennych. |
REM . . . | Bez efektu. "..." może być dowolnym ciągiem znaków, z wyjątkiem ENTER. Może on zawierać :, zatem za REM nie są możliwe żadne polecenia w tym samym wierszu programu. |
RESTORE | RESTORE 0 |
RESTORE n | Przewija wskaźnik danych DATA do pierwszego polecenia DATA w wierszu o numerze co najmniej n: następny odczyt danych poleceniem READ rozpocznie się od tego miejsca. |
RETURN | Pobiera odwołanie (numer wiersza
oraz numer polecenia w wierszu) do polecenia ze stosu GO
SUB, a następnie skacze do następnego polecenia za tym
odwołaniem. Błąd 7 pojawia się, gdy na stosie nie ma odwołania do polecenia. W twoim programie musi być jakaś pomyłka. Nie ma odpowiedniej równowagi pomiędzy poleceniami GO SUB a poleceniami RETURN. |
RUN | RUN 0 |
RUN n | CLEAR, a następnie GO TO n |
SAVE f | Zapisuje na taśmie program i zmienne. |
SAVE f LINE m | Zapisuje na taśmie program i zmienne tak, że po załadowaniu następuje automatyczny skok do wiersza o numerze m. |
SAVE f DATA () | Zapisuje na taśmie tablicę liczbową. |
SAVE f DATA $() | Zapisuje na taśmie tablicę znakową $. |
SAVE f CODE m,n | Zapisuje na taśmie n bajtów, poczynając od adresu m. |
SAVE f SCREEN$
|
SAVE f CODE 16384,6912. Zapisuje treść ekranu na taśmie, nadając plikowi nazwę f. Błąd F, jeśli f jest pustą nazwą lub zawiera ponad dziesięć znaków. Zobacz do Rozdziału 20. |
STOP | Zatrzymuje program z raportem 9. CONTINUE spowoduje kontynuowanie wykonywania programu od następnego polecenia. |
VERIFY | Takie samo jak LOAD
z wyjątkiem tego, że dane nie zostają załadowane do
pamięci RAM, lecz porównane z tym, co się w niej już znajduje. Błąd R, jeśli porównanie wykrywa różne bajty. |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.