Sinclair BASIC
Z Wikipedie, otevřené encyklopedie
Sinclair BASIC je dialekt programovacího jazyka BASIC pro počítače ZX Spectrum. Sinclair BASIC vyvinula firma Nine Tiles Networks Ltd.
Obsah |
[editovat] Historie
První varianta z roku 1979 byla uložena ve 4 KB ROM počítače ZX80. Šlo o nekompletní implementaci minimal BASICu podle normy ANSI z roku 1978. Vývoj pokračoval 8 KB verzí pro ZX81 a implementací pro ZX Spectrum, která se vešla do 16 KB ROM. Dnes probíhají práce na jazyku Sinclair Extended BASIC, který má možnosti dále rozšířit.
[editovat] Jazyk
[editovat] Klíčová slova
Spectrum mělo 86 klíčových slov. Ve výčtu jsou vyznačena takto: příkazy, výrazy, funkce a ostatní klíčová slova:
- ABS, ACS, AND1, ASN, AT, ATN, ATTR, BEEP, BIN, BORDER, BRIGHT, CAT2, CHR$3, CIRCLE, CLEAR, CLOSE#2, CLS, CODE3, CONTINUE, COPY, COS, DATA, DEF FN, DIM, DRAW, ERASE2, EXP, FLASH, FN, FOR, FORMAT2, GO SUB, GO TO, IF4, IN, INK, INKEY$3, INPUT, INT, INVERSE, LEN, LET5, LINE, LIST, LLIST, LN, LOAD, LPRINT, MERGE, MOVE2, NEW, NEXT, NOT1, OPEN#2, OR1, OUT, OVER, PAPER, PAUSE, PEEK, PI, PLOT, POINT, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, RND, RUN, SAVE, SCREEN$3, SGN, SIN, SQR, STEP, STR$3, TAB, TAN, THEN 4, TO, USR, VAL3, VAL$3, VERIFY
Výrazy a příkazy, které byly pouze na počítačích ZX81, TS1000 a TS1500:
- FAST, SCROLL, SLOW, UNPLOT, GOSUB/GOTO (Spectrum má GO SUB a GO TO)
Model 128K přinesl tyto příkazy:
- PLAY, SPECTRUM
Timex BASIC používaný v TS2048 a TS2068 (kompatibilních se Spectrem) má navíc těchto šest slov:
- DELETE, FREE, ON ERR, RESET, SOUND, STICK
[editovat] Poznámky
- AND, NOT a OR jsou logické operátory.
- CAT, CLOSE#, ERASE, FORMAT, MOVE a OPEN# jsou příkazy a výrazy pro ZX Microdrive. Pokud se použijí bez tohoto zařízení, vyvolají chybu. Československý počítač Didaktik tyto příkazy využíval také pokud byla připojena disketová jednotka.
- Název proměnné typu String musí obsahovat pouze jeden znak.
Tedy «LET A=5», «LET Apples=5» a «LET A$="Hello"» jsou správné, ale «LET APPLES$="Fruit"» je chybný zápis. - Neexistuje operátor ELSE ve výrazu IF - THEN (- ELSE).
Tedy namísto
10 IF V=5 THEN GO TO 50 ELSE GO TO 100
musíme zapsat
10 IF V=5 THEN GO TO 50
20 GO TO 100 - LET je povinné. Tedy zapisujeme «LET A=1» ale nikdy ne «A=1».
[editovat] Zápis a spuštění programu
V době návrhu Sinclair BASICu bylo běžné, že se řádky programu číslovaly. Programátor musel čísla řádků zapisovat sám. Pokud se číslo řádku nezapsalo, ihned po zadání příkazu se tento příkaz vykonal.
Spuštění programu se provádí příkazem RUN (od začátku programu), nebo RUN s číslem řádku (od daného čísla řádku). Program je možné také spustit příkazem GO TO (s číslem řádku nebo bez něj).
Pokud je program spuštěn například příkazem RUN 5, ale číslo řádku 5 neexistuje, spustí se program od následujícího vyššího čísla řádku (například 10).
Program není nutné ukončovat příkazem STOP, jak to bylo běžné v mnoha jiných varintách BASICu.
[editovat] Hello World
Velmi jednoduchý příklad programu Hello world může vypadat takto:
10 PRINT "Hello World"
[editovat] Podívejte se také na
- BASIC
- Beta BASIC