Sinclair BASIC: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m WPCleaner v2.01 - Fixed using Wikipedia:Check Wikipedia (Entità per le lineette)
Funzionalità collegamenti suggeriti: 1 collegamento inserito.
 
(6 versioni intermedie di 6 utenti non mostrate)
Riga 1:
Il '''Sinclair BASIC''' (dal nome di Sir [[Clive Sinclair]]) è un dialetto del [[linguaggio di programmazione]] [[BASIC]] utilizzato negli [[home computer]] ad [[8 bit]] prodotti da [[Sinclair Research]] e [[Timex Sinclair]]. L'[[interprete (informatica)|interprete]] del Sinclair BASIC fu sviluppato da ''Nine Tiles Networks Ltd.''.
 
== Cenni storiciStoria ==
Sviluppato nel [[1979]], nacque originariamente per essere incluso nei 4 [[Kilobyte|KB]] di [[read-only memory|ROM]] del [[Sinclair ZX80]] e, a causa di questo ridotto quantitativo di memoria, risultò essere nella sua versione iniziale una [[implementazione]] incompleta del BASIC standard [[American National Standards Institute|ANSI]] del [[1978]]. Il linguaggio evolvette da questa prima versione fino a quella quasi completa integrata nei 16 KB di ROM dello [[ZX Spectrum]], passando per una versione intermedia inserita negli 8 KB di ROM dei computer [[Sinclair ZX81]] e [[Timex Sinclair 1000]].
 
Riga 21:
=== Altre caratteristiche ===
* Mediante le istruzioni READ e RESTORE è possibile leggere dati statici memorizzati nel programma per mezzo dell'istruzione DATA.
* Non c'è [[Real-time clock|orologio in tempo reale]] che però è ottenibile tramite programmazione.
 
=== Nomi delle variabili ===
Riga 31:
=== ZX Spectrum ===
[[File:ZXSpectrum48k.jpg|thumb|right|La tastiera di uno [[ZX Spectrum]]: le parole chiave del [[BASIC]] erano inserite mediante la pressione di particolari combinazioni di tasti funzione e lettere. Si notino intorno ai tasti i suggerimenti dei comandi scritti con colori differenti, ad indicare la combinazione richiesta]]
Sullo ZX Spectrum c'erano 86 parole riservate al Sinclair BASIC: queste includevano ''comandi'' (ce n'erano 50), ''funzioni'' (31) ed altre ''parole chiave'' (5), inserite attraverso uno specifico sistema delle macchine Sinclair. I comandi più comuni richiedevano la pressione di un singolo tasto: ad esempio, la pressione del tasto "P" causava l'apparizione dell'intera stringa <code>PRINT</code> (comando). I comandi di uso meno frequente richiedevano delle sequenze di tasti più complesso: ad esempio, <code>BEEP</code> richiedeva la pressione dei tasti CAPS SHIFT e SYMBOL SHIFT per accedere alla modalità estesa della tastiera (gli ultimi modelli integravano il tasto EXTENDED MODE che sostituiva questa combinazione), poi si doveva tenere premuto il tasto SYMBOL SHIFT e contemporaneamente premere il tasto "Z". Le parole chiave erano indicate sulla tastiera con uno schema a colori che indicava la sequenza di tasti SHIFT che era necessaria. Quello che segue è l'elenco delle parole chiave (quelle <u>sottolineate</u> sono funzioni):
 
