Aller au contenu

GW-Basic

Un article de Wikipédia, l'encyclopédie libre.

GW-Basic
Date de première version Voir et modifier les données sur Wikidata
Influencé par IBM Advanced BASIC (d)Voir et modifier les données sur Wikidata
Licence Licence MIT[1],[2]Voir et modifier les données sur Wikidata

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.

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

[modifier | modifier le 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


Les mots réservés dans cet exemple signifient
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.
PRINT 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

[modifier | modifier le code]
  1. « https://api.github.com/repos/microsoft/GW-BASIC » (consulté le )
  2. « https://github.com/microsoft/GW-BASIC/blob/master/LICENSE »
  3. (en) Williams, Gregg, « A Closer Look at the IBM Personal Computer », BYTE,‎ , p. 36 (lire en ligne, consulté le )

Liens externes

[modifier | modifier le code]