Maths-cours

COURS & EXERCICES DE MATHÉMATIQUES

Close

Algorithme : Echange de variables

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 !