La variable informatique
Une variable
Une variable est un emplacement nommé, dans lequel le programme range une valeur. Cette valeur peut changer au cours de l'exécution : c'est de là que vient le mot.
Donner une valeur à une variable s'appelle une affectation . On l'écrit avec le signe \(=\) :
score = 0 score = score + 5
Après ces deux lignes, la variable score vaut \(5\). La deuxième ligne n'est donc pas une égalité mathématique — elle serait fausse — mais une action : prendre la valeur actuelle, y ajouter \(5\), et ranger le résultat au même endroit.
En mathématiques, une lettre désigne un nombre fixé pendant tout le calcul. En programmation, une variable peut changer de valeur à chaque ligne : c'est la différence essentielle.
Les conditions
Une condition
Une condition est une affirmation dont le programme peut dire si elle est vraie ou fausse . Il n'y a pas d'autre réponse possible.
Les conditions s'écrivent avec des symboles de comparaison :
Condition |
Se lit |
Vraie si \(n = 7\) ? |
|---|---|---|
n == 7 |
\(n\) est égal à \(7\) |
oui |
n != 7 |
\(n\) est différent de \(7\) |
non |
n > 10 |
\(n\) est strictement supérieur à \(10\) |
non |
n <= 7 |
\(n\) est inférieur ou égal à \(7\) |
oui |
Le double signe == teste une égalité, le signe simple = affecte une valeur. Les confondre est l'erreur la plus fréquente.
L'instruction conditionnelle
Si … alors … sinon
Une instruction conditionnelle n'exécute un bloc d'instructions que si une condition est vraie. Un second bloc, facultatif, s'exécute dans le cas contraire.
if note >= 10:
print("Admis")
else:
print("À revoir")
Le décalage vers la droite, appelé indentation , indique quelles instructions dépendent de la condition. Sans lui, le programme ne saurait pas où s'arrête le bloc.
Enchaîner plusieurs cas
Lorsque plus de deux cas sont possibles, on enchaîne les conditions. Le programme s'arrête au premier cas vérifié .
if note >= 16:
print("Très bien")
elif note >= 14:
print("Bien")
elif note >= 10:
print("Admis")
else:
print("À revoir")
L'ordre des conditions est donc essentiel : avec une note de \(17\), la première est déjà vraie et les suivantes ne sont jamais examinées . Si l'on avait commencé par \(10\), toutes les notes admises auraient affiché « Admis ».
Écrire et modifier un programme
Voici un programme qui indique si un nombre est pair , et le triple s'il ne l'est pas :
n = 9
if n % 2 == 0:
print(n, "est pair")
else:
n = n * 3
print("triplé :", n)
L'opérateur % donne le reste de la division euclidienne : un nombre est pair exactement lorsque ce reste vaut \(0\).
Modifier un programme, c'est en changer le comportement sans le réécrire entièrement . Trois modifications simples de celui-ci :
-
remplacer 9 par une autre valeur change le nombre étudié ;
-
remplacer n % 2 par n % 3 teste les multiples de \(3\) au lieu des nombres pairs ;
-
remplacer n * 3 par n + 1 rend le nombre pair au lieu de le tripler.
Avant d'exécuter un programme, on peut toujours le dérouler à la main, ligne à ligne, en notant la valeur de chaque variable. C'est la meilleure façon de comprendre ce qu'il fait, et de trouver une erreur.