Qu'est-ce qu'une variable ?
Une variable est un composant fondamental en programmation. Il s'agit de créer une information dans l'ordinateur que nous pourrons utiliser et modifier.
Voici la syntaxe habituelle qui permet de créer une variable. En informatique, on appelle cela déclarer une variable :
int ma_variable = 7;
Disséquons, un à un, les composants de cette ligne de code.
- int : En premier lieu, le mot 'int' permet d'indiquer le type de la variable. Nous y reviendrons après.
- ma_variable : Ensuite, nous indiquons le nom de la variable. Celui-ci est arbitraire, nous aurions pu indiquer 'toto', à la place. Par contre, il ne faut pas mettre d'espace, ou de caractères spéciaux, et il ne doit pas commencer par un chiffre. En général, on évite de mettre une majuscule au début, car c'est généralement réservé à un autre type d'information.
- = : contrairement au mathématiques, le signe égal ( = ) est utilisé en informatique pour assigner une valeur à une variable. Autrement dit, quand on utilise ce signe, la valeur à droite du signe est stockée dans la variable à gauche du signe. Ici, le signe = stocke donc la valeur 7 dans la variable nommée ma_variable .
- 7 : ce nombre est la valeur que nous allons stocker dans ma_variable. C'est donc la vraie information importante qui nous intéresse.
- ; : ici, le point-virgule permet d'indiquer à l'ordinateur la fin de l'instruction, autrement dit que la déclaration de variable est terminée.
Veuillez noter que la syntaxe peut varier en fonction du langage de programmation que vous utilisez. Python, qui est un langage simplifié, vous permet d'écrire l'équivalent de la ligne précédente en omettant le type et le point-virgule :
ma_variable = 7
Ce qu'il est important de comprendre à propos de la variable, c'est que lorsque nous la déclarons, nous créons un espace dans la mémoire de l'ordinateur qui pourras retenir une information. Le nom de la variable est l'équivalent de l'adresse de cet espace de mémoire. Quand nous utilisons le nom de la variable, nous accédons à son contenu :
ma_variable = "Hello World";
print( ma_variable );
Dans l'exemple ci-dessus, nous créons une variable, puis nous demandons de l'afficher à l'écran. C'est bien "Hello World" qui s'affiche, et non ma_variable.
Assez intuitivement, une des propriétés de la variable est de pouvoir... varier. Il est possible de changer son contenu au cours du programme :
string ma_variable = "Hello World";
print( ma_variable );
ma_variable = "Bonjour Monde";
print( ma_variable );
Ici, c'est d'abord "Hello World", puis "Bonjour Monde" qui est affiché à l'écran. Le contenu de la variable est donc modifié en cours de route.
Vous noterez qu'il n'est pas nécessaire de réassigner le type quand on change le contenu, je n'ai donc pas remis le mot "string" quand je lui ai assigné le contenu "Bonjour Monde".
Mais qu'est-ce que le type d'une variable ?
Le type d'une variable permet à l'ordinateur de savoir comment l'interpréter. Il en existe quatre fondamentaux :
- int : qui désigne des nombres entiers
- float : qui désigne des nombres à virgule
- char : qui désigne des caractères écrits, comme des lettres ou de la ponctuation
- bool : qui désigne une information booléenne, soit vraie, soit fausse
En guise d'exemples :
int mon_nombre_entier = 7;
float mon_nombre_a_virgule = 1.7;
char ma_lettre = "a";
bool mon_booleen = True;
En réalité, nous utilisons très rarement le type char. À la place, nous utilisons un type qui agrège plusieurs chars ensemble, nommé string, et qui permet d'écrire du texte directement :
string mon_texte = "Hello World";
Pourquoi utilise-t'on des types ?
En fait, l'ordinateur n'a pas notre capacité intuitive de reconnaître des objets. Prenons par exemple une variable qui contient le texte suivant :
string mon_texte = "Il y a 5 pommes sur une table.";
Imaginons maintenant que nous réduisions cette phrase uniquement au caractères "5".
string mon_texte = "5";
Si nous demandons à l'ordinateur de multiplier cette variable par deux :
string mon_texte = "5";
print( mon_texte * 2 )
Eh bien celui-ci n'y arrive pas, car il n'est pas capable de se rendre compte que dans ce cas, "5" est à la fois un symbole d'écriture ET un chiffre. Comme nous avons utilisé le type string, celui-ci n'est pas capable de se rendre compte qu'on pourrait en faire un int ! En fait, il ne ferait pas la différence avec la demande suivante, qui est absurde :
string mon_texte = "pomme";
print( mon_texte * 2 )
L'ordinateur n'est à la base capable de multiplier que des int, des nombres entiers, soit des float, des nombres à virgule. Il existe également des opérations qui ne peuvent avoir lieu que sur les phrases, c'est-à-dire les string.
En réalité, les langages de programmation modernes ont été conçus pour que ce problème ne se pose plus et il devient possible de multiplier des caractères même si ce n'est pas sensé être possible à la base, s'ils correspondent bien à des nombres.