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

2 réponses

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
chrichri
 
bah je voie pas comment faire c'est pour sa
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