DARK BASIC
Types de Données, Variables et Tableaux
TYPES DE DONNEES
Vous savez maintenant que concevoir un logiciel consiste à rédiger une suite de lignes de code. Chaque ligne se décompose en une commande suivie de données. On peut dire que la commande est l´opération demandée, c´est-à-dire la tâche que vous voulez effectuer. Les données représentent les valeurs que devra utiliser la commande pour mener à bien l´opération. Ces données sont également appelées paramètre(s).
Le programmeur dispose ici de trois types de données. Les nombres entiers, les nombres réels et les chaînes de caractère. Chaque type de données permet de gérer des données radicalement différentes.
Nombres Entiers
Un nombre entier gère les données numériques sans partie décimale. Pour indiquer une valeur négative, placez le signe moins ( -) devant la valeur. Un erreur de syntaxe sera générée si vous essayez d´utiliser le point décimal pour un nombre entier. Exemples de nombres entiers:
42
10000
-233000
-100
Nombres Réels
Un nombre entier gère les données numériques avec ou sans partie décimale. Pour indiquer une valeur négative, placez le signe moins ( -) devant la valeur. Exemples de nombres réels:
20.0005
99.9
-5000.12
-9999.9991
Chaînes de caractères
Les chaînes de caractère gèrent des données non-numériques servant à mémoriser des caractères ou des mots. Les chaînes de caractère sont des mots entourés de guillemets. Bien que les chaînes de caractères peuvent contenir des nombres et tous les symboles numériques, tout leur contenu sera toujours considéré comme du texte. Exemples de chaînes de caractères:
"A"
"Salut à tous"
"Téléphone"
"J´ai 99 ans"
"1.2.3.4.5.6.7.8.9"
Les chaînes de caractère peuvent contenir jusqu´à 255 caractères. Il est également possible de définir des chaînes de caractères vides, simplement représentées par une paire de guillemets successifs.
VARIABLES
Le meilleur moyen de comprendre à quoi servent les variables est encore de prendre un exemple. Soit le calcul:
A = 3 + 4
Une variable sert à mémoriser un résultat. C´est aussi simple que çà. Il existe des variables pour tous les types de données, et vous pouvez en déclarer autant que vous souhaitez. Le programme suivant vous montre comment afficher le contenu d´une variable:
A = 3 + 4
PRINT A
L´exemple suivant vous montre comme il est facile de combiner les variables et les valeurs:
A = 2
B = 8
C = A + B
PRINT C
Dans l´exemple précédent, la variable A mémorise le nombre 3, B mémorise 4 et C contient le résultat du calcul entre A et B. Le calcul s´effectue avec les valeurs des variables à l´instant du calcul, ce qui donne C = 2 + 8 dans notre exemple. Le résultat, qui fait 10 dans ce cas, est mémorisé dans C et c´est précisément la valeur qui est affichée à l´écran.
Jusqu´à présent, nous avons utilisé des variables pour mémoriser et utiliser des nombres entiers. Mais les variables peuvent également gérer des nombres réels et chaînes de caractères. Pour gérer d´autres types de données, vous devez explicitement indiquer au programme le type de données à gérer. Pour désigner une variable contenant un nombre réel, ajoutez un dièse ( #) à la fin du nom de la variable. Pour désigner une variable contenant une chaîne de caractères, ajoutez un dollar ( $) à la fin du nom de la variable. Voyons comment utiliser de nouvelles variables pour manipuler des nombres réels:
madonnee#=42.5
PRINT mydonnee#
L´ajout du symbole dièse ( #) montre au programme qu´il s´agit d´un nombre réel. Il en va de même pour les chaînes de caractères:
monnom$="Lee"
PRINT monnom$
Tous les noms de variables peuvent contenir indifféremment des majuscules et des minuscules, c´est à dire que la variable NOM$ est la même que nom$ ou Nom$. Les chaînes de caractères supportent quelques opérations mathématiques de base. L´exemple suivant montre le résultat de l´ajout de 2 chaînes de caractères, opération également nommée concaténation:
a$="Salut"
b$="à tous"
c$=a$+b$
print c$
L´exécution de cet exemple affichera le texte "Salutà tous". Il serait peut-être préférable de le corriger un peu en ajoutant un espace entre "Salut" et "à"?
TABLEAUX
Les tableaux vont rapidement s´imposer comme un élément essentiels de vos programmes futurs. Ils peuvent contenir de grandes quantités de données sous le même nom. Vous accédez aux données par un numéro d´index plutôt que par des noms individuels.
Si vous deviez écrire un programme de statistiques hebdomadaires des tirages de loterie, il serait long et fastidieux de créer 52 variables individuelles, et le risque d´erreur serait important. Grâce aux tableaux, vous pouvez créer des variables capables de mémoriser un groupe de données. Vous pourriez alors commencer votre programme comme suit:
lotterie1$="43,76,12,34,12,11"
lotterie2$="76,12,34,12,11,44"
lotterie3$="12,34,12,02,05,07"
etc..
Deux heures plus tard, vous réaliseriez que vous auriez pu avantageusement écrire:
DIM lotterie$(52)
lotterie$(1)="43,76,12,34,12,11"
lotterie$(2)="76,12,34,12,11,44"
lotterie$(3)="12,34,12,02,05,07"
etc..
L´astuce est de déclarer un tableau de chaînes de caractères à l´aide de la commande DIM suivie du nom du tableau. Comme pour les variables, l´utilisation du symbole dollar indique au programme qu´il s´agit de chaînes de caractères. Le nombre de données à mémoriser dans le tableau est indiqué entre parenthèses. Le tableau se remplit à peu près comme une variable, à ceci près qu´il faut indiquer la position à laquelle les données seront mémorisées dans le tableau.
A cet instant, certains peuvent se demander l´intérêt de la seconde approche. Considérez maintenant le fait que l´on vous demanderait d´afficher la liste de tous les tirages de loterie. La première approche nécessiterait d´ajouter 52 lignes destinées à afficher les variables:
PRINT lotterie1$
PRINT lotterie2$
PRINT lotterie3$
etc..
Dans le cas du tableau, l´exemple ci-dessus deviendrait:
PRINT lotterie$(1)
PRINT lotterie$(2)
PRINT lotterie$(3)
etc..
Toutefois, vous savez maintenant que l´utilisation des tableaux vous permet d´accéder à des données par une valeur d´index plutôt que des noms différents. Cette manière de procéder a de nombreux avantages par rapport au fait de spécifier des noms, comme vous allez le voir. Commençons par reprendre notre exemple:
FOR T=1 TO 52
PRINT lotterie$(T)
NEXT T
Les 52 fastidieuses lignes PRINT ont été avantageusement remplacées par 3 lignes. Dans l´exemple ci-dessus, T est incrémenté de 1 à 52 dans une boucle qui affiche la donnée du tableau mémorisée à cette position.
Les tableaux peuvent aussi contenir des données sur plusieurs dimensions. La mémorisation des numéros de loterie dans des chaînes de caractères rend l´accès aux nombres ardu. Disons que nous voulons mémoriser les six nombres du tirage de notre loterie chaque semaine, il nous faudrait créer un tableau comme celui-ci:
DIM lotterie(52,6)
Sans le symbole dollar ( $), nous spécifions que nous travaillons avec des nombres entiers et non plus des chaînes de caractères. Vous avez également noté le deuxième nombre après la virgule. Il signifie que pour chaque position de 1 à 52, nous voulons un sous-ensemble de 1 à 6 dans lequel nous pouvons enregistrer nos données. On peut symboliser notre tableau comme étant une armoire à 52 tiroirs numérotés de 1 à 52. Dans chacun des 52 tiroirs nous avons délimité 6 compartiments indépendants, et nous rangerons une valeur dans chaque compartiment. En tout, ce tableau pourra contenir 312 ( 52 x 6) valeurs. Il est possible de définir des tableaux jusqu´à 5 dimensions, c´est à dire que l´on peut créer des tableaux du type montableau(1,2,3,4,5). Ayez toutefois à l´esprit que de tels tableaux consomment rapidement une quantité importante de mémoire et dégradent les performances globales des programmes.
La mémorisation des données dans notre nouveau tableau deviendrait :
lotterie(1,1)=43
lotterie(1,2)=76
lotterie(1,3)=12
lotterie(1,4)=34
lotterie(1,5)=12
lotterie(1,6)=11
lotterie(2,1)=43
lotterie(2,2)=76
lotterie(2,3)=12
lotterie(2,4)=34
lotterie(2,5)=12
lotterie(2,6)=11
Il serait désormais facile d´étendre les capacités de mémorisation de ce programme. A l´inverse des chaînes de caractères, vous pouvez très facilement manipuler les nombres comme, par exemple, pour compter combien de fois un nombre donné aurait été mémorisé.
Comme vous l´aviez compris, les tableaux doivent indiquer le type de données qu´ils contiennent. Vous pouvez utiliser des tableaux d´entiers, réels ou chaînes de caractères. Il est impossible de mémoriser des données de types différents dans un même tableau, mais vous pouvez déclarer de nouveaux tableaux pour les autres types de données.