Partie I : 3) Les variables

 
Dans ce chapitre nous allons découvrir à quoi servent les variables, piliers des langages de programmation qu'ils soit simple ou plus complexes. Allez accrochez-vous, c'est parti ! :p




Les variables ? Késako ?



Pour commencer, les ordinateurs possèdent plusieurs types de mémoire. Les deux plus connues sont le Disque Dur (Hard Disk Drive) et la mémoire vive (RAM, pour Random Access Memory).
Seul le disque dur conserve ses données de façon permanente alors que le RAM se vide automatiquement dès que vous éteignez votre ordinateur. Généralement les disques durs vous permettent de stocker d'énormes quantités de données (plusieurs centaines de GigaOctets) mais il est malheureusement trop lent pour pouvoir utiliser ces données de façon continue pour un traitement ou des calculs. Alors il y a la mémoire RAM, où les données sont chargées quand vous lancez un jeu ou un logiciel. C'est une mémoire beaucoup plus rapide que celle du disque dur mais sa capacité à stocker les informations est plus faible.

Autrement dit, il y a moins de place dans la RAM que dans le Disque Dur mais la RAM est plus rapide.

Bref, après cette introduction aux mémoires nous allons nous intéresser aux variables. Une variable est un petit bout de mémoire RAM qui nous est réservé et dans laquelle on va mettre soit un nombre soit du texte.

Les variables, en LB, sont extrêmement simples à comprendre pour un débutant.

Il en existe 2 types :
  • Les numériques, où l'on stocke des nombres, mais un seul par variable.
  • Les alphanumériques, où l'on stocke une chaine de caractères c'est-à-dire du texte ou des chiffres (pas un nombre, là est toute la différence).


Comment s'en servir



En JB, comme je l'ai déjà dit, c'est enfantin.

En JB on dit que l'on met une valeur dans une variable.
Pour cela on utilise simplement le symbole égale =.
En LB, les variables sont représentées par des noms, on peut voir ça comme un meuble, sur chaque tiroir, il y a le nom de la variable et dans le tiroir il y a la valeur.

Donc si on veux mettre 42 dans reponse, il suffit de faire :
Code VB :
 
reponse = 42
 


Si vous lancez ce code, normalement il ne devrait rien se passer.
Et oui, on a juste dit à l'ordinateur qu'il devait stocker 42 dans la variable reponse.

Ceci était le cas d'une variable numérique, mais pour les variables alphanumérique c'est la même chose :
Code VB :
 
variable$ = "Bonjour"
 


Le $ à la fin du nom de la variable est là pour préciser à l'ordinateur qu'il s'agit d'un variable alphanumérique (du texte).

Il faut mettre entre guillemet le texte que vous voulez mettre dans une variable alphanumérique.

Bien sûr, vous pouvez mettre le nom de variable que vous voulez tant que :
  • Il n'y a que des lettres minuscules, majuscules et des chiffres (abcdABCD012345...).
  • Votre nom de variable commence par une lettre (pas un chiffre).
  • Il n'y a pas d'espace dans le nom. Si vous voulez les mots pour plus de compréhension, vous devrez mettre la première lettre de chaque mot en majuscule.
  • Il n'y a pas d'accents (éàê etc).


Voici quelques bons et mauvais exemples:
nombre=150
vie=12
vieDuJoueur=2
nom$="Paul"

nom="Paul" L'ordinateur comprend que vous voulez stoker un nombre à cause du fait qu'il n'y a pas de $ à la fin du nom de la variable mais vous mettez du texte après. :heink
nom du joueur$=115 1° Il y a des espaces dans le nom de la variable. 2° Il y a un $ mais on essai d'enregistrer un nombre. :heink
12vaisseau$="le NHL Survivaure" On ne peut pas commencer une variable par un chiffre.
armée=150 Il y a un accent, ça fonctionne mais c'est très fortement déconseillé. En effet, dans les gros programmes il y a beaucoup de variables, si chaque fois que vous devez en utiliser une vous vous posez la question "Ai-je mis un accents ?", c'est assez ralentissant, puisque vous serez obliger d'aller vérifier.

