Sinclair BASIC
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită la 5 iulie 2022; verificările necesită
2 modificări .
Sinclair BASIC (numit după inventatorul Sir Clive Sinclair ) este un dialect al limbajului de programare BASIC utilizat pe computerele de consum pe 8 biți fabricate de Sinclair Research și Timex Sinclair . Interpretul Sinclair BASIC a fost dezvoltat de Nine Tiles Networks Ltd.
Proiectat inițial în 1979 pentru a se potrivi în ROM -ul 4K al computerului ZX80 . Această versiune a fost o implementare incompletă a standardului minim ANSI din 1978 . Când a fost adaptat pentru calculatoarele ZX81 și TS1000 , care aveau 8 KB de ROM, interpretul a fost îmbunătățit, iar în versiunea pentru computerul ZX Spectrum cu 16 KB de ROM, a devenit o implementare aproape completă a standardului.
Sinclair BASIC original
Operatori
Există 86 de instrucțiuni Sinclair BASIC în versiunea de calculator ZX Spectrum, inclusiv comenzi (50), funcții (31) și alte cuvinte cheie (5):
ABS , ACS , AND ¹, ASN , AT , ATN , ATTR , BEEP, BIN, BORDER, BRIGHT, CAT², CHR$ ³, CIRCLE, CLEAR, CLOSE#², CLS, CODE ³, CONTINUE, COPY, COS , DATA, DEF FN, DIM, DRAW, ERASE², EXP , FLASH, FN , FOR, FORMAT², GO SUB, GO TO, IF 4 , IN , INK, INKEY$ ³, INPUT, INT , INVERSE, LEN , LET 5 , LINE , LIST , LLIST, LN , LOAD, LPRINT, MERGE, MOVE², NEW, NEXT, NOT ¹, OPEN#², SAU ¹, OUT, OVER, HÂRTIE, PAUZĂ, PEEK , PI , PLOT, POINT , POKE, PRINT, RANDOMIZE, READ , REM, RESTORE, RETURN, RND , RUN, SAVE, SCREEN$ ³, SGN , SIN , SQR , STEP , STR$ ³, TAB , TAN , THEN 4 , TO , USR , VAL 3, 6 , VAL$ ³, VERIFY
Operatori prezenți numai în versiunile pentru ZX81 și clonele sale TS1000 și TS1500 :
FAST, SCROLL, SLOW, UNPLOT, GOSUB, GOTO (în loc de GO SUB, GO TO în versiunea ZX Spectrum)
În versiunea interpretorului pentru modelele 128K (Spectrum 128K, Spectrum +2, +3, +2A și +2B), au fost adăugați doi operatori:
JOACĂ, SPECTRU
Note
- Funcțiile AND, NOT și SAU sunt operatori logici .
- CAT, CLOSE#, ERASE, FORMAT, MOVE și OPEN# sunt comenzi pentru lucrul cu fișiere pe un dispozitiv de stocare ZX Microdrive , dacă se încearcă fără un astfel de dispozitiv (sau un sistem de discuri care acceptă aceste comenzi), acestea vor avea ca rezultat o eroare. .
- Numele variabilelor șir pot conține doar o literă.
Deci „LET A=5”, „LET Apples=5” și „LET A$="Hello"” sunt corecte, dar „LET APPLES$="Fruit”” ar fi greșit.
- Nu există nicio instrucțiune ELSE în condițiile IF-THEN(-ELSE).
Astfel, în loc de codul
10 DACĂ V=5 THEN GO TO 50 ELSE GO TO 100
, trebuie să utilizați
10 IF V=5 THEN GO TO 50
20 GO TO 100
- Instrucțiunea LET este obligatorie (adică trebuie folosit „LET A=1”, nu „A=1”); care este o diferență notabilă față de majoritatea dialectelor BASIC.
- Funcția VAL gestionează nu numai numere, ci și expresii. De exemplu, „PRINT VAL(A$)”, unde șirul A$ conține „3*3+4+COS(0)”, va tipări numărul 14.
Spre deosebire de dialectele BASIC pentru computerele de consum, cum ar fi Microsoft BASIC , care utilizează funcțiile LEFT$(), MID$() și RIGHT$() pentru a accesa porțiuni ale unui șir, Sinclair BASIC utilizează o abordare asemănătoare matricei. De exemplu, „A$ (5 TO 10)” va returna subșirul începând cu al cincilea și se termină la al zecelea caracter al variabilei șir A$.
Extensii și variante
- Timex BASIC este dialectul folosit pe computerul TS2068 compatibil cu Spectrum (dar nu și TS2048 care folosește Sinclair BASIC obișnuit). Pe lângă operatorii standard Sinclair BASIC, are șase operatori suplimentari: DELETE, FREE , ON ERR, RESET, SOUND, STICK .
- Beta BASIC , o extensie a Sinclair BASIC lansată în1983 deDr. Andy Wright de la BetaSOFT [1] . Se crede larg că acesta este un interpret cu drepturi depline, argumentat de faptul că are propriul editor de programe. De fapt, Beta BASIC (ca și alte extensii) nu vă permite să creați programe care funcționează fără descărcarea codului Beta BASIC și utilizeazăROM(Sinclair BASIC).
- YS MegaBasic - dezvoltat în1984 [2] deMike Leamande la Your Spectrum, arewhile, repeat, untilstatements, comenzi pentru manipularea unui set desprites. Extensia are ca scop facilitarea creării de jocuri și programe educaționale. Însoțit de programulSprite Designerpentru crearea de sprite.
- PRO-DOS , o extensie dezvoltată de HJB în 1985 .
- Laser BASIC , o extensie dezvoltată de Oasis Software în 1986 [3] . A fost conceput special pentru crearea de programe de jocuri, în care calitate a devenit popular (de exemplu, în Rusia, jocul „ Trowing Fool ” de Vyacheslav Mednonogov [4] a fost scris în această limbă ). Acest BASIC a făcut parte din pachetul Laser Compact, care includea și programe demonstrative impresionante și compilatorul BASIC Laser.
- SAM BASIC , dezvoltat tot de Dr. Andy Wright, a fost interpretul BASIC pentru computerul SAM Coupé și a fost compatibil cu versiunea ZX Spectrum a lui Sinclair BASIC.
- Show , o extensie concepută nu pentru programare, ci pentru crearea de videoclipuri simple de prezentare. Conține un program demonstrativ. Operatorii suplimentari vă permit să creați ticker-uri și etichete care derulează în orice direcție și sunt afișate în diferite fonturi. Extinderea s-a dovedit a fi solicitată de studiourile de televiziune prin cablu, care și-au afișat astfel programul zilei. Are o versiune adaptată pentru IS-DOS .
- Sinclair Extended BASIC este un proiect retro aflat în desfășurare, care își propune să creeze o versiune îmbunătățită a Sinclair BASIC (beta era disponibilă din iulie 2005 ).
Surse
- Vickers, Steven (1982). Sinclar ZX Spectrum BASIC Programming . Cercetarea Sinclair.
- Ardley, Neil (1984). Ghidul utilizatorului Sinclair ZX Spectrum+ . Dorling Kindersley cu Sinclair Research. ISBN 0-86318-080-9 .
- Dialecte de bază pentru ZX Spectrum . - Peter, 1992. - ISBN 5-7190-0001-1 .
Link -uri
Note
- ↑ Beta Basic Arhivat 13 aprilie 2016 pe Wayback Machine pe site-ul web World of Spectrum
- ↑ YS MegaBasic Arhivat 25 martie 2016 pe Wayback Machine pe site-ul web World of Spectrum
- ↑ Laser Basic Arhivat 26 aprilie 2016 pe Wayback Machine pe site-ul web World of Spectrum
- ↑ Spectrul. Apariție” (Vega) . Consultat la 3 aprilie 2016. Arhivat din original pe 7 decembrie 2014. (nedefinit)
Dialectele limbajului de programare BASIC |
---|
Clasic |
|
---|
tranzitorie |
|
---|
procedural |
|
---|
Obiect |
|
---|
Mobil |
|
---|
Consolă |
|
---|