Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

algorithmique

Posté par
jazz974
22-01-15 à 12:15


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

Posté par
mathafou Moderateur
re : algorithmique 22-01-15 à 12:42

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..

Posté par
jazz974
algorithme 23-01-15 à 14:43

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

Posté par
mathafou Moderateur
re : algorithmique 23-01-15 à 15:24

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 ...

Posté par
mathafou Moderateur
re : algorithmique 23-01-15 à 15:28

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

Posté par
jazz974
algorithme 26-01-15 à 10:10

merci  beaucoup
je me remet dessus

Posté par
jazz974
re : algorithmique 26-01-15 à 15:22

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

Posté par
mathafou Moderateur
re : algorithmique 26-01-15 à 15:45

ton algorithme est bon

mais ton tableau n'a pas grand chose à voir avec cet algorithme là :

tableau
i j \red t 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 :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1729 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 !