GW-Basic
| 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 |
| modifier | |
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 ]5CLS 10INPUT"Quel est votre nom ";NOM$ 20PRINT"Bonjour ";NOM$ 30INPUT"Combien d'étoiles voulez-vous ";NOMBRE 40FORI=1TONOMBRE 50ETOILE$=ETOILE$+"*" 55NEXTI 60PRINTETOILE$ 70INPUT"Voulez-vous plus d'étoiles ";ETOILE$ 80IFLEN(ETOILE$)=0THENGOTO70 90ETOILE$=LEFT$(ETOILE$,1) 100IF(ETOILE$="O")OR(ETOILE$="o")THENGOTO30 110PRINT"Au revoir "; 120FORI=1TO200 130PRINTNOM$;" "; 140NEXTI 150PRINT
| 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" titine |
Références
[modifier | modifier le code ]- ↑ « 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
[modifier | modifier le code ]- Code source en assembleur 8088 de GW-BASIC, diffusé sous licence MIT par Microsoft le .