Sinclair BASIC
Sinclair Basic és el nom que rep el BASIC implementat a la Memòria ROM dels microordinadors Sinclair des del ZX80 fins a les diferents versions del ZX Spectrum. Aquests ordinadors es van comercialitzar des de 1980 (model Sinclair ZX80) fins a 1992 (models Amstrad/Sinclair ZX Spectrum).[1] HistòriaEl Sinclair Basic va ser desenvolupat originalment el 1979 per l'empresa «Nine Tiles Networks Ltd.» com una versió mínima del BASIC estàndard amb 4 KiB, per al Sinclair ZX80. Va evolucionar per a 8 KiB en el Sinclair ZX81 i per a una versió versió gairebé completa de 16 KiB en el ZX Spectrum. Varen existir versions d'aquest llenguatge per a clònics del Sinclair Spectrum, com l'estatunidenc Timex Sinclair 2068 («Timex Basic») i el brasiler Microdigital TK 90X («TK BASIC»),[2] que han afegit ordres addicionals, no trobades en el Sinclair Basic original. Diferències respecte al BASIC estàndardSintaxiEn general, el Sinclair Basic és un BASIC clàssic que utilitza nombres de línia i no admet programació 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=1 20 PRINT nomes una cosa Operadors
10 PRINT "TINC " + ("FAM" AND MENJAR <0) + ("FRED" AND TEMPERATURA <10) Ramificació i subrutines
10 LET FI=40 20 GOTO FI 30 PRINT "AIXO' NO S'IMPRIMEIX" 40 PRINT "FI DEL PROGRAMA" Instruccions d'entrada/sortida
ResumEls següents quadres comparen el Sinclair Basic amb un BASIC original no estructurat, utilitzant el programa d'exemple que apareix en l'article de la Viquipèdia en anglès sobre BASIC:
10 INPUT "Com es diu ? ";U$ 20 PRINT "Hola ";U$ 30 INPUT "Quants asteriscs desitja ? ";N 35 S$="" 40 FOR I=1 TO N 50 S$=S$+"*" 55 NEXT I 60 PRINT S$ 70 INPUT "Voleu més asteriscs ? ";A$ 75 PRINT 80 IF LEN (A$)=0 THEN GOTO 70 90 A$=LEFT(A$,1) 100 IF (A$="S") OR (A$="s") THEN GOTO 30 110 PRINT "Adéu "; 120 FOR I=1 TO N 130 PRINT U$;""; 140 NEXT I 150 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? ";N 35 LET S$="" 40 FOR I= 1 TO N 50 LET S$=S$+"*" 55 NEXT I 60 PRINT S$ 70 PRINT "Voleu me";CHR$ 8;"'s asteriscs? ";: INPUT A$ 80 PRINT: IF LEN A$=0 THEN GOTO 70 90 LET A$=A$(1) 100 IF (A$="S") OR (A$="s") THEN GOTO 30 110 PRINT "Ade";CHR$ 8;"'u "; 120 FOR I=1 TO N 130 PRINT U$;" "; 140 NEXT I 150 PRINT:OVER 0 Referències
Enllaços externs
|