Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Un soupçon d'algorithmique ... boucles & réalisations

Posté par
ryanaruto13
29-10-11 à 13:26

Bonjour à toutes et à tous, pendant ces vacances, j'ai un DM à faire ... Tout va bien mis à part un exercice qui porte sur les algorithmes ... Je l'ai tourné dans tous les sens, mais je n'arrive vraiment pas ! J'espère que vous pourrez m'aider:

" On considère une liste L (indice allant de 1 à N) de réels positifs et le fragment d'algorithme suivant:
   M=O
  Pour J allant de 1 à N
  Si L[J] > M alors M = L[J]
  Afficher M

1- Détailler les étapes dans le cas où N vaut 5 et L contient les valeurs 4, 12, 8, 15 et 3
2- Que réalise cette boucle ?
3- Comment l'adapter pour qu'elle puisse effectuer le même traitement dans le cas où on ne sait rien à l'avance des nombres qui composent la liste ?

Merci d'avance !!

Ryan

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 13:35


2- Que réalise cette boucle ?

tu as un avis ?

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 13:42

C'est justement ça le problème, je n'ai aucun avis ... Je pense que le fait d'être bloqué dès la première question, me bloque le reste de l'exercice ...

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 13:50


détermination du nombre le plus grand de la liste ?

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 13:55

J'ai pas réellement compris votre question, mais le plus grand nombre, je pense, est 15 ...

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 13:56


ce n'était pas une question, mais une suggestion.

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 14:00

Ah ...   Je n'arrive pas à comprendre votre raisonnement

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 14:06

commence alors par répondre à la question 1.

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 14:08

Oui justement c'est que je j'essaie de faire, mais depuis ce matin, je ne réussi pas à avancer à cause de cette question 1

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 14:16

J'ai sans doute l'air d'un cas désespéré mais j'ai vraiment besoin d'aide ...

Posté par
amiss18
explication de l'algo 29-10-11 à 14:38

il faut d'abord comprendre en général ce que fait cet algorithme avant même de répondre à la 1ère question.
Cet algorithme parcourt à l'aide de la boucle POUR une liste L à N éléments.Pendant ce parcourt on compare(à l'aide de SI) la valeur d'un élément avec la valeur de l'élément suivant et si la valeur de l'élément est plus grande on la place dans M.A la fin du parcourt on obtiendra la plus grande valeur de la liste L.

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 14:49

Merci amiss18, que veut dire L[J] svp ?

Posté par
amiss18
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 15:04

1.Détails des étapes pour N=5, L={4, 12, 8, 15 et 3}
  
1ère étape J=1,L[1]=4, N=5,M=0
  Pour J allant de 1 à 5
  Si L[1] > M (4>0 ? vrai)
     alors M = L[1]=4
  Afficher M  (avec M=4)
  
2ème étape : J=2, L[2]= 12, N=5,M=4
   Pour J allant de 2 à 5
   Si L[2] > M (12>4 ? vrai)
      alors M = L[1]=12
   Afficher M (avec M=12)

3ème étape : J=3, L[3]= 8, N=5,M=12
   Pour J allant de 3 à 5
   Si L[3] > M (8>12 ?faux)
   Afficher M (M=12)

4ème étape : J=4, L[4]= 15, N=5,M=12
   Pour J allant de 3 à 5
   Si L[4] > M (15>12 ?vrai)
      alors M = L[4]=15
    Afficher M (avec M=15)

tu peux maintenant faire la 5ème étape en utilisant le même raisonnement que précédemment

Posté par
amiss18
une erreur d'écriture 29-10-11 à 15:11

Pour ma 4ème étape j'aurai dû écrire : Pour J allant de 4 à 5 et non pour J allant de 3 à 5.
Je réecrit la 4ème étape:

4ème étape : J=4, L[4]= 15, N=5,M=12
   Pour J allant de 4 à 5
   Si L[4] > M (15>12 ?vrai)
      alors M = L[4]=15
    Afficher M (avec M=15)

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 15:28

Merci beaucoup !!!!!!
J'espère avoir compris,
étape 5: J=5 ; L[5]=3 ; N=5 M=15
     Pour J = 5
     Si L[5] > M (3>15) --> faux
     Afficher M (avec M=15)

J'espère avoir fait juste ...

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 15:48

Pensez-vous que votre post de 14H38 puisse répondre à la deuxième question ??

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 16:13

J'aimerais savoir si ce que je pense peut être correcte:
2- La boucle permet de trouver la valeur maximale de la liste L
3-Pour l'adapter, il faut certainement continuer jusqu'à qu'il n'y ai plus de valeurs ...
Mais comment faire pour la 3- ?

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 18:01


