Écrire un programme, c'est ranger des valeurs et décider quoi faire selon elles.
-
Affecter une valeur à une variable et la modifier
-
Écrire une condition avec les symboles de comparaison
-
Écrire une instruction conditionnelle avec if, elif et else
-
Modifier un programme pour en changer le comportement
-
Trouver une erreur en déroulant un programme à la main
À un passage piéton, le feu reste vert tant que personne n'appuie. Si un piéton appuie, alors il passe au rouge.
Le programme du feu tient en une condition, répétée sans fin.
Une condition partage le programme en deux chemins ; la machine n'en prend qu'un.
La variable informatique
Une variable
Une variable est un emplacement nommé où le programme range une valeur. Cette valeur peut changer au cours de l'exécution.
Donner une valeur à une variable s'appelle une affectation, notée \(=\) :
score = 0 score = score + 5
Après ces deux lignes, score vaut \(5\). La deuxième ligne n'est pas une égalité mais une action : ajouter \(5\) à la valeur de score.
Les conditions
Une condition
Une condition est une affirmation dont le programme peut dire si elle est vraie ou fausse.
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.
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 sinon.
if note >= 10:
print("Admis")
else:
print("À revoir")
Le décalage vers la droite, appelé indentation, indique quelles instructions dépendent de la condition.
Enchaîner plusieurs cas
Avec plus de deux cas, 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 essentiel : commencer par \(10\) afficherait « Admis » pour toute note admise.
Écrire et modifier un programme
Ce programme indique si un nombre est pair, et le triple sinon :
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 lorsque son reste par \(2\) vaut \(0\).
Modifier un programme, c'est en changer le comportement sans le réécrire entièrement. Trois exemples :
-
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.
Pour trouver une erreur, on déroule le programme à la main en notant la valeur de chaque variable.