Les premiers pas
Cette page décrit comment charger GW-BASIC dans votre système. Il explique également les deux différents types de modes de fonctionnement, les formats de ligne et les divers éléments de GW-BASIC.
Chargement de GW-BASIC
Pour utiliser le langage de programamtion GW-BASIC, vous devez le charger dans la mémoire de votre ordinateur à partir de votre copie de travail de la disquette MS-DOS. Utilisez la procédure suivante :
- Allumez votre ordinateur.
- Insérez votre copie de travail de la disquette MS-DOS dans l'unité de disque A de votre ordinateur et appuyez sur RETURN.
- Tapez la commande suivante après le A> et appuyez sur RETURN :
gwbasic |
Une fois que vous avez entré GW-BASIC, le prompt GW-BASIC, Ok, remplacera le prompt MS-DOS, A>.
Sur l'écran, la ligne XXXXX Bytes Free indique combien d'octets sont disponibles pour une utilisation en mémoire lors de l'utilisation de GW-BASIC.
Les affectations des touches de fonction (F1 à F10) apparaissent sur la ligne inférieure de l'écran. Ces touches de fonction peuvent être utilisées pour éliminer les frappes et gagner du temps.
Modes de fonctionnement
Une fois que GW-BASIC est initialisé (chargé), il affiche le prompt Ok. Ok signifie que GW-BASIC est au niveau de la commande; c'est-à-dire qu'il est prêt à accepter des commandes. À ce stade, GW-BASIC peut être utilisé dans l'un des deux modes : mode direct ou mode indirect.
Mode direct
En mode direct, les instructions et commandes GW-BASIC sont exécutées au fur et à mesure qu'elles sont saisies. Les résultats des opérations arithmétiques et logiques peuvent être affichés immédiatement et/ou stockés pour une utilisation ultérieure, mais les instructions elles-mêmes sont perdues après l'exécution. Ce mode est utile pour le débogage et pour utiliser GW-BASIC comme calculatrice pour des calculs rapides ne nécessitant pas un programme complet.
Mode indirect
Le mode indirect est utilisé pour entrer dans les programmes. Les lignes de programme sont toujours précédées de numéros de ligne et sont entreposées en mémoire. Le programme entreposé en mémoire est exécuté en entrant la commande RUN.
Le format de ligne de commande GW-BASIC
La ligne de commande GW-BASIC vous permet de modifier l'environnement ou les conditions s'appliquant lors de l'utilisation de GW-BASIC.
Note
- Lorsque vous spécifiez des modifications à l'environnement d'exploitation de GW-BASIC, assurez-vous de conserver la séquence de paramètres indiquée dans la déclaration de syntaxe. Pour ignorer un paramètre, insérez une virgule. Cela permettra à l'ordinateur de savoir que vous n'avez apporté aucune modification à ce paramètre particulier.
GW-BASIC utilise une ligne de commande dans le format suivante :
gwbasic [filename][<stdin][>][>stdout][/f:n][/i][/s:n][/c:n][/m:[n][,n]][/d] |
filename est le nom d'un fichier de programme GW-BASIC. Si ce paramètre est présent, GW-BASIC procède comme si une commande RUN avait été donnée. Si aucune extension n'est fournie pour le nom de fichier, une extension de fichier par défaut de «.BAS» est supposée. L'extension «.BAS» indique que le fichier est un fichier GW-BASIC. Le nombre maximum de caractères qu'un nom de fichier peut contenir est de huit avec une décimale et trois caractères d'extension.
<stdin redirige l'entrée standard de GW-BASIC pour qu'elle soit lue à partir du fichier spécifié. Lorsqu'il est utilisé, il doit apparaître avant tous les commutateurs.
Cela peut être utilisé lorsque vous avez plusieurs fichiers pouvant être utilisés par votre programme et que vous souhaitez spécifier un fichier d'entrée particulier.
>stdout redirige la sortie standard de GW-BASIC vers le fichier ou le périphérique spécifié. Lorsqu'il est utilisé, il doit apparaître avant tous les commutateurs. L'utilisation de >> avant stdout entraîne l'ajout de la sortie.
GW-BASIC peut être redirigé pour lire à partir de l'entrée standard (clavier) et écrire sur la sortie standard (écran) en fournissant les noms de fichiers d'entrée et de sortie sur la ligne de commande comme suit :
gwbasic program name <input file[>]>output file |
Une explication de la redirection de fichiers suit cette discussion de la ligne de commande GW-BASIC.
Les commutateurs apparaissent fréquemment dans les lignes de commande ; ils désignent un plan d'action spécifié pour la commande, par opposition à l'utilisation de la valeur par défaut pour ce paramètre. Un paramètre de commutateur est précédé d'une barre oblique (/).
/f:n définit le nombre maximum de fichiers pouvant être ouverts simultanément lors de l'exécution d'un programme GW-BASIC. Chaque fichier nécessite 194 octets pour le bloc de contrôle de fichier (FCB) plus 128 octets pour le tampon de données. La taille du tampon de données peut être modifiée avec le commutateur «/s»:. Si le commutateur «/f:» est omis, le nombre maximal de fichiers ouverts par défaut est 3. Ce commutateur est ignoré sauf si le commutateur «/i» est également spécifié sur la ligne de commande.
/i permet à GW-BASIC d'allouer statiquement l'espace requis pour les opérations sur les fichiers, en fonction des commutateurs /s et /f.
/s:n définit la longueur d'enregistrement maximale autorisée pour une utilisation avec des fichiers. L'option de longueur d'enregistrement dans l'instruction OPEN ne peut pas dépasser cette valeur. Si le commutateur «/s:» est omis, la longueur d'enregistrement par défaut est de 128 octets. La taille d'enregistrement maximale est de 32767.
/c:n contrôle les communications RS-232. Si des cartes RS-232 sont présentes, /c:0 désactive la prise en charge RS-232 et toute tentative d'entrée/sortie ultérieure pour chaque carte RS-232 présente. Si le commutateur /c: est omis, 256 octets sont alloués pour le tampon de réception et 128 octets pour le tampon de transmission pour chaque carte présente.
Le commutateur /c: n'a aucun effet lorsque les cartes RS-232 ne sont pas présentes. Le commutateur /c:n alloue n octets pour le tampon de réception et 128 octets pour le tampon de transmission pour chaque carte RS-232 présente.
/m:n[,n] définit l'emplacement mémoire le plus élevé (premier n) et la taille de bloc maximale (second n) utilisés par GW-BASIC. Le GW-BASIC tente d'allouer 64 Ko de mémoire pour les segments de données et de pile. Si des sous-programmes de langage machine doivent être utilisés avec des programmes GW-BASIC, utilisez le commutateur /m: pour définir l'emplacement le plus élevé que GW-BASIC peut utiliser. La taille de bloc maximale est en multiples de 16. Il est utilisé pour réserver de l'espace pour les programmes utilisateur (sous-programmes de langage d'assemblage) au-delà de l'espace de travail de GW-BASIC.
La valeur par défaut pour la taille de bloc maximale est l'emplacement de mémoire le plus élevé. La valeur par défaut pour l'emplacement mémoire le plus élevé est de 64 Ko, sauf si la taille de bloc maximale est spécifiée, auquel cas la valeur par défaut est la taille de bloc maximale (en multiples de 16).
/d permet à certaines fonctions de renvoyer des résultats en double précision. Lorsque le commutateur /d est spécifié, environ 3 000 octets d'espace de code supplémentaire sont utilisés. Les fonctions concernées sont ATN, COS, EXP, LOG, SIN, SQR et TAN.
Note
- Tous les numéros de commutateur peuvent être spécifiés au format décimal, octal (précédé de &O) ou hexadécimal (précédé de &H).
Les exemples de lignes de commande GW-BASIC sont les suivants :
Ce qui suit utilise 64 Ko de mémoire et trois fichiers ; charge et exécute le fichier programme PAYROLL.BAS :
A>gwbasic PAYROLL |
Ce qui suit utilise 64 Ko de mémoire et six fichiers ; charge et exécute le fichier programme INVENT.BAS :
A>gwbasic INVENT /F:6 |
Ce qui suit désactive la prise en charge RS-232 et utilise uniquement les 32 premiers octets de mémoire. 32K octets ci-dessus étant réservés aux programmes utilisateur :
A>gwbasic /C:0 /M:32768,4096 |
Ce qui suit utilise quatre fichiers et autorise une longueur d'enregistrement maximale de 512 octets :
A>gwbasic /F:4 /S:512 |
Ce qui suit utilise 64 Ko de mémoire et trois fichiers. Alloue 512 octets aux tampons de réception RS-232 et 128 octets aux tampons de transmission, puis charge et exécute le fichier programme TTY.BAS :
A>gwbasic TTY /C:512 |
Redirection de l'entrée et de la sortie standard
Lorsqu'elles sont redirigées, toutes les instructions INPUT, LINE INPUT, INPUT$ et INKEY$ sont lues à partir du fichier d'entrée spécifié au lieu du clavier.
Toutes les instructions PRINT écrivent dans le fichier de sortie spécifié au lieu de l'écran.
Les messages d'erreur vont à la sortie standard et à l'écran.
Entrée de fichier depuis KYBD : est toujours lu depuis le clavier.
Sortie de fichier vers SCRN: toujours sortie à l'écran.
Le GW-BASIC continue d'intercepter les clefs lorsque l'instruction ON KEY(n) est utilisée.
Si vous tapez CTRL+BREAK lorsque la sortie est redirigée, GW-BASIC ferme tous les fichiers ouverts, émet le message «Break in line nnnn» sur la sortie standard, quitte GW-BASIC et revient à MS-DOS.
Lorsque l'entrée est redirigée, GW-BASIC continue de lire à partir de cette source jusqu'à ce qu'un CTRL+Z soit détecté. Cette condition peut être testée avec la fonction de fin de fichier (EOF). Si le fichier n'est pas terminé par un CTRL+Z, ou si une instruction d'entrée de fichier GW-BASIC essaie de lire au-delà de la fin du fichier, tous les fichiers ouverts sont fermés et GW-BASIC revient à MS-DOS.
Voici quelques exemples de redirection :
GWBASIC MYPROG >DATA.OUT |
Les données lues par les instructions INPUT et LINE INPUT continuent de provenir du clavier. Les données sorties par l'instruction PRINT vont dans le fichier «DATA.OUT».
A>gwbasic MYPROG <DATA.IN |
Les données lues par les instructions INPUT et LINE INPUT proviennent de «DATA.IN». La sortie de données par PRINT continue d'aller à l'écran.
A>gwbasic MYPROG <MYINPUT.DAT >MYOUTPUT.DAT |
Les données lues par les instructions INPUT et LINE INPUT proviennent désormais du fichier MYINPUT.DAT, et les données générées par les instructions PRINT vont dans «MYOUTPUT.DAT».
A>gwbasic MYPROG <\SALES\JOHN\TRANS.DAT >>\SALES\SALES.DAT |
Les données lues par les instructions INPUT et LINE INPUT proviennent désormais du fichier \SALES\JOHN\TRANS.DAT. Les données générées par l'instruction PRINT sont ajoutées au fichier \SALES\SALES.DAT.
Instructions, fonctions, commandes et variables de GW-BASIC
Un programme GW-BASIC est composé de plusieurs éléments : des mots-clefs, des commandes, des instructions, des fonctions et des variables.
Mots clefs
Les mots clefs GW-BASIC, tels que PRINT, GOTO et RETURN ont une signification particulière pour l'interpréteur GW-BASIC. Le GW-BASIC interprète les mots clefs comme faisant partie d'instructions ou de commandes.
Les mots clefs sont également appelés mots réservés. Ils ne peuvent pas être utilisés comme noms de variables, sinon le système les interprétera comme des commandes. Cependant, des mots-clefs peuvent être incorporés dans des noms de variables.
Les mots clefs sont entreposés dans le système sous forme de jetons (caractères de 1 ou 2 octets) pour une utilisation plus efficace de l'espace mémoire.
Commandes
Les commandes et les instructions sont toutes deux des instructions exécutables. La différence entre les commandes et les instructions est que les commandes sont généralement exécutées en mode direct ou au niveau de commande de l'interpréteur. Ils effectuent généralement un certain type de maintenance de programme, comme l'édition, le chargement ou l'enregistrement de programmes. Lorsque GW-BASIC est appelé et que le prompt GW-BASIC, Ok, apparaît, le système assume le niveau de commande.
Instructions
Une instruction, telle que ON ERROR...GOTO, est un groupe de mots-clefs GW-BASIC généralement utilisés dans les lignes de programme GW-BASIC dans le cadre d'un programme. Lorsque le programme est exécuté, les instructions sont exécutées au moment et au fur et à mesure qu'elles apparaissent.
Les fonctions
L'interpréteur GW-BASIC exécute à la fois des fonctions numériques et de chaîne de caractères.
Fonctions numériques
L'interpréteur GW-BASIC peut effectuer certains calculs mathématiques (arithmétiques ou algébriques). Par exemple, il calcule le sinus (SIN), le cosinus (COS) ou la tangente (TAN) de l'angle x.
Sauf indication contraire, seuls les résultats entiers et simple précision sont renvoyés par les fonctions numériques.
Fonctions de chaîne de caractères
Les fonctions de chaîne de caractères opèrent sur des chaînes de caractères. Par exemple, TIME$ et DATE$ renvoient l'heure et la date connues du système. Si l'heure et la date actuelles sont saisies lors du démarrage du système, l'heure et la date correctes sont données (l'horloge interne de l'ordinateur en assure le suivi).
Fonctions définies par l'utilisateur
Les fonctions peuvent être définies par l'utilisateur au moyen de l'instruction DEF FN. Ces fonctions peuvent être de type chaîne de caractères ou numérique.
Variables
Certains groupes de caractères alphanumériques se voient attribuer des valeurs et sont appelés variables. Lorsque des variables sont intégrées au programme GW-BASIC, elles fournissent des informations au fur et à mesure de leur exécution.
Par exemple, ERR définit la dernière erreur s'étant produite dans le programme ; ERL donne l'emplacement de cette erreur. Les variables peuvent également être définies et/ou redéfinies par l'utilisateur ou par le contenu du programme.
Toutes les commandes, instructions, fonctions et variables GW-BASIC sont décrites individuellement dans la référence de l'utilisateur GW-BASIC.
Format de ligne
Chacun des éléments de GW-BASIC peut constituer des sections d'un programme appelées instructions. Ces instructions sont très similaires aux phrases en anglais. Les instructions sont ensuite assemblées de manière logique pour créer des programmes. La référence de l'utilisateur GW-BASIC décrit toutes les instructions disponibles pour une utilisation dans GW-BASIC.
Dans un programme GW-BASIC, les lignes ont le format suivant :
nnnnn statement[statements] |
nnnnn est un numéro de ligne.
statement est une instruction GW-BASIC.
Une ligne de programme GW-BASIC commence toujours par un numéro de ligne et doit contenir au moins un caractère, mais pas plus de 255 caractères. Les numéros de ligne indiquent l'ordre dans lequel les lignes de programme sont entreposées en mémoire et sont également utilisés comme références lors des branchements et de l'édition. La ligne de programme se termine lorsque vous appuyez sur la touche RETURN.
Selon la logique de votre programme, il peut y avoir plusieurs instructions sur une ligne. Si c'est le cas, chacun doit être séparé par deux-points (:). Chacune des lignes d'un programme doit être précédée d'un numéro de ligne. Ce nombre peut être n'importe quel nombre entier compris entre 0 et 65529. Il est d'usage d'utiliser des numéros de ligne tels que 10, 20, 30 et 40, afin de laisser de la place pour d'éventuelles lignes supplémentaires que vous souhaiteriez inclure ultérieurement. Étant donné que l'ordinateur exécutera les instructions dans l'ordre numérique, les lignes supplémentaires n'ont pas besoin d'apparaître dans un ordre consécutif à l'écran : par exemple, si vous avez entré la ligne 35 après la ligne 60, l'ordinateur exécutera toujours la ligne 35 après la ligne 30 et avant la ligne 40 Cette technique peut vous éviter de ressaisir un programme entier afin d'inclure une ligne que vous avez oubliée.
La largeur de votre écran est de 80 caractères. Si votre instruction dépasse cette largeur, le curseur passera automatiquement à la ligne d'écran suivante. Ce n'est que lorsque vous appuyez sur la touche RETURN que l'ordinateur accuse réception de la fin de la ligne. Résistez à la tentation d'appuyer sur RETURN lorsque vous vous approchez du bord de l'écran (ou au-delà). L'ordinateur bouclera automatiquement la ligne pour vous. Vous pouvez également appuyer sur CTRL+RETURn, ce qui amène le curseur à se déplacer au début de la ligne d'écran suivante sans entrer réellement dans la ligne. Lorsque vous appuyez sur RETURN, la ligne logique entière est transmise à GW-BASIC pour être entreposée dans le programme.
Dans GW-BASIC, toute ligne de texte commençant par un caractère numérique est considérée comme une ligne de programme et est traitée de l'une des trois manières suivantes après avoir appuyé sur la touche RETURN :
- Une nouvelle ligne est ajoutée au programme. Cela se produit si le numéro de ligne est légal (dans l'intervalle de 0 à 65529) et si au moins un caractère alphabétique ou spécial suit le numéro de ligne dans la ligne.
- Une ligne existante est modifiée. Cela se produit si le numéro de ligne correspond au numéro de ligne d'une ligne existante dans le programme. La ligne existante est
remplacée par le texte de la nouvelle ligne saisie. Ce processus s'appelle l'édition.
La réutilisation d'un numéro de ligne existant entraîne la perte de toutes les informations contenues dans la ligne d'origine. Soyez prudent lorsque vous saisissez des nombres en mode indirect. Vous pouvez effacer certaines lignes de programme par accident.
- Une ligne existante est supprimée. Cela se produit si le numéro de ligne correspond au numéro de ligne d'une ligne existante et que la ligne entrée ne contient qu'un numéro de ligne. En cas de tentative de suppression d'une ligne inexistante, un message d'erreur «Undefined line number» s'affiche.
Retour au MS-DOS
Avant de revenir à MS-DOS, vous devez enregistrer le travail que vous avez entré sous GW-BASIC, sinon le travail sera perdu.
Pour revenir à MS-DOS, tapez ce qui suit après le promp Ok et appuyez sur RETURN :
system |
Le système revient à MS-DOS et le prompt A> s'affiche à l'écran.