Bonjour quelqu'un peut il m'aider je ne comprends rien
On veut écrire un algorithme permettant d'échanger les valeurs stockées dans deux variables i et j. Un tableau
de fonctionnement des variables (sur la droite de l'algorithme) permet de suivre le contenu des variables i et j.
1) Thomas propose l'algorithme suivant, PERMUTE, pour échanger le contenu de 2 variables :
PERMUTE
Variables
i, j : entier i j
Initialisation ? ?
Choisir i 3 ?
Choisir j 3 4
Traitement
i prend la valeur de j
j prend la valeur de i
Sortie
Afficher i, j
Pour l'algorithme de Thomas, compléter le tableau de fonctionnement des variables en choisissant i=3 et
j=4. Quelle remarque peut-on faire ?
2) Pour faire fonctionner l'algorithme de Thomas correctement, on utilise une nouvelle variable T.
a. Réécrire, en le complétant, l'algorithme de Thomas de façon à ce qu'il fonctionne correctement.
b. Construire un tableau de fonctionnement de cet algorithme avec i = 3 et j = 5 sur le modele de l'algoritme deja écrit
merci beaucoup
Bonjour,
un algorithme c'est la description d'un enchainement d'opérations
on a des "boites" qu'on appelle des variables i, j etc
et dans ces boites on y met des valeurs, ou des résultats de calculs
et on prend le contenu de ces boites pour faire des calculs
et on exécute les opérations décrites, en faisant bien gaffe au contenu des boites
c'est tout
une fois que tu as bien compris ça "les algorithmes" ça devient très facile !!! (ça se compliquera plus tard, ne t'en fais pas, mais pour l'instant c'est très facile)
ensuite quand on recopie un énoncé on le recopie correctement
ce truc que tu as écrit est du baragouin
ce n'est ni un algorithme en langage naturel, ni en langage connu (calculette ou Algobox ou etc)
tu dois très certainement avoir des fautes de frappe (copier coller d'une ligne sur l'autre et oubli de la modifier correctement etc) ou copier coller d'un document avec des caractères exotique traduits ici par des "?"
réecrivons ça proprement :
PERMUTE
Variables : il s'agit de la déclaration des variables que je vais utiliser
i, j : entier elles contiendront des nombres entiers, pour l'instant elles sont vides
Initialisation :
Choisir i : 3 je choisis de mettre la valeur 3 dans la boite (la variable) i
Choisir j : 4 je choisis de mettre la valeur 4 dans la boite (la variable) j
Traitement :
i prend la valeur de j je prends le contenu de la variable j et je le recopie dans la variable i
la variable i contient maintenant 4 et la variable j contient toujours 4
j prend la valeur de i je prends ...
Sortie :
Afficher i, j
(ah si j'ai compris , tu mélangeais le texte de l'algorithme avec un tableau qui est juste à côté ...)
tous les commentaires que j'ai écrit à droite de l'algorithme, on peut les résumer dans un tableau qui dit à chaque instant ce qu'il y a dans les variables.
i j
? ? au départ elles ont vides
3 ? je viens de mettre 3 dans la variable i
3 4 je viens de mettre 4 dans la variable j
etc ...
donc là tu continues ça jusqu'au bout de l'algorithme, ligne par ligne, et tu peux répondre à la question 1.
question 2 : ce que tu observes question 1 est que le contenu initial de la variable i a été "perdu"
l'idée est de le sauvegarder dans la variable t avant de "l'écraser"
essayes..
merci beaucoup j'ai suivi tes conseil pour la question 2 j'ai fait / VALEUR DE i=3 j=4 t =3 ci dessous le tableau
i j t
3 ? ? choisir i
3 4 ? choisir j
3 4 3 choisir t
4 4 3 i prend la valeur de j
4 4 3 j prend la valeur de i
3 4 3 i prend la valeur de t
peux tu me dire si j'ai bien compris
gros merci
bein non, pas du tout.
tu fournis i et j et c'est tout ce que tu donnes comme données à l'algorithme.
le but de cet algorithme est d'échanger les contenus de ces deux variables i et j un point c'est tout.
on a vu question 1 que l'idée de départ
mettre j dans i
mettre i dans j
ne marche pas parce que la valeur initiale de i est détruite et perdue
et donc qu'on va utiliser une autre variable interne t pour servir de "relais"
la première opération est donc de sauvegarder cette valeur de i dans la variable t
pas de "choisir t" !!
pour la question 2 avant d'exécuter l'algorithme (à la main dans un tableau) il faut déja en écrire un d'algorithme,
c'est à dire de modifier l'algorithme de départ en :
PERMUTEbis
Variables :
i, j, t : entier
Initialisation :
Choisir i
Choisir j
Traitement :
t prend la valeur de i la je sauvegarde la valeur initiale de i
i prend la valeur de j maintenant que cette valeur de i à été sauvegardée je peux "écraser" le contenu de i
j prend la valeur de ... de quoi donc ?
Sortie :
Afficher i, j
et ensuite de le tester, par exemple en mettant 3 et 4 comme "choix" de i et j
ou 17 et 23, ou -5 et 12 ou ce que tu veux
cette exécution "à la main" (dans un tableau) n'est pas l'algorithme lui -même !!!
l'algorithme c'est la description statique des opérations qu'il va falloir exécuter
ensuite on le teste avec des valeurs numériques
(ou on réfléchit pour prouver qu'il fonctionne quelles que soient les valeurs numériques)
c'est deux choses différentes :
l'algorithme (la description des opérations à effectuer)
l'exécution de cet algorithme (l'exécution effective de ces opérations avec des valeurs)
ici on te demande avant tout l'algorithme lui-même question 2
comment modifier l'algorithme pour que ...
d'ailleurs la question est particulièrement explicite là dessus
a) modifier l'algorithme (il n'est pas question de valeurs ici)
b) le tester avec les valeurs 3 et 5 histoire de changer un peu, reprendre 3 et 4 ne répond donc pas du tout à la question
Bonjour
j'ai refait l'exercice
PERMUTE bis
Variables :
i, j, t : entier
Initialisation :
Choisir i
Choisir j
Traitement :
t prend la valeur de i
i prend la valeur de j
j prend la valeur de t
Sortie :
Afficher i, j
i = 5 j=4
tableau
i j
? ?
5 ? choisir i
5 4 choisir j
4 4 i prend la valeur de j
4 5 j prend la valeur de t
5 4 afficher i et j
j'espere que j'ai compris maintenant
merci beaucoup de ta réponse
ton algorithme est bon
mais ton tableau n'a pas grand chose à voir avec cet algorithme là :
tableau
i j on a bien aussi une variable qui s'appelle t maintenant non ?
? ? ?
5 ? ? choisir i
5 4 ? choisir j
4 4 i prend la valeur de j ???
l'instruction dans cet algorithme ci est t prend la valeur de i !!
et pas du tout ce "i prend la valeur de j" incongru qui est un reste d'un copier coller de l'autre algorithme
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :