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