Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Tłumaczenie: mgr Jerzy Wałaszek

©2026 mgr Jerzy Wałaszek

Dodatek D

Język BASIC

SPIS TREŚCI

Dodatek D: Język BASIC

Liczby są przechowywane z dokładnością do 9 lub 10 cyfr. Największą liczbą jest około 1038, a najmniejszą (dodatnią) jest około 4*10-39.

W ZX Spectrum liczba jest przechowywana w zmiennoprzecinkowej postaci dwójkowej z jednym bajtem cechy c (1 ≤ c ≤255) i czterema bajtami mantysy m  (1/2m<1). Przedstawia to liczbę m*2c-128.

Ponieważ 1/2m<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 ≤ mn≤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.

Funkcje

Argument funkcji nie potrzebuje nawiasów, jeśli jest stałą lub zmienną (również indeksowaną lub wykorzystującą slicing).
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 xy,
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 xy,
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 obrazek

Oba argumenty muszą być
tego samego typu. Wynikiem
jest 1, jeśli porównanie jest
prawdziwe lub 0, jeśli nie.

> : 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
(potęgowanie) 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

Polecenia

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, DEFDATA 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  IFREM.

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 RESTORECLS, 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...ak musi być albo
pojedynczą literą, albo pojedynczą literą ze znakiem $
dla argumentu 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 n 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 obrazek.
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
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 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żywaną
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 v1,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.

do podrozdziału  do strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2026 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: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.