QBasic
Un article de Wikivisual, l'encyclopédie libre.
Quick Basic, acronyme de Quick Beginner's All-purpose Symbolic Instruction Code, est une variante du langage de programmation BASIC (une version structurée du BasicA).
L'environnement de développement intégré Quick Basic est un logiciel propriétaire de Microsoft, intégrant entre autre un éditeur et un compilateur BASIC.
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.
Ce programme ne fonctionne pas avec windows XP dans sa version 64 bits, car c'est une application DOS 16 bits.
Une version allégée, bridé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 compilé que dans la mémoire, il est donc impossible de générer un fichier exécutable.
Quick Basic et QBasic étant tous les deux des compilateurs, ils ont l'avantage d'être plus rapide que BasicA et GW-BASIC, auxquels ils ont succédé.
Sommaire |
[modifier] Hello World
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.
[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 compris entre 0 et 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
*ex : i% = 1 donne 1 pour valeur à i
While i% <> 50 répeter 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
*ex : 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
*ex : do début de la boucle
[expression]
loop fin de la boucle
[expression] corespond au script que vous voulez repeter
avec while :
*ex : 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 fin de la boucle
avec until :
*ex : 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 fin de la boucle
Les opérateurs logiques
- And (et) sert à combiner deux conditions
*ex : If [condition1] and [condition2] Then
- Or (Ou)
*ex : 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
- QuickBASIC
- FreeBASIC un autre compilateur en grande partie compatible avec QBasic.
[modifier] Quelques Liens
- (fr) http://quickbasic.free.fr
- (fr) http://qbworld.free.fr
- (fr) http://qbasic.on.free.fr
- (fr) http://www.cybwarrior.com/articles/?id=6
- (en) http://www.qbasicnews.com/
- (fr) http://www.ifrance.com/mediqbbg:QBasic
bs:QBasic cs:QBasic de:QBasic en:QBasic es:QBASIC it:QBASIC nl:QBasic pl:QBasic ru:QBASIC sv:QBasic tl:QBasic tr:QUICK BASIC zh:QBASIC