Bien sur, vous pouvez à tous moment changer la valeur d'un variable, qu'elle soit numérique ou alphanumérique.
Mais attention, les variables en JB respectent la casse. C'est très important, car la variable reponse et la variable REPONSE sont donc complétements différentes !

On dit que l'on respecte la casse quand la position des lettres en majuscule est importante. Plus d'info

Les opérations sur les variables



Bien évidemment, nous pouvons faire des opérations sur des variables numériques.

Ce sont des nombres donc on peut faire les 5 opérations de base.
  • L'addition avec le symbole additionner "+".
  • La soustraction avec le symbole soustraire "-".
  • La multiplication avec l'astérisque (mais sans l'obélisque :-° ) "*".
  • La division avec le slash "/".

Euh :gre . Tu as dit qu'il y avait 5 opérations, et là je n'en vois que 4 ?!
En effet, car la dernière est moins connue. C'est le Modulo c'est-à-dire le reste de la division Euclidienne.
Vous ne voyez toujours pas ?
C'est le reste d'une division. :p

En JB il faut l'écrire comme ça : 130 mod 6
Le résultat de cette opération sera 4 car 130/6=21 reste 4

On le vois mieux en posant la division :



Un petit exemple de ces opérations en JB :

Code VB :
 
nombre1 = 50
nombre2 = 10
nombre3 = 3*2 'On a le droit de faire comme ça, ça revient au même que de faire nombre3 = 6.
nombre4 = nombre1 mod 3 'On demande le reste du nombre1 divisé par 3.
nombre5 = nombre1*2 'On multiplie le nombre1 par 2 (= 100).
nombre6 = nombre2*nombre1 'On multiplie le nombre2 par le nombre1 (= 500).
nombre7 = (nombre1*(nombre2+nombre4))-(nombre3/nombre5) 'On fait une opération assez longue et comme vous pouvez le constater, on peut utiliser des parenthèses (= 599.94).


Bon voila pour les variables numériques mais il y a aussi les variables alphanumériques.
Il n'existe qu'une seule opération pour les variables de texte, c'est la concaténation.
Désolé pour ce nom barbare mais ce n'est pas moi qui l'ai inventé. En fait, c'est l'opération qui consiste à assembler deux bouts de texte pour n'en former qu'un seul.

Il y a deux façons de l'utiliser :
  • Soit les deux parties à concaténer sont des textes (variable ou entre guillemets) alors on peut utiliser le "+" ou le ";" , ça donnera le même résultat.
    Voici comme les utiliser :
    Code VB :
     
    nom$ = "Paul"
    txt1$ = "Salut " + nom$ 'txt1$ vaudra "Salut Paul"
    txt2$ = nom$ ; "Salut " ' txt2$ vaudra "PaulSalut "
    
  • Soit les deux parties à concaténer sont de types différents alors on est obligé d'utiliser le point-virgule ";".
    Par exemple :
    Code VB :
     
    txt$ = "Salut numéro " ; 877852 'txt1$ vaudra "Salut numéro 877852"
    




Voici deux fonctions très pratiques concernant les variables (nous reparlerons du terme fonction dans quelques chapitres).

La fonction str$()

Cette fonction sert à transformer une variable numérique en une variable alphanumérique.
Elle s'utilise comme cela :

Code VB :
 
nombre = 5462 'On créé une variable numérique.
texte$ = "" 'On créé une variable alphanumérique.
texte$ = str$(nombre) 'Voici la ligne importante.


Vous repérez la ligne texte$ = str$(nombre).
C'est ici que l'on dit que la variable texte$ doit contenir la valeur de la variable nombre convertie en texte.
Le problème c'est que l'on ne peut pas dire directement texte$ = nombre
Essayez et JB vous surlignera la ligne et en bas vous pourrez voir écrit "Type Mismatch" .
Il faut mettre une variable de type numérique entre les parenthèses.

La fonction val()

Cette fonction sert à transformer une variable alphanumérique en une variable numérique.
Elle s'utilise comme cela :
Code VB :
 
nombre = 0 'on créé une variable numérique
texte$ = "5462" 'on créé une variable alphanumérique
nombre = val(texte$) ' Voici la ligne importante


