Les Variables
1. Identité
- Titre : Les Variables
- Domaine : Algorithme
- Niveau : Débutant
- Prérequis : Types de données
2. Concept
Une variable est un emplacement mémoire nommé, contenant une donnée modifiable et utilisable. Elle a un nom, un type, et une valeur qui peut changer au fil du programme. C'est le nom qui permet de retrouver l'emplacement mémoire où la valeur est rangée.
Vocabulaire : - Déclarer une variable : créer et définir une variable avec un nom et un type. - Initialiser une variable : donner une première valeur à une variable déjà déclarée.
Un bon nom de variable décrit ce qu'elle contient : age, note_finale, points_de_vie. Éviter des noms comme x, tmp2 ou a, sauf dans les boucles très courtes : le code doit se lire comme du texte.
3. Illustration
Déclaration et affectation :
ALGORITHME Exemple_variables
VARIABLES
age : Entier
taille : Réel
prenom : Chaîne
majeur : Booléen
DÉBUT
age ← 25
taille ← 1.78
prenom ← "Alice"
majeur ← (age >= 18) # VRAI
Afficher prenom + " a " + Chaîne(age) + " ans."
# → Alice a 25 ans.
FIN
Tracer les variables à la main : technique essentielle pour déboguer, on suit l'évolution de chaque variable étape par étape dans un tableau.
ALGORITHME Échange
VARIABLES
a, b, temp : Entiers
DÉBUT
a ← 5
b ← 3
temp ← a
a ← b
b ← temp
Afficher a # → 3
Afficher b # → 5
FIN
| Étape | a | b | temp |
|---|---|---|---|
| Départ | ? | ? | ? |
| a ← 5 | 5 | ? | ? |
| b ← 3 | 5 | 3 | ? |
| temp ← a | 5 | 3 | 5 |
| a ← b | 3 | 3 | 5 |
| b ← temp | 3 | 5 | 5 |
4. Pièges fréquents
- Mal nommer ses variables : A, B ou C au lieu de point_de_vie, force ou armure.
- Se tromper de type : en général, mettre un nombre là où un entier suffirait (pour des points de vie), ou l'inverse, mettre un entier là où un nombre est obligatoire (un angle de rotation, par exemple).
- Oublier d'initialiser sa variable, c'est-à-dire ne jamais lui donner de valeur de départ.
- Coder sans avoir tracé son algorithme à la main sur un exemple simple au préalable : exécuter mentalement, étape par étape, permet d'éviter la majorité des bugs avant même d'avoir testé le programme.