Le langage BASIC

Le programme GWBasic ( 58.9 Ko) de chez Microsoft était fourni en standard dans les MS-DOS version 4 et antérieur. La version QBasic (pour Quick Basic) le remplace à partir de la version 5 de MS-DOS.

Cette version, que je vous propose en téléchargement, fonctionne sur les ordinateurs actuel ; les versions que vous trouverez sur les anciens MS-DOS sur disquette 5"¼ ne supporte pas les microprocesseurs supérieur au 386 voire 486.

Ce programme ne connaît pas les nouvelles instructions du basic d'aujourd'hui ; cependant, cet interpréteur offre l'avantage d'être simple et de permet une initiation au traitement informatique simplifier. Ce n'est sûrement pas ce qu'il y a de mieux pour l'apprentissage de la gestion des fichiers autre quand accès séquentiel. Mais l'histoire fait de ce langage une référence qui aujourd'hui tourne encore des une grande quantité de laboratoire des facultés française (c'est fou le progrès de nos labos).

Voici l'interface utilisateur de nous présente GWBasic à son démarrage : la version de l'interpréteur suivit du Copyright et de la mémoire disponible pour nos programmes. Remarque que nous sommes relativement limité, puisque le GWBasic ne nous offre pas l'accès à la mémoire étendu et que moins d'un segment de mémoire nous est accessible (1 segment = 2^16 octet).

GW-BASIC 3.22
(C) Copyright Microsoft 1983,1984,1985,1986,1987
60300 Byte free
Ok
_





1LIST  2RUN¬   3LOAD"  4SAVE"  5CONT¬  6,"LPT1 7TRON¬  8TROFF¬ 9KEY  0SCREEN  

Touches de fonction : remarquez la barre des menus en bas de l'interface; elle représente les textes associés aux touches de fonction. Ainsi l'appuie sur la touche F1 injecte "LIST" à l'emplacement du curseur.

Curseur : Par défaut, le curseur est en mode "écrasement" ; c'est à dire que toute frappe écrase le texte qui est placé sous le curseur. Pour passer en mode insertion, appuyer sur la touche "Inser". Dès lors, le curseur change de forme pour représenter un rectangle d'une demi-hauteur de caractère.

Tapons "KEY OFF" puis validons avec la touche "Entrée" :

GW-BASIC 3.22
(C) Copyright Microsoft 1983,1984,1985,1986,1987
60300 Byte free
Ok
key off
Ok
_


Cette instruction cache la barre des fonctions. Dès lors, dans les écrans d'explication qui suivront, je cacherais automatiquement la barre des fonctions pour une simplification de la lecture.

L'instruction "KEY ON" permet de réafficher la barre des touches de fonction. Sachez aussi que les touches de fonction peuvent être très facilement reprogrammées.

Instruction d'affichage

Et c'est partis pour le premier programme le plus simple au monde, afficher "Bonjour !".

Tapez la commande suivante et validez : « PRINT "Bonjour !" »

GW-BASIC 3.22
(C) Copyright Microsoft 1983,1984,1985,1986,1987
60300 Byte free
Ok
key off
Ok
PRINT "Bonjour !"
Bonjour !
Ok
_


C'est très fort !

Remarquez que l'interpréteur vous affiche « Ok » après chaque interprétation ce qui vous signale qu'il est prêt et attend un nouvel ordre. Dans d'autre Basic interprété comme sur les CPC d'Amstrad, nous avions « Ready » comme invité de saisie.

Qu'est-ce qu'un interpréteur ?

