Quick BASIC

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

Pour les articles homonymes, voir QB.

Quick Basic, (QB) acronyme de Quick Beginner's All-purpose Symbolic Instruction Code, est un environnement de développement intégré de Microsoft permettant l'édition, le débogage, l'exécution et la compilation du langage BASIC sous MS-DOS.

Le compilateur permet de générer des exécutables .exe MS-DOS 16 bits à l'aide d'un compilateur optimisé pour le 8088 (sauf dans les dernières versions où des optimisations spéciales 286 peuvent être choisies) et d'un linker.

Il existe une version intitulée Professional Development System (PDS) Quick Basic Extended (QBX), dont les numéros de version sont supérieurs ou égaux à 7.x.

Une version allégée, basée sur la version 4.5 de la version complète et nommée QBasic, était fournie dans sa version 1.0 avec le système MS-DOS et disponible sur le CD-Rom de Windows 95 et de Windows 98. Avec cette version, le code source ne peut être qu'interprété, et non compilé en fichier .exe. Ainsi, pour exécuter un tel programme, l'environnement QBasic est nécessaire.

Ce programme ne fonctionne pas sur les systèmes Windows dans leur version 64 bits, car c'est une application DOS 16 bits.

Sommaire

[modifier] Hello World

CLS
 PRINT "Hello World !!"

[modifier] Raccourcis Clavier

  • Ctrl+Break pour stopper l'exécution du programme.
  • F5 pour continuer l'exécution du programme à partir de l'endroit où il s'est arrêté.
  • Shift+F5 pour redémarrer le programme depuis le début.
  • F1 pour accéder à la page d'aide de l'instruction sous le curseur.
  • Shift+F1 pour accéder au sommaire de l'aide.
  • F2 pour naviguer entre le programme principal et les procédures/fonctions.
  • F8 pour exécuter le programme instruction par instruction
  • F9 pour placer un point d'arrêt (l'exécution s'interrompt à cet endroit)
  •  ? en début de ligne est automatiquement remplacé par l'instruction PRINT

[modifier] Quelques fonctions

  • Print sert à afficher quelque chose sur l'écran
  • Input sert à afficher une phrase, avec une attente de réponse
  • Cls efface l'écran
  • Rnd sert à générer un nombre aléatoire dans l'intervalle [0;1[
  • If marque la condition
  • If est associé à Then qui donne l'instruction qui doit se produire si la condition est vraie
  • Si plusieurs instructions suivent then, on utilise End if après le bloc d'expressions
IF [condition] THEN 
  [expression1]
 ELSE
  [expression2]
 END IF
  • La structure while...wend
i% = 1             'donne 1 pour valeur à i
 WHILE i% <> 50     'répéter tant que i est différent de 50
 PRINT"coucou"      'met coucou sur l'écran
 i% = i% + 1        'augmente de 1 la valeur de i
 WEND               'termine la boucle
  • La structure For...next
FOR i% = 1 TO 4 'donne à i toutes les valeurs entières de 1 à 4
 IF i% = 1 THEN PRINT "coucou"   'affiche coucou
 IF i% = 2 THEN PRINT "hello"
 IF i% = 3 THEN PRINT "guten tag"
 IF i% = 4 THEN PRINT "buenos dias"
 NEXT i% 'termine la boucle
  • La structure Do...loop
DO             'début de la boucle
 [expression]
 LOOP           'fin de la boucle

[expression] correspond au script que vous voulez répéter avec while :

a% = 1                'donne la valeur 1 à la variable "a"
 DO WHILE a% < 10      'tant que "a" est plus petit que dix...
 PRINT"All right !"    'affiche "all right" à l'écran
 a% = a% + 1   'ajoute la valeur 1 à "a"
 LOOP

avec until :

a% = 1
 DO UNTIL a% = 10               'jusqu'à ce que "a" = 10...
 PRINT"To be or not to be ?"    'affiche "To be or not to be ?"
 a% = a% + 1                    'ajoute la valeur 1 à "a"
 LOOP

Les opérateurs logiques

  • And (et) sert à combiner deux conditions
IF [condition1] AND [condition2] THEN
  • Or (Ou)
IF [condition1] OR [condition2] THEN

si la première ou la deuxième condition est juste alors

...

PRINT "bouh !"   '...on affiche "bouh !"

[modifier] Exemple de programme sous QBasic

Voici un programme codé en QBasic ainsi que des commentaires. Les commentaires seront en italique et le code

sera en gras.

  • Sorte de loto :
INPUT"Entrez votre nom : ",a$  'on demande le nom de la personne pour le stocker dans la variable "a$",
'le symbole "$" signifie que la réponse pourra comporter des chiffres et/ou des lettres, mais qu'aucun calcul ne pourra être effectué
'sur cette variable (on appelle ce type de variable une "chaîne de caractères"). Si l'on veut faire des calculs sur cette variable,
'il faut remplacer le "$" par "%" (type de variable "integer" qui ne comportera donc que des chiffres).
 INPUT"Choisissez le montant de votre fortune de départ : ",b% 'pareil que ci-dessus, mis à part
'qu'on ne peut cette fois-ci répondre que par un chiffre ("%")
 n% = INT (RND*5) + 1  'on tire un nombre aléatoire compris entre 1 et 5 et on affecte ce nombre à la variable "n".
'Le "INT" sert ici à faire en sorte que le nombre tiré soit un entier (cela évite les nombres du type "2.54697")
 INPUT"Sur quel nombre souhaitez vous miser (de 1 à 5) ?",c%  'pas besoin de commentaire
 INPUT"Combien voulez-vous miser ?",d%   'de même
 IF c% = n% THEN 'si le nombre est le bon...
 CLS   '...on efface ce qu'il y a marqué sur la fenêtre...
 b%=b%+(2*d%)   '...on ajoute à la fortune le double de la somme misée...
 PRINT"Bravo, votre fortune est désormais de : "b%   '...on indique le montant actuel de la fortune.
 ELSE   'si le nombre n'est pas le même...
 CLS   'cf ci-dessus
 b%=b%-d%   '...on soustrait à la fortune la somme misée
 PRINT"Désolé, vous avez perdu. Il vous reste : "  b%   'cf ci-dessus
 END IF  'Ici, on indiqué que la structure if se termine ("IF, THEN, ELSE")
 PRINT"Au revoir "  a$  'Affiche "au revoir + le nom entré au début"

Ce script n'est évidemment qu'un aperçu du langage, on pourrait lui rajouter d'autres fonctions (comme l'impossibilité de miser plus que l'on en a, ainsi que de pouvoir jouer, non pas une seule fois, mais jouer jusqu'a ce qu'on ait plus d'argent...etc).

[modifier] Voir aussi

FreeBASIC, un autre compilateur en grande partie compatible avec le code QuickBasic.

[modifier] Quelques Liens