Python au lycée (1) : Les variables Exercices

Algorithme : Echange de variables

Durée estimée
20 minutes
Difficulté
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Objectif travaillé

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

En Python, cet algorithme s'écrit :

a = float(input("Saisir a : "))
b = float(input("Saisir b : "))
print("La valeur de a est", a)
print("La valeur de b est", b)
a = b
b = a
print("La valeur de a est", a)
print("La valeur de b est", b)
  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

    En Python :

    a = float(input("Saisir a : "))
    b = float(input("Saisir b : "))
    print("La valeur de a est", a)
    print("La valeur de b est", b)
    c = a
    a = b
    b = c
    print("La valeur de a est", a)
    print("La valeur de b est", b)

    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 !