3. Contrôle du flux d'exécution
Résumé
Dans notre premier chapitre, nous avons vu que l’activité
essentielle d’un programmeur est la résolution de problèmes. Or, pour
résoudre un problème informatique, il faut toujours effectuer une série
d’actions dans un certain ordre. La description
structurée de ces actions et de l’ordre dans lequel
il convient de les effectuer s’appelle
un algorithme,
comparable à une recette de cuisine ou au mode
d'emploi d'un appareil. Le chemin suivi par Python à travers un programme est appelé
un flux d’exécution,
et les constructions qui le modifient sont appelées des
instructions de contrôle de flux. Les structures de
contrôle sont les groupes
d’instructions qui déterminent
l’ordre dans lequel les actions sont effectuées. En
programmation moderne, il en existe seulement trois : la
séquence, la
sélection et la
répétition.
Objectifs du chapitre
Au terme de ce chapitre, chaque étudiant devra être capable de:
- expliquer la différence entre un algorithme et un programme;
- indiquer les trois catégories de structures de contrôle de flux
d'exécution et le rôle de chacune
d'elles;
- expliquer la structure et gérer la syntaxe des notions
d'instruction composée, de bloc
d'instructions et d'imbrication
d'instructions composées;
- effectuer un test conditionnel simple (
if), composée
(if/else) et multiple (if/elif/else) en y plaçant un
bloc d'instructions à exécuter;
- préciser et utiliser de manière appropriée les opérateurs de
comparaison et les opérateurs logiques;
- reproduire les tables de vérité des opérateurs logiques et
expliquer leur contenu;
- énumérer les deux types de boucles et préciser ce qui les
distingue;
- placer un bloc d’instruction(s) à répéter dans une boucle avec
valeur sentinelle ou compteur ainsi que dans une boucle de parcours de
séquence;
- préciser la ou les conditions de sortie d'une
boucle avec valeur sentinelle ou compteur sous la forme
d'une expression booléenne;
- modifier l'incrémentation ou la décrémentation du
compteur dans une boucle avec compteur;
- décrire le déroulement d'une boucle à
l'aide d'un tableau
d'état des variables qui la composent;
- imbriquer une structure de contrôle à l'intérieur
d'une autre structure de contrôle;
- placer de manière appropriée une structure de rupture de séquence
dans le corps d'une boucle;
- gérer les erreurs d'exécution à l'aide du mécanisme de levée et de traitement d'exception;
- expliquer chacun des termes informatiques apparaissant dans le glossaire du chapitre.
Documents du chapitre
Corrigés des exercices
Pour chacun des exercices du cours, les corrigés ci-dessous doivent permettre à l'élève d'observer le résultat à obtenir (double-clic sur le fichier test) et de vérifier/comparer sa résolution avec une solution possible (éditer le fichier solution):
- Exercice 3.1: Test | Solution
- Exercice 3.2: Test | Solution
- Exercice 3.3: Test | Solution
- Exercice 3.4: Test | Solution
- Exercice 3.5: Test | Solution
- Exercice 3.6: Test | Solution
- Exercice 3.7: Test | Solution
- Exercice 3.8: Test (1), Test (2) | Solution (1), Solution (2)
- Exercice 3.9: Test | Solution A | Solution B
- Exercice 3.10: Test | Solution
- Exercice 3.11: Test (1), Test (2), Test (3), Test (4)| Solution (1), Solution (2), Solution (3), Solution (4)
- Exercice 3.12: Test | Solution
- Exercice 3.13: Test | Solution
- Exercice 3.14: Test | Solution (1), Solution (2)
- Exercice 3.15: Test | Solution (1), Solution (2)
- Exercice 3.16: Test | Solution (1), Solution (2)
- Exercice 3.17: Test | Solution A | Solution B
- Exercice 3.18: Test | Solution
- Exercice 3.19: Test | Solution
- Exercice 3.20: Test | Solution
- Exercice 3.21: Test | Solution
- Exercice 3.22: Test | Solution
- Exercice 3.23: Test | Solution
- Exercice 3.24: Test | Squelette | Solution
- Exercice 3.25: Test | Solution A | Solution B