Mathématiques1ère

Lire et décomposer un algorithme
Exercices corrigés

Maîtrisez la lecture et la décomposition d'algorithmes : identification des structures, variables, boucles, conditions grâce à ces 5 exercices détaillés.

Concepts & Exercices
\(\text{Algorithme} = \text{Déclarations} + \text{Instructions} + \text{Structures de contrôle}\)
Structure d'un algorithme
📦
Variables : Espaces mémoire nommés pour stocker des données.
🔄
Affectations : Opérations qui attribuent des valeurs aux variables.
Conditions : Structures qui permettent des choix.
🔁
Boucles : Structures qui permettent des répétitions.
Exercice 1
Variables a, b, c : entiers
Début
  a ← 5
  b ← 3
  c ← a + b
  a ← c - b
  b ← c - a
  Afficher(a, b, c)
Fin
Analyser cet algorithme et déterminer les valeurs affichées.
Exercice 2
Variables n, i, somme : entiers
Début
  n ← 5
  somme ← 0
  i ← 1
  TantQue i <= n Faire
    somme ← somme + i*i
    i ← i + 1
  FinTantQue
  Afficher(somme)
Fin
Décomposer l'algorithme et déterminer la valeur finale de somme.
Exercice 3
Variables x, y, z : réels
Début
  x ← 10
  y ← 5
  Si x > y Alors
    z ← x - y
  Sinon
    z ← y - x
  FinSi
  Afficher(z)
Fin
Identifier les structures de contrôle et déterminer la valeur affichée.
Exercice 4
Variables tab[5], i, max : entiers
Début
  Pour i de 0 à 4 Faire
    tab[i] ← (i+1)*2
  FinPour
  max ← tab[0]
  Pour i de 1 à 4 Faire
    Si tab[i] > max Alors
      max ← tab[i]
    FinSi
  FinPour
  Afficher(max)
Fin
Décomposer les boucles et déterminer la valeur affichée.
Exercice 5
Variables a, b, temp : entiers
Début
  a ← 15
  b ← 25
  temp ← a
  a ← b
  b ← temp
  Afficher(a, b)
Fin
Analyser la permutation et déterminer les valeurs affichées.
Corrigé : Exercices 1 à 3
1 Suivi d'exécution
Définition :

Suivi d'exécution : Technique pour comprendre le déroulement d'un algorithme en traçant les valeurs des variables.

Méthode de décomposition :
  1. Identifier les variables déclarées
  2. Créer un tableau de suivi
  3. Exécuter chaque instruction une par une
  4. Noter les modifications des variables
  5. Identifier la sortie finale
Étape 1 : Variables déclarées

Variables : a, b, c (toutes de type entier)

Étape 2 : Tableau de suivi
Instruction a b c
a ← 5 5 - -
b ← 3 5 3 -
c ← a + b 5 3 8
a ← c - b 5 3 8
b ← c - a 5 3 8
Étape 3 : Calculs détaillés

c ← a + b = 5 + 3 = 8

a ← c - b = 8 - 3 = 5

b ← c - a = 8 - 5 = 3

Étape 4 : Valeurs finales

a = 5, b = 3, c = 8

Réponse finale :

Les valeurs affichées sont a = 5, b = 3, c = 8.

Règles appliquées :

Suivi d'exécution : Technique pour comprendre le déroulement

Ordre des instructions : L'ordre d'exécution est crucial

Affectation : La valeur droite est assignée à la variable gauche

Point clé 1

Chaque affectation modifie la valeur d'une variable

Point clé 2

La valeur utilisée dans une expression est celle avant l'affectation

2 Boucle avec accumulation
Définition :

Boucle TantQue : Structure de répétition contrôlée par une condition.

Étape 1 : Variables et initialisation

Variables : n, i, somme

n ← 5, somme ← 0, i ← 1

Étape 2 : Analyse de la boucle

Condition : i ≤ n (i ≤ 5)

Instructions dans la boucle :

- somme ← somme + i*i

- i ← i + 1

Étape 3 : Trace de la boucle
Itération i i*i somme avant somme après Condition
Initial 1 - 0 - 1 ≤ 5
1 1 1 0 1 2 ≤ 5
2 2 4 1 5 3 ≤ 5
3 3 9 5 14 4 ≤ 5
4 4 16 14 30 5 ≤ 5
5 5 25 30 55 6 ≤ 5
Étape 4 : Calcul final

La boucle calcule : 1² + 2² + 3² + 4² + 5² = 1 + 4 + 9 + 16 + 25 = 55

Réponse finale :

La valeur finale de somme est 55, qui est la somme des carrés des 5 premiers entiers.

Règles appliquées :

Boucle TantQue : Continue tant que la condition est vraie

Accumulation : La variable somme accumule les valeurs

Compteur : i est incrémenté pour garantir la terminaison

Point clé 1

Le compteur i doit être modifié dans la boucle pour éviter une boucle infinie

Point clé 2

Les variables dans la boucle utilisent leurs valeurs avant modification

3 Structure conditionnelle
Définition :

Structure conditionnelle : Exécution d'instructions selon une condition.

Étape 1 : Variables et initialisation

Variables : x, y, z (toutes de type réel)

x ← 10, y ← 5

Étape 2 : Analyse de la condition

Condition : x > y

Évaluation : 10 > 5 → VRAI

Étape 3 : Exécution du bloc SI

Puisque la condition est vraie, on exécute :

z ← x - y = 10 - 5 = 5

Étape 4 : Structure de la conditionnelle
Si [condition] Alors
  [instructions si vraie]
Sinon
  [instructions si fausse]
FinSi
Étape 5 : Valeur finale

z = 5, donc Afficher(z) affiche 5

Réponse finale :

La valeur affichée est 5, qui est la différence positive entre x et y.

Règles appliquées :

Condition : Évaluée à vrai ou faux

Exclusivité : Soit le bloc SI, soit le bloc SINON est exécuté

Flux d'exécution : Continue après la structure conditionnelle

Point clé 1

Seul le bloc correspondant à la condition est exécuté

Point clé 2

Les structures conditionnelles permettent de prendre des décisions

Corrigé : Exercices 4 à 5
4 Boucles imbriquées
Définition :

Boucles imbriquées : Une boucle à l'intérieur d'une autre boucle.

Étape 1 : Première boucle (initialisation)
Pour i de 0 à 4 Faire
  tab[i] ← (i+1)*2
FinPour

Calcul des valeurs :

tab[0] = (0+1)*2 = 2

tab[1] = (1+1)*2 = 4

tab[2] = (2+1)*2 = 6

tab[3] = (3+1)*2 = 8

tab[4] = (4+1)*2 = 10

Étape 2 : Initialisation du maximum

max ← tab[0] = 2

Étape 3 : Seconde boucle (recherche du maximum)
Pour i de 1 à 4 Faire
  Si tab[i] > max Alors
    max ← tab[i]
  FinSi
FinPour
Étape 4 : Trace de la boucle de recherche
i tab[i] max avant Condition max après
1 4 2 4 > 2 4
2 6 4 6 > 4 6
3 8 6 8 > 6 8
4 10 8 10 > 8 10
Étape 5 : Valeur finale

max = 10, donc Afficher(max) affiche 10

Réponse finale :

La valeur affichée est 10, qui est le maximum du tableau [2, 4, 6, 8, 10].

Règles appliquées :

Boucles imbriquées : Une boucle complète avant l'autre

Recherche de maximum : Comparaison avec la valeur courante

Tableau : Accès par indice

Point clé 1

La première boucle initialise le tableau, la seconde le traite

Point clé 2

Le maximum est mis à jour à chaque fois qu'une valeur plus grande est trouvée

5 Permutation de variables
Définition :

Permutation : Échange des valeurs de deux variables.

Étape 1 : Variables et initialisation

Variables : a, b, temp (toutes de type entier)

a ← 15, b ← 25

Étape 2 : Permutation étape par étape

temp ← a : sauvegarde de la valeur de a

temp = 15

a ← b : copie de la valeur de b dans a

a = 25

b ← temp : copie de la valeur sauvegardée dans b

b = 15

Étape 3 : Tableau de suivi
Instruction a b temp
a ← 15, b ← 25 15 25 -
temp ← a 15 25 15
a ← b 25 25 15
b ← temp 25 15 15
Étape 4 : Résultat final

Après permutation : a = 25, b = 15

Donc Afficher(a, b) affiche 25 et 15

Étape 5 : Explication de la technique

La variable temporaire est nécessaire pour éviter de perdre une valeur

Si on faisait a ← b puis b ← a, on aurait a = b et b = b

Réponse finale :

Les valeurs affichées sont a = 25 et b = 15, les variables ont été permutées.

Règles appliquées :

Permutation : Nécessite une variable temporaire

Séquence : L'ordre des affectations est crucial

Sauvegarde : La valeur originale est préservée dans temp

Point clé 1

La permutation nécessite trois affectations pour échanger deux variables

Point clé 2

La variable temporaire empêche la perte de données

Cours bien détaillé
\(\text{Algorithme} \rightarrow \text{Déclaration} \rightarrow \text{Initialisation} \rightarrow \text{Exécution}\)
Flux d'un algorithme
📦
Variables : Espaces mémoire nommés pour stocker des données.
🔄
Affectation : Opération qui attribue une valeur à une variable.
Conditionnelle : Structure qui permet des choix basés sur une condition.
🔁
Boucles : Structures qui permettent des répétitions d'instructions.
💡
Conseil : Toujours suivre l'ordre d'exécution des instructions
🔍
Attention : Les variables peuvent changer de valeur au cours de l'exécution
Astuce : Créer un tableau de suivi pour les algorithmes complexes
📋
Méthode : Décomposer en petites parties pour analyser
Vérification : Relire l'algorithme plusieurs fois pour s'assurer de la compréhension
Méthodologie de décomposition :
  1. Identifier les variables : Repérer toutes les variables déclarées
  2. Repérer les structures : Distinguer les boucles, conditions, affectations
  3. Suivre l'exécution : Exécuter chaque instruction pas à pas
  4. Tracer les valeurs : Suivre l'évolution des variables
  5. Identifier la sortie : Déterminer ce qui est affiché ou retourné
Règles fondamentales :
  • Les instructions s'exécutent dans l'ordre d'écriture
  • Les variables stockent des valeurs qui peuvent changer
  • Les structures conditionnelles exécutent des blocs selon une condition
  • Les boucles répètent des instructions tant qu'une condition est vraie
  • Les affectations modifient les valeurs des variables
\(\text{Valeur}_{\text{après}} = \text{Expression}_{\text{utilisant}}(\text{Valeurs}_{\text{avant}})\)
Affectation
Lire et décomposer un algorithme Initiation à l’algorithmique