pour 2/ tu as compris
pour 3/ précise ce qu'on ne connait pas à l'avance :

- le nombre de nombres contenus dans la liste
ou
- la valeur des nombres contenus dans la liste (et qui pourraient être négatifs)

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 18:39

Vous pourriez juste me donner encore quelques indications svp ??
Parce que le nombre de nombre, comme vous dites, est N ... Donc on ne peut rien envisager ...

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 21:46

on va donc considérer qu'on ne connait pas à l'avance
la valeur des nombres contenus dans la liste, et qui
pourraient très bien être négatifs.

Dans ce cas, au lieu d'affecter 0 comme valeur à la variable M,
on lui affecte la 1° valeur de la liste L

soit donc l'instruction : M = L[0]
en lieu et place de M = 0

...

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 21:56

dsl. c'est :

soit donc l'instruction : M = L[1]
car le premier indice de la liste est 1
(et non 0 comme dans certain autre langage)
en lieu et place de M = 0

Posté par
deadinsoul
re : Un soupçon d'algorithmique ... boucles & réalisations 29-10-11 à 22:05

Bonjour désolé de m'imposer dans ce sujet mais j'ai besoin d'aide sur mon post mais personne ne répond plus ==> Devoir Maison TS fonctions

Merci d'avance et encore désolé !

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 10:16

Donc, pour la question 3, il faut juste dire que pour adapter la boucle, nous devons affecter la plus petite valeur à la variable M ?
Donc, L[1] = M ---> M = 0 ???

Posté par
amiss18
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 12:03

non c'est pas la plus petite valeur que nous devons faut affecter à la variable M mais nous devons affecter à la variable M la 1ère valeur (ou 1er élément) d'une liste c-a-d la valeur située à l'indice n°1.
Dans l'algorithme tu remplaces M=0 par M=L[1]
Ensuite optionnellement(ça ne change rien sur le résultat), on boucle à partir de l'élément n°2 de la liste,
donc: Pour J allant de 2 à N.

----------------------
exemple d'une liste: L={50, 5 , 44, 55, 25, 3}
la 1ère valeur de la liste L est 50 et notée L[1], la 2ème valeur est 5 et notée L[2]

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 12:53

Donc, si je comprend bien: 3- Afin de l'adapter, nous devons affecter à la variable M, la 1re valeur de la liste L, soit, L[1] ...
Je ne comprend vraiment pas comment le formuler ...

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 14:28

SVP j'ai vraiment besoin d'aide, ce devoir est à rendre pour la rentrée :/

Posté par
amiss18
3ème question 30-10-11 à 16:42

3-En initialisant la variable M à 0, on exclue toute possibilité pour la liste L de ne contenir que des valeurs négatives auquel cas l'usage de la boucle (POUR)  serait inutile à la situation car la boucle affichera toujours 0 comme valeur maxi (0 est plus grand que n'importe quel nombre négatif). Si en revanche l'on ne sait pas à l'avance les valeurs que contiendra la liste L un moyen d'adapter la boucle par rapport à ce cas serait d'affecter à la variable M une valeur située en tête de liste L (1ère valeur de L) c-a-d M=L[1].

tu comprends mieux maintenant la 3em question?

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 17:23

Oui je comprend ce que vous dites, mais pourquoi utiliser L[1] et pas L[N] par exemple ??

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 19:48

si on maintient la boucle  J allant de 1 à N
on peut initialiser M avec n'importe quelle valeur de la liste L
y compris L[N] ou L[2] ou celle qu'on veut.

...

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 20:11

Ohlalah ... Je suis complètement embrouillé, je dois répondre quoi à la question alors svp ??

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 20:35

faut pas poser de question superflue, si tu veux pas être embrouiller.
dur.. dur.

Citation :
Donc, si je comprend bien: 3- Afin de l'adapter, nous devons affecter à la variable M, la 1re valeur de la liste L, soit, L[1] ...


oui

Citation :

Je ne comprend vraiment pas comment le formuler ...


tu viens de le faire pourtant.
et je ne vois pas ce qu'il y a à reformuler.

Posté par
ryanaruto13
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 20:39

Oui je suis très bizarre je confirme   ... Bah alors merci beaucoup à vous deux de m'avoir aidé, c'est vraiment sympathique !!

Posté par
pgeod
re : Un soupçon d'algorithmique ... boucles & réalisations 30-10-11 à 20:40



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 1724 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 !