| Tipus | llenguatge de programació d'alt nivell |
|---|---|
| Desenvolupador | Nine Tiles Networks Sinclair Research |
| Paradigma de programació | imperatiu |
| Influenciat per | BASIC |
| Ha influenciat | SuperBASIC |
Sinclair Basic és el nom que rep elBASIC implementat a laMemòria ROM delsmicroordinadorsSinclair des delZX80 fins a les diferents versions delZX Spectrum. Aquests ordinadors es van comercialitzar des de 1980 (modelSinclair ZX80) fins a 1992 (modelsAmstrad/Sinclair ZX Spectrum).[1]

ElSinclair Basic va ser desenvolupat originalment el 1979 per l'empresa «Nine Tiles Networks Ltd.» com una versió mínima delBASIC estàndard amb 4KiB, per alSinclair ZX80. Va evolucionar per a 8 KiB en elSinclair ZX81 i per a una versió versió gairebé completa de 16 KiB en elZX Spectrum.[cal citació]
Varen existir versions d'aquest llenguatge per a clònics del Sinclair Spectrum, com l'estatunidencTimex Sinclair 2068 («Timex Basic») i elbrasilerMicrodigital TK 90X («TK BASIC»),[2] que han afegitordres addicionals, no trobades en el Sinclair Basic original.
En general, el Sinclair Basic és unBASIC clàssic que utilitza nombres de línia i no admetprogramació estructurada.[3]
Un detall addicional per als usuaris del «ZX Spectrum» anterior al model de 128K era que cada ordre estava emmagatzemada en una tecla diferent, de manera que per escriure:
10 FOR A=1 TO 2*PI
Calia entrar:
10 F A=1 <SYMBOL-SHIFT>-<F> 2* <SYMBOL-SHIFT>-<ALT-SHIFT>-<M>
10 LET A$="ZXSPECTRUM"20 PRINT A$(TO 3):REM "ZXS"30 PRINT A$(4 TO 6):REM "PEC"40 PRINT A$(7):REM "T"50 PRINT A$(8 TO):REM "RUM"
10 LET nomes una cosa=120 PRINT nomes una cosa
10 PRINT "TINC " + ("FAM" AND MENJAR <0) + ("FRED" AND TEMPERATURA <10)10 LET FI=4020 GOTO FI30 PRINT "AIXO' NO S'IMPRIMEIX"40 PRINT "FI DEL PROGRAMA"
Els següents quadres comparen el Sinclair Basic amb un BASIC original no estructurat, utilitzant el programa d'exemple que apareix en l'article de laViquipèdia enanglès sobreBASIC:
10 INPUT "Com es diu ? ";U$20 PRINT "Hola ";U$30 INPUT "Quants asteriscs desitja ? ";N35 S$=""40 FOR I=1 TO N50 S$=S$+"*"55 NEXT I60 PRINT S$70 INPUT "Voleu més asteriscs ? ";A$75 PRINT80 IF LEN (A$)=0 THEN GOTO 7090 A$=LEFT(A$,1)100 IF (A$="S") OR (A$="s") THEN GOTO 30110 PRINT "Adéu ";120 FOR I=1 TO N130 PRINT U$;"";140 NEXT I150 PRINT
5 OVER 1: REM usat en combinació amb CHR$ 8 per produir accents.10 INPUT "Com es diu? ";U$20 PRINT "Hola ";U$30 INPUT "Quants asteriscs desitja? ";N35 LET S$=""40 FOR I= 1 TO N50 LET S$=S$+"*"55 NEXT I60 PRINT S$70 PRINT "Voleu me";CHR$ 8;"'s asteriscs? ";: INPUT A$80 PRINT: IF LEN A$=0 THEN GOTO 7090 LET A$=A$(1)100 IF (A$="S") OR (A$="s") THEN GOTO 30110 PRINT "Ade";CHR$ 8;"'u ";120 FOR I=1 TO N130 PRINT U$;" ";140 NEXT I150 PRINT:OVER 0