QBasic – Les types de variables
- QBasic – Introduction au QBasic
- QBasic – Ecrire sur l’écran
- QBasic – Mathématiques élémentaires
- QBasic – La ponctuation (syntaxe)
- QBasic – Les variables
- QBasic – Les commentaires
- QBasic – Les constantes
- QBasic – Entrée de données
- QBasic – Les boucles inconditionnelles
- QBasic – Les boucles conditionnelles
- QBasic – Structure conditionnelle
- QBasic – Les cas
- QBasic – Maths, logique et divers
- QBasic – Le texte
- QBasic – Le son
- QBasic – Dessiner
- QBasic – Sous-programmes, fonctions et procedures
- QBasic – Les types de variables
- QBasic – Les tableaux
- QBasic – Les types personalisés
- QBasic – L’organisation des données
- QBasic – QBasic et le système d’exploitation
- QBasic – L’accès aux fichiers
- QBasic – Le traitement des erreurs
- QBasic – La manette de jeu
- QBasic – Encore plus loin dans le graphisme
- QBasic – La mémoire
- QBasic – Le langage machine et la souris
- QBasic – L’heure, la date, le temps
- QBasic – Le clavier
- À quoi ça sert de spécifier un type ?
- Et les chaines de caractères ?
- 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 :
| 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, unevaleur 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 maxiINPUT « 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
Categories: QBasic