Accueil > QBasic > QBasic – Les types de variables

QBasic – Les types de variables

This entry is part 18 of 30 in the series QBasic - Tutoriel
  1. À quoi ça sert de spécifier un type ?
  2. Et les chaines de caractères ?
  3. Variables globales et locales (le retour)

Jusqu’à maintenant, nous n’avions pas compliqué cette histoire de variables. Mais ça va changer
:-) .

Déjà, sachez qu’il existe 4 types de variables numériques :













































TYPES DE VARIABLES NUMERIQUES
Type Déscription Suffixe Fourchette Exemples Mémoire requise
INTEGER Nombres entiers signés (16 bits) % -32 768 à 32 767 -12; 59; 32000 2 octets
LONG Nombres entiers signés (32 bits) & -2 147 483 648 à 2 147 483 647 -2 100 000 001; 421; 666 4 octets
SINGLE Nombre décimal (32 bits) ! ± -3×1038 à ± 3×1038 -23.4 55.444 4 octets
DOUBLE Nombre décimal (64 bits) # ± -10-307 à ± 10308 -589 755; 3.14159265458; 4 000 000 000 000 8 octets



En QBasic, il n’en existe pas plus, contrairement à certains langages comme le Pascal, où ils se
multiplient.

Pour spécifier le type numérique qu’une variable numérique va recevoir, il existe deux
possibilités :

  • La déclaration IMPLICITE des variables : C’est la méthode que nous avons utilisé jusqu’à maintenant. C’est à dire que pour utiliser
    une variable, il suffit d’écrire son nom lorque le moment de l’utiliser est arrivé.

    Pour spécifier son type, on va rajouter à la fin de son nom le suffixe correspondant (voir
    tableau ci-dessus), à la manière du $ pour une chaine de caractères. Exemples :

    VariableInteger% = 5 ‘ % = INTEGER
    VariableLong& = -96 ‘ & = LONG
    VariableSingle! = -789.564 ‘ ! = SINGLE
    VariableDouble# = 3.14159265458 ‘ # = DOUBLE

  • La déclaration EXPLICITE des variables : C’est la méthode que je recommande. Pourquoi? He bien
    parce que dans (presque) tout les autres langages, la déclaration explicite est OBLIGATOIRE.
    Donc, autant prendre de bonnes habitudes et s’y mettre tout de suite.

    Pour déclarer une variable suivant cette méthode, il faut utiliser l’instruction DIM,
    suivi du nom de la variable, puis du mot-clef AS, et enfin, du type de la variable.
    Exemples :

    DIM VariableInteger AS INTEGER ‘ Variable du type INTEGER
    DIM VariableLong AS LONG ‘ Variable du type LONG
    DIM VariableSingle AS SINGLE ‘ Variable du type SINGLE
    DIM VariableDouble AS DOUBLE ‘ Variable du type DOUBLE

  • La déclaration d’une variable doit se faire AVANT sa première utilisation, sous
    peine de la voir se réinitialiser. Essayez autant que possible de rassembler la
    déclaration de toutes vos variables en tout début de votre programme ou de votre procédure.

    Vous remarquez que l’emploi du suffixe est devenu inutile. Vous pouvez le laisser, mais
    on préfére le remplacer par les 3 premières lettres du type, ce qui est plus parlant :

    DIM intVariableInteger AS INTEGER ‘ Variable du type INTEGER
    DIM lngVariableLong AS LONG ‘ Variable du type LONG
    DIM sngVariableSingle AS SINGLE ‘ Variable du type SINGLE
    DIM dblVariableDouble AS DOUBLE ‘ Variable du type DOUBLE


À quoi ça sert de spécifier un type ?


Déjà, ça sert à gérer au mieux la memoire disponible. Aujourd’hui, ce n’est plus tellement un
problème, mais il y a quelques années pas si lointaines, s’en était un.

Ensuite, ça peut être très utile. Par exemple, si on assigne à une variable de type INTEGER, une
valeur décimale, la valeur va être arrondi.

De plus, cela facilite la compréhension du programme : si toutes les variables ont été déclarées
en début de programme et en début de chaque procédure éventuelle, on est sur de ne pas avoir
à utiliser des variables qui s’avererons inutiles.

Enfin, lorque nous allons créer nous même des types (et oui!), ce sera obligatoire.


Et les chaines de caractères ?


Les chaines de caractères ne possédent qu’un seul et unique type : le type STRING.
Jusqu’à maintenant nous les avons déclarées implicitement avec le suffixe $.

Pour la déclaration explicite, on fait pareil qu’avec les nombres :

DIM strNom AS STRING ‘ strNom est une variable chaine de caractères

Ce qui est bien avec cette déclaration explicite des chaines de caractères, c’est qu’on
peut limiter le nombre de caractères que pourra contenir la variable. Par exemple, si on veut
limiter à 8 caractères cette variable ’strNom’ (par exemple, pour un nom de fichier), on
écrira :

DIM strNom AS STRING * 8 ‘ strNom est une variable de 8 caractères maxi

INPUT « Donnez un nom (seul les 8 premiers caractères sont prit en compte) « ; strNom
PRINT strNom


À ce moment là, la variable prendra autant d’octets qu’il y a de caractères (ici 8 octets).


Variables globales et locales (le retour)


Ce que je ne vous ai pas dit au chapitre précédent, c’est qu’on peut aussi rendre globale une
variable simplement avec DIM.

On emploie pour cela le mot-clef SHARED à la suite de DIM :

DIM SHARED MaVariable ‘ Cette variable est globale
DIM AutreVariable ‘ Celle-ci ne l’est pas

Series Navigation«QBasic – Sous-programmes, fonctions et proceduresQBasic – Les tableaux»
Categories: QBasic Tags:
  1. Pas encore de commentaire
  1. Pas encore de trackbacks