|
|
|
Nous allonc voir dans cet article les fonctions du langage Microsoft Quick Basic. Il existe deux versions du Basic de Microsoft: Quick Basic et QBasic. QBasic est livré avec le DOS à partir de la version 5.0. Il propose les mêmes fonctions que QuickBasic, exceptée la compilation, c'est à dire qu'il n'est pas possible avec QBasic de créer des bibliothèques ou des fichiers .EXE. QuickBasic est un bon langage pour commencer dans le monde de la programmation. C'est le langage le plus simple. Il est très peu utilisé par les professionnels, car ses fonctions systèmes sont limitées, et sa vitesse d'éxecution est très lente. Pour démarrer QuickBasic, allez dans le répertoire correspondant, et tapez "QB". Pour QBasic, allez dans le repertoire du DOS (>=5.0), et tapez QBASIC. Un écran bleu avec menus devrait apparaître. Les variables:
On peut donner n'importe quel nom à une variable pourvu qu'il ne contienne pas d'espaces, de "-", de "_" et d'accents. Vous voulez par exemple désigner votre année de naissance. Vous pourrez donner comme nom à cette variable aussi bien DataDeNaissance, que datanaissance, que dtn, que Date.Naissance, que a. Pour affecter votre variable à un valeur, il suffit de mettre le signe "=" suivit de la valeur. Par exemple DateDeNaissance=1981. Les variables de chaînes s'écrivent suivies du signe "$". Elles sont affectées de la manière suivante: Nom$="Gol / Discase". Le Basic à besoin de savoir où commence et se termine la chaîne de caractère, pour cela, vous devez délimiter la chaîne avec des guillemets. Pour différiencer les chaînes des nombres, le Basic utilise cette notation du "$". L'instruction PRINT:
Après avoir tapé ce programme, éxecutez-le à l'aide du menu Exécution-Exécuter. (Vous pouvez aussi utiliser le raccourci clavier Shift-F5). Vous devriez voir apparaitre à l'écran les lignes suivantes:
Le PRINT 4.52 à afficher la valeur directement. PRINT A a été cherché la valeur de A et l'a affichée (3). PRINT Nom$ a été cherché la valeur de Nom$ et l'a affichée ("discase"). Chaînage de l'instruction PRINT:
Exemple:
Vous devriez voir apparaître sur l'écran la ligne suivante:
La fonction INPUT:
La syntaxe de cette commande est très simple: INPUT suivit du ou des noms de variables séparés par un ";". Par exemple: INPUT A$ attendra l'entrée au clavier d'une chaîne par l'utilisateur jusqu'à ce que celui-ci tape la touche ENTREE. La variables A$ contiendra désormais la chaîne rentrée au clavier. La commande INPUT A attendra non plus une chaîne de caractères, mais un nombre. Si l'utilisateur tape des lettres, le programme lui demandera de recommencer et de retaper un nombre. Affichage d'une chaîne avec la fonction INPUT:
Ce petit exemple montre comment récupérer un nom entré par l'utilisateur et de s'en reservir lors d'un PRINT. Notez la chaîne à coté de INPUT. Le programme affichera "Entrez votre nom" et attendra que l'utilisateur est appuyé sur ENTREE. Après l'appuie sur cette touche, le programme affichera "Bonjour discase, comment ça va ?" (si vous avez rentré "discase" comme nom, bien sûr :-)) Les opérations arithmétiques:
Les opérateurs:
-: soustraction *: multiplication /: division \: division entière (arrondie) MOD: modulo (reste d'une division) ( ): parenthèses ^: puissance Par exemple "A=(10 / 2)+3" affectera A à 8. "B=(A / 2) +3" affectera B à 7 Attention! Seul le membre de droit peut-être un composé de fonctions. Il est impossible donc de faire "A/2+56=B-30" Les fonctions / procédures:
Exemple d'un programme calculant le sinus de Pi/2:
Note: les fonctions sin() et cos() de QuickBasic attendent des angles en radians, pour calculer des sinus d'angles en degrés, il faudra procéder à une conversion Les procédures éxecutent un programme interne qui manipule la mémoire, l'écran, le clavier ... mais ne renvoie aucune valeur. Exemple de la procédure LOCATE:
Ce petit programme va afficher à l'écran la chaîne "Bonjour tout le monde" à la position d'écran y=12 et x=5. Nous n'allons pas détailler ici les différentes fonctions / procédures de QuickBasic, le fichier d'aide étant très bien fait, mais simplement citer le rôle d'un bon nombre de fonctions / procédures. Différentes fonctions:
Différentes procédures:
Structures conditionnelles:
La commande principale est IF. On parle de bloc IF - ENDIF, car il faut délimiter d'abord une partie du programme à n'executer que dans un cas. Cette partie du programme (nommée bloc) sera entouré par les instructions IF et ENDIF. Pour que le compilateur sache s'il doit éxecuter ou non un bloc d'instructions, il doit d'abord procéder à un test. Il doit savoir si une variable est égale à une autre par exemple. Aussi bien les chaînes de caractères que les nombres peuvent être comparés.
Cet exemple est complètement débile, mais illustre bien comment marche les structures en IF. On pourrait lire le programme comme ça:
Les mots IF, THEN et ENDIF sont obligatoires pour former un bloc IF - ENDIF. Le mot ELSE est facultatif. Il est très facile d'utiliser des tests de supériorité, infériorité, etc ... IF NbPoule>15 THEN PRINT "Vous avez une grande ferme ..." Il existe différents tests:
Chaînage de conditions:
Note: remarquez les espaces utilisés à chaque bloc d'instructions. Ils servent à indiquer qu'on se trouve dans une structure spéciale. Cette notation est facultative, mais permet une meilleure lisibilité de vos programmes. Les boucles inconditionnelles:
Son utilisation est on ne peut plus simple: le bloc est précédé par "DO" et terminé par "LOOP"
A l'éxécution de ce programme, vous allez voir qu'il est affiché la chaîne "Coucou" sur chaque ligne sans arrêt. Le programme ne peut pas s'arrêter d'une façon normale, il faudra le forcer à s'arrêter. Pour cela, appuyez sur CTRL - Arrêt Défil. Cette option de terminaison sert dans tous les cas où votre programme fonctionne mal. FOR - NEXT:
Ce programme affichera 15 fois la chaîne "Coucou" à l'écran. Les boucles conditionnelles:
DO - LOOP:
Pour le DO, il faut utiliser l'instruction WHILE suivie d'un test (comme avec les IF). Le bloc d'instruction va être répété TANT QUE la condition est respéctée. Pour le LOOP, il faut utiliser l'instruction UNTIL suivie aussi d'un test. Les bloc d'instructions sera répété JUSQU'A CE QUE la condition soie respéctée.
WHILE - WEND:
Les tableaux:
Note: La commande ELSEIF permet d'enchaîner les IF sans pour autant fermer le bloc IF .. ENDIF Cette méthode est très longue si vous avez 24 heures à définir. Mais pour résoudre ce problème, il existe des variables spéciales appelées tableaux. C'est en fait une variable qui contient plusieurs valeurs. On donne un numéro pour accéder à une valeur. La déclaration d'une telle variable se fait de la manière suivante: DIM nom_variable(taille) AS type où nom_variable est le nom du tableau, taille, sa taille et type le type de donnée qui peut être STRING pour une chaîne de caractères, INTEGER pour un nombre entier, SINGLE pour un nombre à virgule flottante simple précision, DOUBLE pour un nombre à virgule flottante double précision, etc ... (voir types de données dans l'aide de QB). Pour notre petit programme, nous allons déclarer un tableau de chaînes de caractères appelé Message de taille 24 et de type STRING. Cette déclaration doit se faire impérativement dans les premières lignes du programme. On accède ensuite aux différentes chaînes contenues dans le tableau par Message(n). On devra avant utilisation les initialiser.
Cette méthode ne raccourcit pas le programme, mais permet d'être plus clair. Dans de petits programmes comme celui-ci, on ne voit pas bien la différence, mais utilisez au maximum les tableaux, cela permet une grande lisibilité. Note: remarquez l'utilisation de la variable Message sans le signe '$'. Ceci est normale car ce tableau a été déclarée de type chaîne; il est possible de déclarer toute variable avant utilisation, cela permet d'éviter l'utilisation du signe '$' dans les chaînes et d'éviter la confusion. Le mois prochain, l'initiation au QB continue avec la gestion des fichiers. Si vous n'avez pas tout compris, n'hésitez pas à m'écrire. |
Page Web: http://www.home.ch/~spaw1372/ |