Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

algorithme a resoudre rapidement!

Posté par
bg2711
25-09-12 à 22:44

bonjour je dois pour demain composer un algorithme  qui donne la plus grande valeur parmis un nombre de nombre indeffini. malheuresement je n y arrive pas pourriez vous m aider?

Posté par
yogodo
re : algorithme a resoudre rapidement! 25-09-12 à 22:46

Bonsoir

Je ne comprends pas trop ce que doit faire ton algorithme, peux-tu l'expliquer un peu plus en détail s'il te plait.

Posté par
bg2711
re : algorithme a resoudre rapidement! 25-09-12 à 22:51

l algorithme a composer consiste a lire plus de 3 valeurs differentes puis afficher la plus grande en utilisant une boucle.

Posté par
mathafou Moderateur
re : algorithme a resoudre rapidement! 26-09-12 à 00:03

bonsoir,

Citation :
parmi un nombre de nombres indefini
la première question à se poser dans ce genre d'algorithme où il faut lire un nombre variable de données non fixé à l'avance est :
quand s'arrêter ??

Il n'y a pas de réponse universelle à une telle question.
Mais déja cela indique que tu ne vas pas pouvoir mettre les nombres entrés dans des variables "fixées" a,b,c,d,e ...
et que en plus, ton Entrée / Lire etc selon le langage, va forcément être dans une boucle

quelque chose du genre :
tant que "il y a des entrées à saisir"
lire ...
traiter ...
fin tant que

on peut aussi faire une "boucle sans fin" avec un
"répéter éternellement" ou un "tant que 1 > 0"
ce qu'il y a après la boucle ne sera JAMAIS exécuté
Pour arrêter le programme, soit on l'arrète sauvagement, soit on le force à "se planter" en lui fournissant un nombre invalide (par exemple en lui tapant "x" en guise de nombre)

Dans ce cas de boucle sans fin, on est bien obligé de traiter les nombres au fur et à mesure ! Il est impossible de faire la recherche une fois que tous les nombres sont saisis et stockés (dans une liste par exemple) : il n'existe aucune instruction qui est exécutée "quand c'est fini" : l'arret du programme se fait en le "plantant" d'une manière ou d'une autre.

donc tu vas avoir quelque chose du genre :

variables :
max // le max actuel au fur et a mesure, max de toutes les valeurs déja saisies
v // la valeur saisie, écrasée au fur et à mesure
nb // le nombre de valeurs saisies (parce que la première est traitée
différemment des autres : il n'y a pas encore de valeur à max !)
debut
nb = 0
tant que 1 > 0 // boucle sans fin
lire v // ici le programme se plante si on lui tape "x"
si c'est la première fois (si nb=0) : max = v
sinon : max est remplacé par le plus grand de max et de v
afficher la valeur actuelle de max
nb + 1
fin tant que
on ne passe jamais ici (boucle sans fin)

on est obligé d'afficher max au fur et à mesure car "à la fin des données" n'exécute aucune instruction du programme : il est abandonné "sauvagement" !

ce n'est bien entendu pas la seule solution au problème posé.

Posté par
bg2711
re : algorithme a resoudre rapidement! 26-09-12 à 18:47

merci pour votre conseil je crois avoir trouver:
lire n (nombre de valeur)
lire v (valeur)
v--->g ( plus grande valeur)
pour i variant de 2 a n
lire v
si v>g
v--->g
finsi
finpour
afficher g

Posté par
mathafou Moderateur
re : algorithme a resoudre rapidement! 26-09-12 à 19:04

impec.
ça devrait marcher (sauf erreur de traduction)

Posté par
bg2711
re : algorithme a resoudre rapidement! 26-09-12 à 21:33

merci



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