Correction algo

chrichri -  
 Utilisateur anonyme -
Bonjour,
voila j'ai un souchi (lol) avec mon algo je ne sait pas trop comment m'y prendre il faut que je place dans x le plus petit des nombres dans y le plus grands j'ai fait sa

(algo)

var

x, y,z = entier

début

afficher ("donnez x")
saisir (x)
afficher ("donnez y")
saisir (y)

si x > y
. alors z <- x, y <- x, x <- y
. sinon si x < y
. . alors x <- x y <- y
. FSI
FSI

FIN

je bug dans le si pour la permutation

pouvais vous m'aider
Configuration: Windows XP
Firefox 3.0.3

2 réponses

  1. Utilisateur anonyme
     
    En effet tu n'as pas l'air d'avoir bien compris l'utilité de la variable temporaire (le plus souvent) pour faire une interversion de valeurs.

    Si tu fais x <- y, puis y <- x
    En prenant x = 2, et y = 5
    la première étape place 5 dans x, et la deuxième place x (qui vaut maintenant 5) dans y => résultat t'as perdu ton 2

    La 3ème variable sert à faire une boucle. Certains profs l'appellent "variable tampon".
    z <- x
    x <- y
    y <- z

    Ainsi, les valeurs se "rebouclent" et l'interversion se fait bien.

    Remarque concernant ton sinon
    l'intruction x <- x est inutile, cela correspond à "je mets x dans x" ... mettre n billes dans un sac qui en a déjà n, ça revient à ne rien faire du tout.
    1
  2. chrichri
     
    bah je voie pas comment faire c'est pour sa
    1
    1. Utilisateur anonyme
       
      Bah pour la correction de ton algo, je t'ai répondu au milieu de ma réponse précédente pour l'interversion.
      Et dans le Sinon, t'y mets rien. Donc pas de sinon
      0