Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

exercise a rendre algotithme de permutation

Posté par
isa64
12-12-13 à 19:14

bonjour, j'ai un probleme avec mon exercice car je ne comprends pas ce que le prof veut (je n'étais pas en cours et personne ne peut me dire!)
1)rappeller quel echande de valeurs entre ses variables l'algorythme suivant produit il :
a-> d
b-> c
c-> a
d-> b

je comprends bien variable d prend la valeur a, que c prend la valeur b etc mais il faut ecrire quoi?

puis
2) ecrire un algorithme qui donne à a la valeur de b, à b la valeur de c, à c celle de d et a d celle de a
pour moi ca donne :
c-> a (a prend la valeur de b soit c)
a-> b
b-> c
d-> d

mais que faut il ecrire?

3) on voudrait ecrire un algo qui permute les valeurs de a,b, et c (comme dans 1), et aussi celle de d, e, f, et g (comme dans 2). que proposez vous?

mais il n'y a pas de defg dans le 2!

merci pour votre aide

Posté par
mathafou Moderateur
re : exercise a rendre algotithme de permutation 12-12-13 à 19:41

Bonsoir,

Dans l'algorithme 1 il s'agit de permuter a, b, c

la variable d ne sert que de variable temporaire de travail pour éviter de perdre des infos
le résultat utile de l'algo porte sur les seules variables a, b, c

de même dans le deuxième algorithme on veut le résultat utile = la permutation des variable a, b, c, d
et pour faire ça il te faut une 5ème variable sinon tu perds des infos
donc ton algo 2 est faux et ne correspond pas à ce qui est demandé.

dans le 3ème algo on veut combiner les deux sur deux groupes de variables en même temps
un de 3 variables a,b,c et en même temps un autre de 4 variables d,e,f,g

de 4 variables comme dans l'algo 2
ça ne veut pas dire que dans l'algo 2 les 4 variables qui s'appelaient abcd ont le même nom que les 4 variables defg de l'algorithme 3 !
juste qu'il s'agit de la même méthode : on veut permuter 4 variables.
que ces variables s'appellent abcd (algo 2) ou defg (algo 3) la méthode est la même.

à toi d'écrire un algo qui fait ce qui est demandé en ajoutant au besoin les variables temporaires "de travail" nécessaires pour ne pas perdre d'info au cours dce l'échange.

Posté par
isa64
re : exercise a rendre algotithme de permutation 12-12-13 à 20:33

je n'y comprends vraiment rien

Posté par
isa64
re : exercise a rendre algotithme de permutation 12-12-13 à 20:48

est ce que dois comprendre que algo 1 ET 2 ne sont pas liés et que dans le 2 prendre la valeur de b ce n'est pas prendre la valeur de ce qu'est b dans le 1,
Du coup est ce que pour algo 1 c'est correct de dire que
a prend la valeur de c
b prend la valeur de a
c prend la valeur de b

et pour algo 2
a prend la valeur de b
b prend la valeur de c
c prend la valeur de d
d prend la valeur de a
si c'est ok je me lance dans algo 3

Posté par
mathafou Moderateur
re : exercise a rendre algotithme de permutation 12-12-13 à 21:17

C'est vrai qu'avec un énoncé faux tu ne risques pas de comprendre

je n'avais pas fait attention que ce que tu cites de l'algo 1 est complètement faux et absurde.

ce qu'il aurait dû être (peut être) :

tu prends trois godets
ce sont les variables a, b, c
tu mets dedans 3 billes respectivement rouge, verte et bleue
ce sont les valeurs de ces variables

on veut permuter les billes de sorte que
- on arrive à la fin avec la bille verte dans a, la bleue dans b et la rouge dans c
- on ne déplace qu'une seule bille à la fois
- on ne peut mettre qu'une seule bille dans un godet. si on en met deux, celle qui se trouvait avant dans ce godet est détruite ("écrasée")
- à chaque étape les billes sont toujours dans un godet et pas sur la table

donc il te faut un 4ème godet
exercise a rendre algotithme de permutation

ce godet ne sert à rien d'autre qu'à mémoriser la valeur initiale de la variable a (préserver la bille rouge) pendant qu'on effectue l'échange
pour pouvoir la mettre à la fin dans c pour terminer

maintenant ton énoncé (ta copie d'énoncé) fait ça :
exercise a rendre algotithme de permutation
ce qui est absurde puisqu'on a perdu définitivement la donnée initiale de c (la bille bleue)

j'ai laissé des "phantomes de billes" qui sont en fait des copies, qui restent si on ne met pas quelque chose d'autre dans le godet.
(si on "n'écrase" pas l'ancienne valeur)


maintenant l'algo 2 c'est faire ça avec 4 billes (il te faut donc 5 godets, les 4 de l'énoncé a,b,c,d et un 5ème que tu appelles comme tu veux)

et l'algo 3 c'est avec 7 billes au départ dans 7 godets et on veut permuter
les trois premières entre elles (a,b,c)
et les 4 dernièress entre elles (d,e,f,g)
sans rien détruire
combien te faut-il de godets supplémentaires ? est ce qu'un seul godet supplémentaire suffit ? (réponse oui)

c'est ça cet exo.
bien saisir la différence entre une variable (un godet)
et ce qu'on met dedans : la valeur (les billes)
et que quand on écrit a -> b eh bien l'ancienne valeur de b est définitivement perdue et impossible à retrouver.
on se retrouve avec deux copies de la même valeur : une dans a et une dans b

Posté par
isa64
re : exercise a rendre algotithme de permutation 12-12-13 à 21:54

super et merci j'ai bien compris avec les godets!  
du coup algo 2 etait correct n'est ce pas?

mais je ne coimprends pas ce qu'il faut faire pour le 3 même en "corrigeant" l'enonce du 1

Posté par
mathafou Moderateur
re : exercise a rendre algotithme de permutation 12-12-13 à 22:13

Non
algo 2 est faux car pour permuter les 4 variables il en faut une 5ème.

a prend la valeur de b : a est écrasé l'ancienne valeur de a est définitivement perdue
b prend la valeur de c
c prend la valeur de d
d prend la valeur de a : c'est à dire une copie de l'ancienne valeur de b !!

en appellant A, B, C, D les valeurs initiales des variables a,b,c,d
tu te retrouves à la fin avec B, C, D, B et pas B, C, D, A comme on le voudrait.
il faut avant de commencer "sauver" A dans une 5ème variable t
et à la fin ça se termine par :
d prend la valeur de t (c'est à dire la valeur initiale A de a)


et pour permuter les 7 variables de l'algo 3, tu fais avec une 8ème variable que tu appelles disons t (aucune importance son nom)

avec a,b,c et t tu permutes a,b,c entre elles comme pour l'algo 1
avec d,e,f,g et t tu permutes d,e,f,g comme tu avais fait (si tu l'avais fait) pour les variables a,b,c,d de l'algo 2

Posté par
isa64
re : exercise a rendre algotithme de permutation 12-12-13 à 22:52

merci c'est ok j'ai fait l'algo 3 sans soucis



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !