Fiche de révision : Flot d’exécution en Python

Plan du Cours

  1. Programmation procédurale et fonctions
  2. Listes et accès indexé
  3. Branchements conditionnels
  4. Boucles for et parcours
  5. Réductions et invariants
  6. Boucles while et terminaison
  7. Boucles imbriquées et matrices

1. Programmation procédurale et fonctions

Notions clés & Définitions

  • Programmation procédurale : Consiste à découper un programme en fonctions ou procédures élémentaires afin de le rendre modulaire, réutilisable et plus facile à faire évoluer.

★ À maîtriser

📌 Une fonction pure renvoie une valeur sans changer l’état du système, tandis qu’une procédure agit par effet de bord et peut ne rien renvoyer, comme une fonction qui affiche du texte.

Compléments

  • La fonction carre(n) renvoie le carré de son paramètre, et une fonction peut accepter plusieurs paramètres comme somme(a, b) qui renvoie leur addition.

Astuce mémo

Modulariser le programme → factoriser le code → faciliter son évolution

2. Listes et accès indexé

Notions clés & Définitions

  • Liste : Succession ordonnée de valeurs écrites entre crochets et séparées par des virgules.

★ À maîtriser

  • Une liste de longueur n possède des indices allant de 0 à n − 1, et sa valeur d’indice k est accessible avec l’expression t[k].

Compléments

📌 Accéder à un indice situé hors des bornes d’une liste provoque l’exception « list index out of range ».

📌 Les chaînes de caractères permettent aussi l’accès par indice, mais Python ne possède pas de type caractère : s[k] est une chaîne de longueur 1.

Astuce mémo

Un tableau de cases numérotées de 0 à n − 1

3. Branchements conditionnels

Notions clés & Définitions

  • Branchement conditionnel : Exécute un bloc d’instructions lorsqu’une condition est vraie et permet de choisir entre plusieurs blocs selon les conditions.

Points essentiels

📌 Dans une structure conditionnelle à plusieurs branches, seul le bloc correspondant à la première condition vraie est exécuté.

Astuce mémo

if indépendant contre première condition vraie dans if-elif-else

4. Boucles for et parcours

Notions clés & Définitions

  • Boucle for : Répète un bloc d’instructions un nombre de fois connu avant son exécution et constitue ainsi une boucle inconditionnelle et bornée.

★ À maîtriser

  • L’instruction for k in range(a, b) donne successivement à k les valeurs a, a + 1, jusqu’au plus grand entier strictement inférieur à b.

Compléments

  • Avec un pas négatif, range(n - 1, -1, -1) parcourt les entiers n − 1, n − 2, jusqu’à 0.

  • La fonction suite(alpha, n) initialise u à alpha puis applique n fois la transformation u = cos(u) avant de renvoyer u.

Astuce mémo

range(a, b) parcourt a, a + 1, …, b − 1

5. Réductions et invariants

Notions clés & Définitions

  • Invariant de boucle : Propriété vraie avant la boucle et conservée après chaque itération, ce qui permet de prouver le résultat obtenu en sortie.

★ À maîtriser

  • Pour calculer la somme d’une liste, on initialise l’accumulateur à 0 puis on lui ajoute successivement chaque élément avant de le renvoyer.

  • Pour calculer le produit d’une liste, on initialise la variable prod à 1 puis on la multiplie successivement par chaque élément avant de la renvoyer.

Compléments

  • Pour obtenir le maximum d’une liste non vide, on initialise le maximum au premier élément puis on le remplace lorsqu’un élément plus grand est rencontré.

Astuce mémo

Addition : neutre 0 ; multiplication : neutre 1

6. Boucles while et terminaison

Notions clés & Définitions

  • Boucle while : Répète un bloc tant qu’une condition est vérifiée, alors que le nombre d’itérations n’est pas nécessairement connu à l’avance.
  • Variant : Grandeur entière positive qui diminue strictement à chaque itération et permet de prouver qu’une boucle termine.

★ À maîtriser

  • L’algorithme d’Euclide calcule le pgcd en remplaçant successivement (a, b) par (b, a % b) tant que b est strictement positif, puis renvoie a.

Compléments

  • La fonction int_sqrt(n) renvoie le plus grand entier q tel que q² ≤ n < (q + 1)², sans utiliser de nombre flottant.

Astuce mémo

Variant entier positif décroissant → impossibilité d’une boucle infinie

7. Boucles imbriquées et matrices

Notions clés & Définitions

  • Boucles imbriquées : Boucles placées les unes dans les autres, permettant notamment de parcourir systématiquement les lignes et les colonnes d’une matrice.

★ À maîtriser

  • Pour compter les lignes d’une matrice contenant au moins un 1, on parcourt chaque ligne, on cherche un 1 avec une boucle while, puis on incrémente le compteur si un 1 est trouvé.

Compléments

  • Dans la génération des tables de multiplication, la boucle externe parcourt a de 2 à n et la boucle interne parcourt b de 2 à n, ou de a à n pour éviter les produits symétriques.

Astuce mémo

Une boucle parcourt les lignes, l’autre les colonnes

Tableaux de synthèse

Types de boucles

BoucleUsageTerminaison
forNombre d’itérations connuBornée
whileCondition à maintenirNon garantie sans variant

Teste tes connaissances

Teste tes connaissances sur Flot d’exécution en Python avec 11 questions à choix multiples et corrections détaillées.

1. Quel est l’objectif principal de la programmation procédurale lorsqu’un programme est découpé en fonctions ou procédures élémentaires ?

2. Quelle distinction caractérise une fonction pure par rapport à une procédure ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Flot d’exécution en Python avec 11 flashcards interactives.

Qu'est-ce que la programmation procédurale ?

C'est découper un programme en fonctions ou procédures modulaires.

Quelle différence entre fonction pure et procédure ?

La fonction pure renvoie une valeur sans effet de bord, la procédure agit par effet de bord.

Qu'est-ce qu'une liste en Python ?

Une succession ordonnée de valeurs entre crochets séparées par des virgules.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches