Logo maths-cours.fr

Algorithme : Echange de variables

Exercices

Joana a conçu l’algorithme suivant afin d’échanger les valeurs de deux variables a et b :

variables
a, b : nombres réels
début algorithme
1. saisir a
2. saisir b
3. afficher "La valeur de a est ", a
4. afficher "La valeur de b est ", b
5. a prend la valeur b
6. b prend la valeur a
7. afficher "La valeur de a est ", a
8. afficher "La valeur de b est ", b
fin algorithme

  1. On saisit 2 comme valeur pour a et 5 comme valeur pour b.

    Compléter le tableau suivant :

    Ligne a b Affichage
    1. 2
    2. 2 5
    3. 2 5 La valeur de a est 2
    4. 2 5 La valeur de b est 5
    5.
    6.
    7.
    8.

    L’algorithme de Joana permet-il d’intervertir correctement les valeurs des variables a et b ?

  2. Corriger l’algorithme de Joana de façon à ce qu’il fonctionne correctement.

Corrigé

  1. Ligne a b Affichage
    1. 2
    2. 2 5
    3. 2 5 La valeur de a est 2
    4. 2 5 La valeur de b est 5
    5. 5 5
    6. 5 5
    7. 5 5 La valeur de a est 5
    8. 5 5 La valeur de b est 5

    L’algorithme de Joana ne fonctionne pas correctement.

    En effet, en ligne 5, l’instruction «  a prend la valeur b  » écrase l’ancienne valeur de a qui est 2 par la valeur 5 et la valeur 2 est donc « perdue ».

    La ligne 6 n’a alors aucun effet puisqu’elle remplace la valeur 5 par… la valeur 5 !!!

  2. Il faut rajouter une troisième variable qui stockera l’ancienne valeur de a comme par exemple :

    variables
    a, b, c : nombres réels
    début algorithme
    1. saisir a
    2. saisir b
    3. afficher "La valeur de a est ", a
    4. afficher "La valeur de b est ", b
    5. c prend la valeur a
    6. a prend la valeur b
    7. b prend la valeur c
    8. afficher "La valeur de a est ", a
    9. afficher "La valeur de b est ", b
    fin algorithme

    Le fonctionnement pas à pas lorsque l’on entre respectivement 2 et 5 pour a et b donne alors :

    Ligne a b c Affichage
    1. 2
    2. 2 5
    3. 2 5 La valeur de a est 2
    4. 2 5 La valeur de b est 5
    5. 2 5 2
    6. 5 5 2
    7. 5 2 2
    8. 5 2 2 La valeur de a est 5
    9. 5 2 2 La valeur de b est 2

    Les valeurs de a et de b ont bien été interverties !

← Retour au chapitre