Sullo ZX Spectrum c'erano 86 parole riservate al Sinclair BASIC: queste includevano ''comandi'' (ce n'erano 50), ''funzioni'' (31) ed altre ''parole chiave'' (5), inserite attraverso uno specifico sistema delle macchine Sinclair. I comandi più comuni richiedevano la pressione di un singolo tasto: ad esempio, la pressione del tasto "P" causava l'apparizione dell'intera stringa <code>PRINT</code> (comando). I comandi di uso meno frequente richiedevano delle sequenze di tasti più complesso: ad esempio, <code>BEEP</code> richiedeva la pressione dei tasti CAPS SHIFT e SYMBOL SHIFT per accedere alla modalità estesa della tastiera (gli ultimi modelli integravano il tasto EXTENDED MODE che sostituiva questa combinazione), poi si doveva tenere premuto il tasto SYMBOL SHIFT e contemporaneamente premere il tasto "Z". Le parole chiave erano indicate sulla tastiera con uno schema a colori che indicava la sequenza di tasti SHIFT che era necessaria. QuelloNormalmente chei segueprogrammi ènon l'elencosi delleavviano paroleda chiavesoli (quelledopo il caricamento ma occorre lanciarli con <ucode>sottolineateRUN</ucode>; sonomentre il salvataggio può però avvenire anche in modo da impostare l'avvio funzioni):automatico.
:<u>ABS</u>, <u>ACS</u>, <u>AND</u><sup><small>1</small></sup>, <u>ASN</u>, ''AT'', <u>ATN</u>, <u>ATTR</u>, BEEP, BIN, BORDER, BRIGHT<sup>7</sup>, CAT<sup><small>2</small></sup>, <u>CHR$</u><sup><small>3</small></sup>, CIRCLE, CLEAR, CLOSE#<sup><small>2</small></sup>, CLS, <u>CODE</u><sup><small>3</small></sup>, CONTINUE, COPY, <u>COS</u>, DATA, DEF FN, DIM, DRAW, ERASE<sup><small>2</small></sup>, <u>EXP</u>, FLASH<sup>7</sup>, <u>FN</u>, FOR, FORMAT<sup><small>2</small></sup>, GO SUB, GO TO, IF<sup><small>4</small></sup>, <u>IN</u>, INK<sup>7</sup>, <u>INKEY$</u><sup><small>3</small></sup>, INPUT, <u>INT</u>, INVERSE<sup>7</sup>, <u>LEN</u>, LET<sup><small>5</small></sup>, ''LINE'', LIST, LLIST, <u>LN</u>, LOAD, LPRINT, MERGE, MOVE<sup><small>2</small></sup>, NEW, NEXT, <u>NOT</u><sup><small>1</small></sup>, OPEN#<sup><small>2</small></sup>, <u>OR</u><sup><small>1</small></sup>, OUT, OVER<sup>7</sup>, PAPER<sup>7</sup>, PAUSE, <u>PEEK</u>, <u>PI</u>, PLOT, <u>POINT</u>, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, <u>RND</u>, RUN, SAVE, <u>SCREEN$</u><sup><small>3</small></sup>, <u>SGN</u>, <u>SIN</u>, <u>SQR</u>, ''STEP'', <u>STR$</u><sup><small>3</small></sup>, ''TAB'', <u>TAN</u>, ''THEN'' <sup><small>4</small></sup>, <u>TO</u>, <u>USR</u><sup><small>8</small></sup>, <u>VAL</u><sup><small>3, 6</small></sup>, <u>VAL$</u><sup><small>3</small></sup>, VERIFY
 
Le parole chiave (quelle <u>sottolineate</u> sono funzioni) erano:
 
