GW-Basic
GW-Basic est un interpréteur pour le langage de programmation Basic développé par Microsoft. Il est fourni avec les DOS Microsoft (MS-DOS) ou IBM des versions 1.0 à 4.0.
GW-Basic | |
Date de première version | |
---|---|
Influencé par | IBM Advanced BASIC (d) |
Licence | Licence MIT[1],[2] |
La dernière version est la version 3.23.
GW-BASIC est fonctionnellement identique à l'interpréteur BASICA, fourni avec les ordinateurs IBM. Cependant, BASICA a besoin de la ROM BASIC des ordinateurs IBM pour fonctionner ; on ne peut donc pas l'utiliser sur d'autres ordinateurs[3]. Quant à lui, l'exécutable de GW-BASIC contient l'intégralité de l'interpréteur, on peut donc l'utiliser sur tout type de matériel.
Par rapport au Cassette BASIC présent en ROM sur l'IBM PC, BASICA/GW-BASIC se distingue notamment par sa prise en charge des disques, du son et des graphismes.
Exemple de code
5 CLS
10 INPUT "Quel est votre nom "; NOM$
20 PRINT "Bonjour "; NOM$
30 INPUT "Combien d'étoiles voulez-vous "; NOMBRE
40 FOR I = 1 TO NOMBRE
50 ETOILE$ = ETOILE$ + "*"
55 NEXT I
60 PRINT ETOILE$
70 INPUT "Voulez-vous plus d'étoiles "; ETOILE$
80 IF LEN(ETOILE$) = 0 THEN GOTO 70
90 ETOILE$ = LEFT$(ETOILE$, 1)
100 IF (ETOILE$ = "O") OR (ETOILE$ = "o") THEN GOTO 30
110 PRINT "Au revoir ";
120 FOR I = 1 TO 200
130 PRINT NOM$; " ";
140 NEXT I
150 PRINT
Mot réservé | Signification |
---|---|
CLS | efface l'écran |
INPUT | attend une entrée clavier de l'utilisateur a valider avec ENTREE. La question est suivie automatiquement d'un point d'interrogation. |
commande d'affichage à l'écran | |
FOR | début d'une boucle |
TO | exécute la boucle jusqu'au nombre voulu |
NEXT | fin de la boucle |
LEN() | donne la longueur d'un argument chaîne de caractère(s) |
OR | opérateur logique "OU" |
THEN | alors |
LEFT$( ,1) | donne le premier caractère gauche de la chaîne |
GOTO | retourne ou va (dans l'exemple) à la ligne 30 |
; | syntaxe qui signifie que, ce qui suit, reste sur la même ligne sans le ";", "NOM$" s'afficherait à la ligne suivante. |
" " | syntaxe qui signifie que ce qui est à l'intérieur des guillemets est du texte.
EX: PRINT 1 et PRINT "1" sont différents dans la mémoire de la machine mais pas à l'affichage (à part un décalage d'une espace pour le 1 numérique) |
NOM$ et ETOILE$ | sont des variables alphabétiques (chaînes) reconnaissables au caractère "$" (Les variables ne sont pas déclarées préalablement comme dans la plupart des autres langages). |
NOMBRE et I | variable alphanumérique |
5 à 150 | dans l'éditeur GWBASIC les lignes sont numérotées et commencent à 10, elles s'incrémentent automatiquement de 10 en 10, mais on peut intercaler des lignes comme ici "5 CLS" et "55 NEXT" |
Références
- « https://api.github.com/repos/microsoft/GW-BASIC » (consulté le )
- « https://github.com/microsoft/GW-BASIC/blob/master/LICENSE »
- (en) Williams, Gregg, « A Closer Look at the IBM Personal Computer », BYTE, , p. 36 (lire en ligne, consulté le )
Liens externes
- Code source en assembleur 8088 de GW-BASIC, diffusé sous licence MIT par Microsoft le 21 mai 2020.