QBASIC linguaggio di programmazione | |
---|---|
![]() | |
Autore | Microsoft |
Data di origine | 1991 |
Ultima versione | 1.1 (1992) |
Paradigmi | programmazione procedurale |
Tipizzazione | forte |
Influenzato da | Basic |
Implementazione di riferimento | |
Sistema operativo | MS-DOS,Windows 95,Windows 98,Windows Me,PC DOS,OS/2,eComStation |
Lingua | inglese |
Licenza | Proprietaria |
Modifica dati su Wikidata ·Manuale |
Qbasic è undialetto del linguaggio di programmazioneBASIC, creato nel1991 dalla società statunitenseMicrosoft.
Come indica il prefisso Q, abbreviazione diQuick (veloce/rapido), la caratteristica peculiare di questo linguaggio è la semplicità con cui si può ottenere un programma per l'esecuzione di azioni in un personalcomputer. Alla fine deglianni ottanta tale linguaggio si era diffuso soprattutto nelle scuole, dove veniva utilizzato per comporre semplici disegni o programmi elementari.
Un esempio di sempliceprogramma, il famoso "Hello world" (in italianoCiao mondo!):
10CLS20PRINT"Ciao, mondo!"
Ogni riga è suddivisa in due parti: l'etichetta, costituita da un numero, e da una o piùistruzioni.
Tecnicamente parlando, il QBASIC è un linguaggio procedurale "top-down", cioè possiede unflusso sequenziale che parte dalla prima istruzione (ilTop) e prosegue verso il basso (down). È inoltre un linguaggio "diroutine": questo significa che una volta terminata l'operazione (o la sequenza di operazioni) il programma deve re-iniziare da capo.
Il linguaggio QBASIC si basa perlopiù sulla gestione di risorse esterne, e presenta istruzioni dedicate per la visualizzazione di figure geometriche: infatti, gli unici comandi didisegno disponibili sono CIRCLE (per disegnare un cerchio), LINE (per tracciare una linea o un rettangolo) e PAINT (per colorare l'interno di una figura geometrica), insieme ad altre istruzioni minori, come PSET per accendere un pixel singolo.
Nell'esempio riportato sotto l'istruzioneprint compone avideo la parolaCiao. Nel nostro caso, senza una condizione e una istruzione di interruzione, il ciclo è infinito.
10PRINT"Ciao"20GOTO10
Invece, per creare un nuovo schermo vuoto si deve digitare CLS:
10CLS20PRINT"Fra tre secondi questa pagina verrà cancellata..."30SLEEP3' attende per 3 secondi40CLS
Le istruzioniDO..LOOP consentono di ripetere più volte un'istruzione:
10CLS20DO30LOCATE28,1' va alla riga 28 e alla colonna 140PRINT"Premere ESC per finire il programma"50LOOPUNTILINKEY$=CHR$(27)' termina il programma solo quando si preme ESC, che ha il codice 27
Per la grafica, l'istruzione principale èLINE: essa consente di tracciare delle linee. Ecco un esempio:
10SCREEN1220COLOR11'da ora, ogni cosa digitata o tracciata sarà di colore azzurro.30LINE(300,200)-(300,300)40LINE(300,300)-(400,300)50LINE(400,300)-(400,200)60LINE(400,200)-(300,200)70PAINT(310,210)' riempie l'area del quadrato di azzurro.80COLOR15' torna al colore bianco.90PRINT"Questo è un quadrato!"
Con QBASIC sono stati creati diversi programmi, in particolar modo videogiochi.I più famosi sono:
Il QBasic è stato incluso nelleversioni di MS-DOS 5.0 e superiori, inclusoMicrosoft Windows 95. È basato su una versione delQuickBASIC precedente alla 4.5, ma non include né ilcompilatore né il linker.A partire dalla metà deglianni novanta, con l'avvento della grafica e di nuove soluzioni tecniche per programmare (programmazione ad eventi eprogrammazione ad oggetti) il linguaggio originale, il BASIC, si è evoluto (vediVisual Basic), mentre il QBasic non è più stato sviluppato.Oggi esistono sulla rete alcuni compilatoriOpen source, come ilQB64, che permettono di compilare programmi scritti in QBasic in eseguibili per Windows a64 bit,macOS eLinux. Sul sito di Microsoft è disponibile una versione gratuita per Windows 10. Nella pagina è definito interprete e si dichiara che può essere usato per eseguire programmiQuickBASIC.
Altri progetti
Ambienti di sviluppo integrati | |||||||||
---|---|---|---|---|---|---|---|---|---|
C eC++ |
| ||||||||
Java |
| ||||||||
CLI |
| ||||||||
PHP | |||||||||
Python | |||||||||
Pascal eObject Pascal |
| ||||||||
BASIC |
| ||||||||
Categoria |
Controllo di autorità | LCCN(EN) sh90005769 ·GND(DE) 4265285-6 ·J9U(EN, HE) 987007541737905171 |
---|