:<u>ABS</u>, <u>ACS</u>, <u>AND</u><sup><small>1</small></sup>, <u>ASN</u>, ''AT'', <u>ATN</u>, <u>ATTR</u>, BEEP, BIN, BORDER, BRIGHT<sup>7</sup>, CAT<sup><small>2</small></sup>, <u>CHR$</u><sup><small>3</small></sup>, CIRCLE, CLEAR, CLOSE#<sup><small>2</small></sup>, CLS, <u>CODE</u><sup><small>3</small></sup>, CONTINUE, COPY, <u>COS</u>, DATA, DEF FN, DIM, DRAW, ERASE<sup><small>2</small></sup>, <u>EXP</u>, FLASH<sup>7</sup>, <u>FN</u>, FOR, FORMAT<sup><small>2</small></sup>, GO SUB, GO TO, IF<sup><small>4</small></sup>, <u>IN</u>, INK<sup>7</sup>, <u>INKEY$</u><sup><small>3</small></sup>, INPUT, <u>INT</u>, INVERSE<sup>7</sup>, <u>LEN</u>, LET<sup><small>5</small></sup>, ''LINE'', LIST, LLIST, <u>LN</u>, LOAD, LPRINT, MERGE, MOVE<sup><small>2</small></sup>, NEW, NEXT, <u>NOT</u><sup><small>1</small></sup>, OPEN#<sup><small>2</small></sup>, <u>OR</u><sup><small>1</small></sup>, OUT, OVER<sup>7</sup>, PAPER<sup>7</sup>, PAUSE, <u>PEEK</u>, <u>PI</u>, PLOT, <u>POINT</u>, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, <u>RND</u>, RUN, SAVE, <u>SCREEN$</u><sup><small>3</small></sup>, <u>SGN</u>, <u>SIN</u>, <u>SQR</u>, ''STEP'', <u>STR$</u><sup><small>3</small></sup>, ''TAB'', <u>TAN</u>, ''THEN'' <sup><small>4</small></sup>, <u>TO</u>, <u>USR</u><sup><small>8</small></sup>, <u>VAL</u><sup><small>3, 6</small></sup>, <u>VAL$</u><sup><small>3</small></sup>, VERIFY
 
I comandi presenti solo sullo ZX81 e sui suoi [[clone (informatica)|cloni]], sul TS1000 e sul [[Timex Sinclair 1500]] erano:
Riga 60 ⟶ 63:
 
==Timex BASIC==
Il dialetto Timex BASIC, utilizzato nei compatibili Spectrum come il [[Timex Sinclair 2068]] (ma non nel [[Timex Computer 2048]] che utilizzava il Sinclair BASIC tradizionale) aveva le seguenti parole chiavichiave aggiuntive:
 
* <code>DELETE</code> cancellava un intervallo di linee del programma BASIC
Riga 70 ⟶ 73:
 
==Bibliografia==
*{{cita libro|autore=Mike Lord|titolo=Alla scoperta del BASIC Spectrum|editore=Gruppo Editoriale Jackson|anno=1985|annooriginale=1982|ISBN=887056228X|url=httphttps://www.museodelcomputerarchive.org/index.php/nav=Biblioteca.40/Documento=143/Livello=SCHEDAdetails/Language=ITA|formato=pdfallascopertadelbasicspectrum}}
* {{Cita testo|titolo=Programmazione dello ZX Spectrum|url=https://archive.org/details/programmazionedellozxspectrum|autore=Tim Hartnell|editore=Gruppo Editoriale Jackson|anno=1984|ISBN=88-7056-034-1}}
* {{Cita testo|titolo=Il piacere di programmare con lo ZX Spectrum|url=https://archive.org/details/ilpiacerediprogrammareconlozxspectrum|autore=Ian Stewart e Robin Jones|editore=Arnoldo Mondadori Editore|anno=1984|ISBN=}}
* {{en}} Steven Vickers, ''[http://www.worldofspectrum.org/ZXBasicManual/ Sinclar ZX Spectrum BASIC Programming]'', Sinclair Research, 1982
* {{en}} Neil Ardley, ''Sinclair ZX Spectrum+ User Guide'', Dorling Kindersley in associazione con Sinclair Research, 1984, ISBN 0-86318-080-9.
Riga 79 ⟶ 84:
 
==Collegamenti esterni==
* [http://www.worldofspectrum.org/ZX81BasicProgramming/ Sinclair ZX81 Basic Programming] {{Webarchive|url=https://web.archive.org/web/20070422024127/http://www.worldofspectrum.org/ZX81BasicProgramming/ |date=22 aprile 2007 }}
* Andrew Owen, [http://scratchpad.wikia.com/wiki/Sinclair_BASIC_History The History of Sinclair BASIC]