Les variables

Une variable est une zone réservée de la mémoire vive (également appelée mémoire volatile), de taille fixe ou variable, dédiée à stocker une information utile dans notre programme. Elle peut être de différents formats; soit de type numérique, chaîne de caractères, pointeur, etc. en fonction du besoin.

Imaginons maintenant que nous souhaitons ranger plusieurs objets dans un caisson. Dans ce cas de figure, le caisson représente la case mémoire physique, soit l'équivalent d'une variable, et les objets que nous mettons dedans représentent la valeur de notre variable qui représente l'information utile que nous souhaitons stocker (ci-dessus un exemple produit par Freepik sur Freepik). Si nous stockons plusieurs caissons, de mêmes formats ou de différents formats dans une armoire, cette dernière représente notre mémoire vive de notre système numérique.

Armoire de rangement à plusieurs cases

Pour mieux comprendre ce principe, nous avons modélisé un bloc mémoire avec une variable qui stocke la chaîne de caractères "ELECTRO-ROBOT" (la mémoire de notre ordinateur par exemple est divisée en plusieurs blocs de mémoire, appelés élgalement segments). Comme vous pouvez le remarquer, la mémoire d'un système numérique est un ensemble de cases ordonnées successivement que nous pouvons les modéliser sous forme de n lignes et de m colonnes. Chaque case peut acquérir un caractère et une variable peut occuper un ou plusieurs cases de notre bloc mémoire.

Modélisation bloc d'un mémoire

Ainsi, une variable est un ensemble du tout petit élément de la mémoire de notre système pour nous stocker une information numérique. Ce principe de base est générique pour tout langage de programmation il reste valable même si la manière de la déclaration de la variable diffère d'un langage de programmation à un autre. Alors commençons par un premier exemple écrit en langage C:

int x = 100;
double montant;
string Message = "Ceci est un exemple";

Comme vous pouvez le remarquer, le langage C nous permet de déclarer la variable et d'affecter une valeur sur la même ligne de code. Cette double fonction est spécifique à ce langage de programmation et nous la retrouvons dans pas mal d'autres (nous revenons ultérieurement à cela). Par contre, en Visual Basic, pour déclarer une variable et l'affecter, nous sommes dans l'obligation de réaliser cela sur deux lignes différentes, ci-dessous un exemple :

Dim x as integer
X = 100

Déclaration d'un variable

Pour adapter notre code en fonction du besoin final, il est recommandé de déclarer la variable dans le bon type de format adéquat. Autrement dit, si nous stockons un litre d'eau dans un réservoir de 1 m3, nous perdons beaucoup d'espace alors que nous pouvons le stocker dans une petite bouteille de capacité 1L. Ainsi, pour déclarer une variable, nous devons définir le bon format du contenant et sa taille à l'avance. Dans cet exemple cité ci-dessus, notre variable est le récipient de capacité 1L et de format une bouteille.

Mais à quoi sert la déclaration de la variable? Déclarer une variable c'est réserver l'emplacement requis dans la mémoire de notre système et donner un nom à notre variable pour être utilisée au cours de notre progragramme. Comme dans l'exemple précédent, nous devons chercher la bouteille de 1L pour la préparer à recevoir la quantité d'eau demandée.

Pour déclarer une variable, en général en algorithmique ou langage de programmation, nous devons spécifier le type de la variable suivi par son nom ou inversement telle que:

   

type de la variable nom de la variable

 

Exemple de déclaration d'une variable sous Arduino IDE en C++

Comme exemple, nous allons faire clignoter une diode LED sous Arduino avec une vitesse au hasard. Pour cela, nous allons déclarer une variable de type entier que nous allons appeler WaitingTime que nous allons la définir comme suit:

int waitingTime = 250 + (rand() % 100) * 2.5;

Comme vous le remarquez, nous avons déclarer une variable composée de deux parties:

  • 250 : nous déclarons une première partie égale à 250 millisecondes
  • (rand() %100) * 2.5 : dans cette partie de code, le résultat peut varier entre 0 à 247.5 millisecondes

Ainsi, notre code source sera comme suit :

Clignotter au hasard une diode LED sous Arduino

Comme vous le constatez, nous avons également déclaré une variable appelée NumPort pour vous démontrer que nous pouvons déclarer le numéro de port concerné sur notre carte Arduino en utilisant une variable au lieu de la déclarer directement telle que :

pinMode(12, OUTPOUT);

Les différents types de variable

En fonction de notre variable à manipuler, nous devons demander à notre programme le type correspondant. C'est comme l'exemple présenté précédemment, nous aurons besoin d'un petit volume pour stocker un litre d'eau et non pas 1 m3C'est dans ce principe que nous retrouvons plusieurs types de variables possibles, pour coder notre programme, que nous pouvons les classifier en fonction du format de l'information à traiter tels que:

  • un premier qui nous permet de stocker uniquement des valeurs numériques de type entier tels que: signed char, int, long.
  • un deuxième plus générique et qui nous permet d'enregistrer des nombres de format décimal, appelé aussi de type réel ou aussi appelés nombres flottants, tels que: float, double, etc.
  • les variables de type booléenne pour stocker des résultats de type conditionnel.
  • un format pour stocker les chaînes de caractères tel que: Char, String, ...

Ainsi, il est nécessaire de bien choisir le type de notre variable afin d'éviter tout résultat erroné. Par exemple, si nous déclarons la variable qui récupère le résultat d'une division par un entier, le résultat sera incorrect puisqu'il s'agira du résultat d'une division euclidienne et non pas du résultat d'une division avec la virgule. Ci-dessous un exemple en CSharp:

int x = 9;
integer y = x / 4;

Console.WriteLine("Le résultat est : " + y);

En déclarant la variable y en entier et non pas en décimal, le résultat sera 2 et non pas 2.25. D'où le mauvais choix du type de la variable pour notre résultat y nous fausse indirectement notre résultat.


< Le code La programmation Les instructions >