Aide pour calculer max et min
exceldu33
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je souhaiterai avoir de l'aide pour écrire un algorithme :
- qui demande la saisie de n nombres.
-qui calcule la moyenne des valeurs saisies, la plus grande valeur et la plus petite valeur.
J'ai réussi à écrire la saisie des n nombres, ainsi que le calul de la moyenne des valeurs, mais je n'arrive pas à afficher le max et le min des valeurs. Pouvez-vous m'aider ?
Voila ce que j'ai fait.
sub exo
dim i as integer
dim x as double
dim s as integer
dim n as integer
s=0
n = inputbox("donner un nombre n de valeurs")
while n<=0
msgbox("erreur")
n = inputbox("donner un nombre n de valeurs")
wend
for i = 1 to n
x(i) = inputbox("donner la saisie des n nombres")
s=s+x
next
msgbox(" la moyenne est " & s/n )
end sub
je souhaiterai avoir de l'aide pour écrire un algorithme :
- qui demande la saisie de n nombres.
-qui calcule la moyenne des valeurs saisies, la plus grande valeur et la plus petite valeur.
J'ai réussi à écrire la saisie des n nombres, ainsi que le calul de la moyenne des valeurs, mais je n'arrive pas à afficher le max et le min des valeurs. Pouvez-vous m'aider ?
Voila ce que j'ai fait.
sub exo
dim i as integer
dim x as double
dim s as integer
dim n as integer
s=0
n = inputbox("donner un nombre n de valeurs")
while n<=0
msgbox("erreur")
n = inputbox("donner un nombre n de valeurs")
wend
for i = 1 to n
x(i) = inputbox("donner la saisie des n nombres")
s=s+x
next
msgbox(" la moyenne est " & s/n )
end sub
A voir également:
- Algorithme maximum et minimum de 3 nombres
- Comment calculer la moyenne sur excel - Guide
- Télécharger opera mini pour pc - Télécharger - Navigateurs
- Maj to min - Guide
- Driver max - Télécharger - Pilotes & Matériel
- I14 pro max - Accueil - Guide téléphones
3 réponses
Salut
Dans ta boucle for. Tu vas utiliser une variable max.
Pareil pour min ;)
A toi de le coder
Dans ta boucle for. Tu vas utiliser une variable max.
max=x(1) Pour i de 2 à n Si max < x(i) Alors max=x(i) Fin Pour Afficher max
Pareil pour min ;)
A toi de le coder
D'ailleurs. Tu n'as même pas besoin de tableau.
Ce programme a peut-être plein de fautes (ça fait longtemps le VB ^^). Mais l'idée est bonne. Sauf si tu peux avoir des éléments négatifs (mais bon une note négative, c'est rare ^^). Et une note supérieure à 21, faut être bon ^^.
Mais si ça te gène, tu peux tout simple faire la première itération à part pour initialiser max et min ;)
Ce programme a peut-être plein de fautes (ça fait longtemps le VB ^^). Mais l'idée est bonne. Sauf si tu peux avoir des éléments négatifs (mais bon une note négative, c'est rare ^^). Et une note supérieure à 21, faut être bon ^^.
Mais si ça te gène, tu peux tout simple faire la première itération à part pour initialiser max et min ;)
sub exo dim i as integer dim s as integer dim n as integer dim max as integer dim min as integer n = inputbox("nombre d'element dans la liste :") max=-1 min=21 s=0 for i=1 to n nb=inputbox("element numero" & i: ) if nb>max then max=nb end if if nb<min then min=nb s=s+nb next i msgbox(max) msgbox(min) msgbox(s/n) end sub
slt et merci, mais le problème est que quand je tapes l'algorithme le maximum et le minimum sotn égaux et c'est la saisie du dernier nombre qui est pris en compte. Voila c'est que j'ai fait. Y a t'il une erreur ?
sub exo
dim i as integer
dim x as double
dim s as integer
dim n as integer
dim max as integer
dim min as integer
s=0
n = inputbox("donner un nombre n de valeurs")
while n<=0
msgbox("erreur")
n = inputbox("donner un nombre n de valeurs")
wend
for i = 1 to n
x(i) = inputbox("donner la saisie des n nombres")
s=s+x
next
msgbox(s/n)
max=x(1)
for i = 2 to n
if max<x(i) then
max=x(i)
endif
next
min=x(1)
for i = 2 to n
if min >x(i) then
min=x(i)
endif
next
msgbox(max)
msgbox(min)
end sub
sub exo
dim i as integer
dim x as double
dim s as integer
dim n as integer
dim max as integer
dim min as integer
s=0
n = inputbox("donner un nombre n de valeurs")
while n<=0
msgbox("erreur")
n = inputbox("donner un nombre n de valeurs")
wend
for i = 1 to n
x(i) = inputbox("donner la saisie des n nombres")
s=s+x
next
msgbox(s/n)
max=x(1)
for i = 2 to n
if max<x(i) then
max=x(i)
endif
next
min=x(1)
for i = 2 to n
if min >x(i) then
min=x(i)
endif
next
msgbox(max)
msgbox(min)
end sub
Bjr saly,
En fait j'ai tapé "dim x as double" comme ça car je cherchais désespérement à trouver le max et le min, alors j'ai tout essayé, devrais-je écrire : dim x as integer ? Après je ne sais pas du tout si c'est un tableau, j'essaye de répondre à un exercice que je dois faire. Et on me demande d'écrire un algorithme :
-qui demande la saisie de n nombres
- et qui calcule ; le moyenne, la valeur max et la valeur min
j'ai réussi à faire tout sauf de calculer la valeur max et min
Je ne connais pas grand chose en informatique. Et pouquoi mon min et max sont égaux quand j'éxécute l'algorithme? Pourquoi c'est la saisie de mon dernier nombre qui est pris en compte ?
merci
En fait j'ai tapé "dim x as double" comme ça car je cherchais désespérement à trouver le max et le min, alors j'ai tout essayé, devrais-je écrire : dim x as integer ? Après je ne sais pas du tout si c'est un tableau, j'essaye de répondre à un exercice que je dois faire. Et on me demande d'écrire un algorithme :
-qui demande la saisie de n nombres
- et qui calcule ; le moyenne, la valeur max et la valeur min
j'ai réussi à faire tout sauf de calculer la valeur max et min
Je ne connais pas grand chose en informatique. Et pouquoi mon min et max sont égaux quand j'éxécute l'algorithme? Pourquoi c'est la saisie de mon dernier nombre qui est pris en compte ?
merci
mai il doit initialiser s par x(1) aussi puisque il existe au moin 1 valeur...sinon x(1) ne sera pas considérée..
@+