Un interpréteur est un programme qui va analyser et exécuter des instructions (ou suite d'instruction) au fur et à mesure de sa lecture. Un peu comme si nous lisions un mode opération ou un manuel d'installation d'assemblage et que nous effectuons les opérations point par point en même temps que notre lecture. Dans ce cas, une erreur ou incompréhension arrête immédiatement notre lecture et engendre une question ou plus particulièrement une erreur pour l'interpréteur qui lui ne peut extrapoler des solutions. Un interpréteur est un automate qui effectuer les traitements au fur et à mesure sans chercher à comprendre ce qu'il fait ; cependant un instruction inconnue ou une syntaxe inadéquat le plante (erreur).

Le GWBasic est un interpréteur.

Les instructions

Une instruction est un mot que reconnaît l'interpréteur ; il appartient à ce que l'on appelle les mots réservés, car ils ne peuvent pas être utilisés comme nom de variable. Ainsi l'instruction « PRINT » que nous avons utilisé ci-dessus ne pourra pas être utilisé comme variable. En cas d'essais, l'interpréteur vous affichera immédiatement une erreur de syntaxe.

Quelques instructions simples

AUTO Auto-numérotation pour la création d'un programme (liste d'instructions)
CLS Efface l'écran
COLOR T;F,C Définir respectivement la couleur du Texte, du Fond de texte et du cadre de l'écran.
LIST Liste le programme en mémoire
RUN
RUN "fichier"
Démarre le programme en mémoire
Charge le programme "fichier" et exécute le.
SCREEN m [,[c] [,[p]] Sélectionne le mode (m) vidéo ; les options facultatives "c" (0/1) et "p" permet de définir la gestion des couleurs et la page actif (mode texte).
Write Affiche des données listés en paramètres, comme "Print" mais en plaçant des guillemets autour des chaînes alphanumérique et en séparant les données par une virgule. Cette commande est généralement utilisée pour l'écriture des données dans un fichier séquentiel.
Print
?
Affiche des données listés en paramètres.
Les données séparés, par une virgule, sont espacées sur le colonage suivant (cinq colonnes en 80 caractères) et accolé lorsqu'elles sont séparées d'un point-virgule.
Au niveau numérique, l'accolement contient l'espace du signe et un espace après le nombre.
Print Using Affiche une variable avec un formatage dans une chaîne ; utilisé couramment pour la mise en forme dans l'affichage ou l'impression. Voir instruction Print Using.

Un petit exemple d'utilisation de « COLOR » :

GW-BASIC 3.22
(C) Copyright Microsoft 1983,1984,1985,1986,1987
60300 Byte free
Ok
key off
Ok
PRINT "Bonjour !"
Bonjour !
Ok
Color 14,1,4
Ok 
_

Lancez l'instructions « SCREEN 0,0,0 » pour restaurer l'écran texte en mode vidéo 80*25 caractères 16 couleurs ; cette fonction est associée normalement à la touche F10.

Ok                                                 
_


Voilà, l'écran est tous propre.

Les touches de l'interpréteur

Fin Place le curseur en fin de ligne
Inser Bascule entre le mode insertion et écrasement (ce dernier est par défaut)
Ctrl-E / Ctrl-Fin Supprime la fin de la ligne à partir du curseur
Home Place de curseur en haute gauche de l'écran
Ctrl+PageDown Efface tous après l'écran curseur (fin de ligne et ligne en dessous)
Ctrl+Home Efface tous l'écran
ESC Efface la ligne du curseur et le place en début
Ctrl+Gauche Saut au précédent début de mot (les séparateur ne sont pas des mots)
Ctrl+Droit Saut au prochain début de mot
Ctrl+Enter Pousse les caractère à partir du curseur jusqu'à la ligne suivant avec des espace.
Touche de directions Déplace le curseur

Les fonctions numérique

Une fonction est une instruction qui retourne une valeur. Par exemple, les fonctions mathématiques comme cosinus et sinus retournent une valeur suivant un paramètre donnée.

Les fonctions, mathématique ou utilisateur, sont plus particulièrement orientées sur le calcul.

Cos (x) Retourne un cosinus en fonction du paramètre x en radiant.
Sin (x) Fonction sinus avec le paramètre en radian.
r$=INPUT$(x) Lecture de x caractères alphanumérique au clavier ; r$ est une variable alphanumérique, caractérisé par le symbole dollar.
   

Instruction d'affectation et fonction de lecture

Une fonction est une instruction qui retourne une valeur. Parmi elles, nous trouvons quelques fonctions d'entrée de données comme INPUT$ et INKEY$. Ces fonctions ne travaillent pas sur les nombre mais sur les caractères ou chaîne de caractères.
Une instruction d'affectation charge le contenu d'une ou de plusieurs variables avec des valeurs lues dans un fichier d'entrée (le clavier est un fichier d'entrées).

Les instructions d'affectation les plus important du basic sont celles qui permet la lecture de données, que ce soit saisie au clavier par l'utilisateur ou dans des fichiers de données (comprenant aussi tous forme de communication comparable tel que les ports de communication).

INPUT V
INPUT "texte", V
INPUT "texte" ; V
Lecture d'une valeur du type de la variable (ici v est une variable numérique)
"texte" est un message affiché devant la zone de saisie de la valeur
La virgule évite le point d'exclamation.
r$=INPUT$(x) Lecture de x caractères alphanumérique au clavier ; r$ est une variable alphanumérique, caractérisé par le symbole dollar.
r$=INKEY$ Lecture du tampon (buffer) clavier ; si le clavier ne contient pas de caractère, une chaîne vide est retournée.
Cette instruction permet entre autre de lire les touches étendues du clavier (pas F11 et F12). Ainsi nous pourront lire les touches de direction et le touche de fonctions.
Par exemple, la touche ESC retourne le caractère numéro 27 et la flèche vers le haut renvoie la chaîne chr$(0)+"H".

Voici quelque teste avec l'utilisation de l'instruction INPUT

Ok                                                 
INPUT a
? 4
Ok
INPUT "text :",a
text :5
Ok
INPUT "text";a
text? 6
Ok
_


 

 

 

Instruction Print Using

Caractères utilisés pour mettre en forme une expression numérique
# position de chiffre
. position du point décimal
, placée à gauche du point décimal, affiche une virgule tous les 3 chiffres
+ position du signe d'un nombre (force le plus aussi)
^^^^ affiche en format exponentiel
- placé après les positions de chiffre, affiche un signe à droite pour les nombres négatifs
$$ affiche le signe $ en tête ; impossible d'utiliser un autre symbole monétaire
** remplace les espaces de tête par *
**$ combine ** et $$

 

Caractères utilisés pour mettre en forme une expression de chaîne
& affiche toute la chaîne
! affiche uniquement le premier caractère de la chaîne
\ \ affiche les n premiers caractères, où n=(nbre d'espaces entre les barres obliques + 2)

 

Caractères littéraux (autre)
_ Affiche le caractère de formatage suivant en tant que caractère littéral ; informe que la caractère qui suit le "backspace" sera pas interprété comme un caractère de formatage, mais comme un caractère texte a afficher.
  Tout autre caractère est affiché en tant que caractère littéral ; affichage des autres caractères comme du texte.

 


Dernière mise à jour : samedi 08 septembre 2018