Cette fonction ressemble à str$() mais dans l'autre sens.
Il faut mettre une variable alphanumérique entre les parenthèses.

Mais dans cette variable il doit y avoir un nombre (une suite de chiffre).
Donc, si mettez texte$ = "Nous somme sur le SdZ" et si vous faite nombre = val(texte$) alors nombre vaudra 0.

Voila maintenant vous savez (presque) tout sur les opérations sur les variables. :)

Afficher des variables



On connait déjà le print, et on va découvrir un nouvel aspect de sa personnalité maintenant.

Grâce à print on peut afficher des variables.
Un exemple vaudra mieux qu'un long discours.

Reprenons le code de tout à l'heure et enlevons les commentaires et quelque lignes pour alléger tout ça.

Code VB :
 
nombre1 = 50
nombre2 = 10
nombre3 = 3*2
 


Et maintenant pour afficher une variable, il suffit d'écrire son nom sans les guillemets.

Code VB :
 
nombre1 = 50
print nombre1
nombre2 = 10
print nombre2
nombre3 = 3*2
print nombre3
 



Voila.
Lancez ce code et vous pourrez constater que le résultat des opérations apparaît dans la fenêtre.

Nous venons de voir comment afficher une variable numérique mais il existe deux types de variable. Les variables numériques et les variables alphanumériques.
Et bien c'est toujours aussi simple pour les variables alphanumériques.

Code VB :
 
variable$="Bonjour"
print variable$
 


Afficher plusieurs variables
Vous ne trouvez pas que ça n'est pas très beau comme ça ?
Ce n'est pas pratique car on ne connaît pas quel calcul donne le résultat.
Et bien il suffit de l'écrire.
Code VB :
 
nombre = 123+256*895/2
print "le résultat du calcul 123+256*895/2 est " ; nombre
 


Voila c'est aussi simple que ça.

Ce qui revient à faire ceci :
Code VB :
nombre = 123+256*895/2
texte$ = "le résultat du calcul 123+256*895/2 est "
phrase$ = texte$ + nombre
print phrase$ 


On peut donc mettre plusieurs variables dans un seul print. Il faut simplement les séparer par une virgule (tabulation) ou un point-virgule (directement collé).

Input



Bon c'est bien beau tous ça mais ça reste très statique non ?
On va faire un programme qui demande son nom à l'utilisateur et qui le lui réécrit !
Ce n'est pas bien ça ? :gre Pourquoi personne réponds ?

Bon on va apprendre une nouvelle instruction.
Vous connaissez déjà print et bien maintenant je vous présente input.
Cette instruction permet d'enregistrer ce qui est tapé au clavier.
Voici un exemple concret :
Code VB :
 
print "Bonjour"
print "Je suis un programme"
input "Quel est votre nom ? ";nom$ '<==
print "Je suis ravi de faire votre connaissance ";nom$;"."
input "Comment allez-vous ? ";etat$ '<==
print "D'accord, vous allez ";etat$
print "Je dois vous laisser ";nom$;". J'ai d'autre Zéros qui me demandent. ;)"
 


Bon, quelques explications seraient de rigueur.
Input peut être suivi d'un texte, d'une variable...
Seul la fin compte, il faut mettre un point virgule suivi d'une variable (numérique ou alphanumérique). C'est dans cette variable que va être enregistré le texte ou le nombre. Dans cet exemple, ce sera un texte car la variable finit par un $
Vous pouvez mettre soit une variable numérique, soit une variable alphanumérique. Mais en sachant que si vous demandez une variable numérique comme age par exemple et que l'utilisateur tape un mot/phrase, votre variable age vaudra 0.
Tous ce qui est entre input et le point virgule plus nom d'une variable sera ce qui apparaîtra sur la même ligne que l'endroit où vous taperez votre texte.



Voila ce chapitre sur les variables terminé.
Au faite deux petits conseils :
Ne faite pas de copier/coller sur des petits codes comme ceux que l'on a vu le long de ce chapitre.
Bidouillez, changez des choses dans les codes pour voir ce qui se passe. C'est comme ça qu'on apprend ! ;)

Maintenant on passe au chapitre suivant.
Go ==>


 
Cette page a été consultée 6834 fois