Afin de suivi le cours/TD plus agréable, je vous conseille de lire le guide vidéo disponible en cliquant sur l’image ci-dessous. Vous pouvez par ailleurs optimiser votre espace de travail en ouvrant une fenêtre consacré au guide vidéo et une autre à la lecture de cette page web.
1. La condition if
Il est possible de faire évoluer les valeurs de nos variables, grâce aux conditions. Pour cela, nous utiliserons l’instruction if. If pour si en anglais possède la structure suivante :
- Première instruction : La valeur 5 est stockée dans la variable x.
- Deuxième instruction : C’est la structure de condition :
- if signale que l’on écrit une condition.
- x==5, est l’assertion de la condition. Une assertion est une proposition qui est soit vraie, soit fausse. Si elle est vraie, les instructions appartenant au bloc de la condition sont exécutées. Sinon, elles ne sont pas exécutées. Le double égal (==) est l’opérateur logique d’égalité. L’assertion x==5 est donc vraie. Car la valeur stockée dans la variable x est égale à 5. Le programme exécutera le bloc d’instruction de la condition.
- : permet de marquer la fin de l’assertion.
- Troisième instruction : Elle affiche la chaine de caractères « La valeur de la variable x est égale à 5 ». On remarque que cette instruction est indentée (c’est-à-dire qu’il y a une sorte d’alinéa). Cette indentation est importante. Elle marque l’appartenance de l’instruction à la structure/bloc de la condition.
En exécutant le programme. Le programme affiche la chaine de caractère « La valeur de la variable x est égale à 5 ».
Changeons maintenant, x=5 en x=6.
En exécutant le programme, il ne se passe rien. En effet, x==5, l’assertion est fausse. La troisième instruction appartenant au bloc de la condition n’est pas exécutée.
Si l’indentation n’est pas mise, le programme devient la suivant :
En exécutant le programme, on obtient un message d’erreur. La troisième instruction n’est pas exécutée car elle n’est pas indentée.
Exemple :
Tester le programme en saisissant la valeur : Toto, puis toto. Vous remarquerez que dans le deuxième cas, l’assertion est fausse. « T » et « t » sont deux informations différentes.
2. Les opérateurs logiques
Pour créer notre assertion dans les exemples précédents, nous avons utiliser l’opérateur logique ==. Il en existe plusieurs, nous permettant de faire varier les différentes assertions dans nos structures de conditions.
Ci-dessous le tableau des opérateurs logiques. Liste non exhaustive.
Opérateur logique | Rôle | Exemple |
== | Test de l’égalité | 3==4 : renvoi faux |
!= | Test de différence | 3 !=4 : renvoi vrai |
< | Test inférieur | 3<4 : renvoi vrai |
<= | Test inférieur ou égal | 4<=3 : renvoi faux |
> | Test supérieur | 3>4 : renvoi faux |
>= | Test supérieur ou égal | 4>=3 : renvoi vrai |
and | Et logique | Voir exercice 2 |
or | Ou logique | Voir exercice 3 |
not | Non logique |
Appliquons ces nouvelles notions dans quelques exercices.
Exercice 1
Tester le programme ci-dessous et dérouler le programme (c’est-à-dire expliquer le rôle de chaque instructions).
Exercice 2
Tester le programme suivant et modifier la ligne 6 en écrivant un texte correspondant au contexte du programme.
Exercice 3
Tester le programme suivant et modifier la ligne 6 en écrivant un texte correspondant au contexte du programme.
Exercice 4
Écrire un programme demandant à l’utilisateur de saisir une valeur entière qui sera stockée dans une variable nommée age et affichant la chaine de caractères « Quel age as-tu ? ». Si la valeur saisit par l’utilisateur est supérieure ou égale à 18, le programme affiche la chaine de caractère « Tu es majeur ».
3. Les conditions if, elif, else
Il est possible de rendre nos conditions « plus performantes » en utilisant les instructions elif et else.
L’instruction if correspond en français à l’instruction si, suivi d’une assetion. L’instruction elif correspond au sinon si suivi d’une assertion. Tant qu’à l’instruction else, elle correspond à l’instruction sinon. Cette dernière instruction s’écrit à la fin de notre structure de contrôle et s’exécute si les assertions du if et des elif sont fausses. Comprenons mieux ces éléments au travers d’un exemple.
- Si dans la variable prenom, on saisit la chaine de caractère « Paul ». L’assertion de la condition à la ligne 3 est vraie. Celles des lignes 5,7,9 sont fausses. On exécute l’instruction de la ligne 4.
- Si dans la variable prenom, on saisit la chaine de caractère « Jack ». L’assertion de la condition à la ligne 5 est vraie. Celles des lignes 3,7,9 sont fausses. On exécute l’instruction de la ligne 6.
- Si dans la variable prenom, on saisit la chaine de caractère « Léa ». L’assertion de la condition à la ligne 7 est vraie. Celles des lignes 3,5,9 sont fausses. On exécute l’instruction de la ligne 8.
- Si dans la variable prenom, on saisit la chaine de caractère « paul ».L’assertion de la condition à la ligne 9 est vraie. Celles des lignes 3,5,7 sont fausses. En effet, la chaine de caractère « paul » est différente ede la chaine de caractère « Paul ». On exécute l’instruction de la ligne 10.
Il est possible de créer des conditions dans des conditions. Pour qu’elles s’exécutent. Il faut respecter les indentations.
Exercice 5
1) Tester et dérouler le programme ci-dessous (c’est-à-dire expliquer le rôle de chacune des instructions)
2) Rajouter un 4ème menu à la borne d’achat JUNK FOOD.
Exercice 6
Tester et dérouler (pas besoin de l’écrire) le programme ci-dessous.
Exercice 7
Écrire un programme qui demande l’age de l’utilisateur et l’informe s’il est majeur ou mineur.
Exercice 8
Écrire un programme qui demande l’age d’un enfant à l’utilisateur. Ensuite, il l’informe de sa catégorie :
- « Pas de catégorie » moins de 6 ans
- « Poussin » de 6 à 7 ans
- « Pupille » de 8 à 9 ans
- « Minime » de 10 à 11 ans
- « Cadet » après 12 ans
Exercice 9
Écrire un programme qui demande à l’utilisateur de saisir 3 valeurs correspondant aux longueurs des côtés d’un triangle. Le programme affiche suivant les valeurs saisies, si le triangle est rectangle ou non.
Pour rappel, un triangle ABC est rectangle en A si et seulement si BC2=AB2+AC2.