Calcul de moyenne sans prendre en compte les deux plus mauvaises notes.

bdegeode Messages postés 1 Date d'inscription vendredi 23 mars 2007 Statut Membre Dernière intervention 24 mars 2007 - 24 mars 2007 à 15:25
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 - 25 mars 2007 à 17:06
bonjour,j' aimerai réaliser un programme sous VB qui me permettrai de calculer une moyenne de note sans prendre en compte les deux plus mauvaises notes.(si 15 13 9 8 et 7 ne pas prendre 8 et 7 dans la moyenne...).Je débute en programation et je me heurte au problème de la suppression des deux plus mauvaises notes dans la moyenne. Un petit  conseil sur le sujet serai très aimable.
Merci!

17 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 mars 2007 à 15:37
salut,
tries en ordre croissant et supprimes les deux premiers

élémentaie, cher Watson...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 mars 2007 à 18:18
Hé Hé, chaibat, à moi de rire un peu sur ton état de fatigue....

Si plusieurs élèves ont les deux même notes les plus basses, ce ne sera pas les 2 premières notes, qu'il faudra oter de la liste triée... mais plus....(je ne trouve pas de smiley danssant la samba...)
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 mars 2007 à 19:10
salut,

les 2 plus mauvaises sont sans doutes bel et bien la quantité.
genre l'élève a eu 4 notes mais les 2 plus basses sont coefficientées à 0.

donc s'il a 11,11,15,19, on gardera uniquement le 15 et le 19

chaibat05 donne presque la bonne solution
"presque" parce que pour raison de facilité, il sera plus pratique de trier dans l'ordre décroissant pour supprimer les 2 derniers
redim preserve montableau(ubound(montableau)-2)

++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 mars 2007 à 19:10
t' inquiètes, je suis encore d' attaque !
Aucun risque avec un trie  sur :
Niveau    Classe   Eleve    Note

j' hésite encore sur le choix du smiley,
je te laisse choisir par toi même 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 mars 2007 à 19:23
Bonsoir PCPT,
judicieux le Redim !
Mais seulement si on devait traiter un élève à la fois.
Or pour ce genre d' exercice, on traite généralement toute une classe.
deux boucles imbriquées seront plus adaptées à ça.
Comme ça on traite directement une source de données,
que je préconise, temporaire.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 mars 2007 à 19:34
bonsoir chaibat05

à la différence que c'est en DotNet.
on peut donc supposer qu'il y aura une class "classe" contenant une collection de class "eleve" contenant les notes (tableau ou encore une class)
la boucle sera donc sur et dans l'objet "classe"

mais sinon oui, juste à faire çà sous forme de fonction ou sub ByRef avec le tableau des notes de chaque élève
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 mars 2007 à 19:36
Ben...
- où est-il dit qu'il s'agit de la moyenne des notes d'un élève et pas de la moyenne des notes d'une classe (pas vu cette précision, moi...) ?


- si l'on retient l'hypothèse de la moyenne des notes d'une classe (calcul fréquent dans l'enseignement), on pourra se trouver dans ce cas de figure :

4,2,9,12,2,2,4,15,10;11,4,2,18,8
et le tri sera (ici en ordre croissant)
2,2,2,2,4,4,4,8,9,10,11,12,15,18

Il va donc bien falloir, avec cette méthode, rechercher à quel moment on a cessé d'augmenter une fois et à quel moment ce résultat sera a nouveau augmenté -(3ème plus basse note ... ici le 8)
Dans un ordre décroissant, ce serait pire ....


 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 mars 2007 à 19:52
certainement PCPT, mais à un moment ou un autre
il faut bien retranscrire le traitement vers la base,
et c' est laborieux si on passe par les tableaux...


jmf,
c' est ça, raccroches-toi à des hypothèses
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 mars 2007 à 20:37
Allez !
Pour ne plus se raccrocher à des hypothèses ....

Revenons sur terre ensemble et revotoins l' "ennoncé" de 1014080 bdegeode

Je dois vous confesser que mon épouse a du m'assister à table pour ne pas que je m'étouffe de rire (ce genre d'accident arrive).

A défaut d'imprécisions, notamment en ce qui concerne ce que l'on écarte : quoi donc, exactement ? Des notes (valeurs, donc) ou les notes obtenues par les 2 plus mauvais éléves ?
- si l'on écarte les 2 plus plus petites valeurs, quel que soit leir nombre, c'est une chose...
- si l'on écarte les notes des deux plus mauvais élèves, c'en est une autre (on n'écarterait ainsi que deux 2, par exemple, y compris s'il y en a 20) mais il faudra alors expliquer comment les deux 2 écartés valaient moins que les 18 conservés !

etc... etc...

en me plaçant dans la 1ère hypothèse (écart de toutes les valeurs correspondant aux 2 valeurs les plus basses), j'arrive très rapidement à une classe de "cadors" à égalité avec une classe de "nuls", les 2 ayant une moyenne infinie ! Il suffit pour celà que tous les élèves aient tous la même note, quelle soit très basse ou très élevée .... ne m'imposez pas, je vous en conjure, une démonstration (elle est tellement évidente)

Dans la seconde hypothèse, on aboutirait à de l'arbitraire absolu, dont je serais reconnaissant qu'on voulût bien m'en exposer les raisons et le mécanisme !

Alors ?

Il m'est arrivé plus d'une fois de pointer du doigt l'absence de certaines précisions qui (justement, chaibat)  permettraient de ne pas faire des échaffaudages sur la lune.

Nous sommes ici les témoins d'un cas on ne peut plus criant de ce que à quoi peuvent conduire les imprécisions et je suggère que l'on attende patiemment les explications claires et très précises de =1014080 bdegeode sur la philosophie et les fondements même de son calcul de miyenne.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 mars 2007 à 20:54
Cette affaire me rappelle une autre affaire, que mes collègues et moi avions appelée "les fous du mois de mars" ...

Je vous l'explique brièvement : un développeur (une, en fait...) avait fait un module bizarre pour calculer si quelqu'un était, en janvier,  dans la tranche d'âge 18 ans - 3 mois.
Nous lui avions fait remarquer que, si son module, tel qu'il était fait,  était utilisé en Mars, il y aurait un sérieux problème (elle arrivait dans ce cas à une division par 0 !...) et elle nous a répondu que nous nous "raccrochions" à une hypothèse improbable...() la fois de lancement en mars de ce qui était prévu en janvier et d'exustence de jeunes gens nés en mars) . Grave erreur ! environ 120 postes sur les 350 répandus dans le monde entier, en retard dans leur travail, ont "lancé" en mars ce qui devait normalement avoir été lancé en janvier ... et la cellule d'assistance dont j'avais la chargé s'est trouvée dans l'incapacité de "réparer" en moins d'une semaine l'ensemble des dégâts causés (il fallait "tricoter" pour réparer)
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 mars 2007 à 23:09
j' espère que vous avez diné...
parce que moi je reviens le ventre plein
et donc je suis prête à chanter..Alors ou en étions nous ?
Ah oui, à la question de savoir s' il s' agit des deux plus
mauvaises
-notes d' un élève
-notes de toute une classe .
-Moyennes des élèves de toute la classe
On écarte la première puisqu' on s' est mis d' accord
et donc pas de contestation là dessus.
 est à écarter
Reste La seconde et la dernière.
D' après mes calculs , si on a 5 notes par élève et sachant
qu' en moyenne on a ...heu...disons 20 élèves par classe.
Tout dépend bien sur de l' école ou du lycée, des régions
voir des pays (car ça peut monter jusqu' à 40 dans certaines
contrées si proches et pourtant si lointaines) .
On retiens donc 20.Ce qui nous fait un total de 100 notes.
J' aimerais bien qu' on s' amuse à supprimer 2 parmi 100
mais il faudrait qu' on m' explique pourquoi ...
Les deux mauvaises moyennes sur 20 serait plus plausibles.
Hypothèse à écarter aussi puisqu' en général on doit avoir la plus
basse et la plus haute moyenne de l' ensemble des moyennes.
Si on supprime deux des plus mauvaises , il y' a là atteinte à la dignité
d' un élève qui est désigné comme le plus mauvais, alors qu' en vérité
il y' a, non pas un , mais deus  plus mauvais que lui.


Je raffole des hypothèse, mais franchement là, il n' y a pas matière.
Et en général quand on répond à un post, on penche toujours vers
 ce qui est le plus plausible. Encore que tout est relatif.

Pardon jmf si je te fatigue encore plus que tu ne l' es,
mais en général, avec un petit sourire  , tout se passe , bien .

bon beh ..bonne fin de soirée alors


 


 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 mars 2007 à 23:23
Re bonsoir chaibat
Alors et avec un sourire :

- Une classe de 20  "cadors" et tous ont 20 (essaye) ====>>> moyenne = infinie et plantage
- Une classe de 20 "nuls" et tous ont 2 (essaye) ======>> moyenne infinie et plantage

sauf si tu m'expliques comment parmi les cadors, tu n'en élimines que 2 (qui seraient moins cadors que les 18 autres)
ou que, parmis les nuls, tu n'en élimines que 2 (qui seraient plus nuls que les 18 autres)

ou encore, comme cette chère Marie-Jeanne (voir ci-dessus), tu m'affirmes que l'on ne peut avoir 20 cadors ayant 15 ou 20 nuls ayant 2 ... et ce sera tout sauf une appriche du développement informatique sans faille.

Voilà et avec non pas un  mais avec mille  sourires, bien qu'ils ne changeront rien à ce qui restera toujours pour moi la nécessité de tout mettre en oeuvre pour ne pas répéter les choix hatifs du genre de ceux qui ont conduit au bug coûteux de l'an 2000 (entre autres). Le développement informatique doit être rigoureux et ne pas laisser place à l'impondérable.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 mars 2007 à 23:23
Ah j' ai ublié ...La philosophie qu' il y' a à supprimer
les plus mauvaises notes d' un élève.
Eh bien tout simplement pour réhausser la moyenne générale de la classe
(Moyenne des moyennes) tout en traitant tous les élèves de la même façon.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 mars 2007 à 23:33
- Une classe de 20  "cadors" et tous ont 20 (essaye) ====>>> moyenne = infinie et plantage
   
non parce qu' on supprime rien aucune note n' est inférieure à unr quelconque autre
même chose pour


- Une classe de 20 "nuls" et tous ont 2 (essaye) ======>> moyenne et plantage


- "sauf si tu m'expliques comment parmi les cadors, tu n'en élimines que 2 (qui seraient moins cadors que les 18 autres)
ou que, parmis les nuls, tu n'en élimines que 2 (qui seraient plus nuls que les 18 autres)


on élimine ni cadors ni nul , puisqu' il ne s' agit pas des moyennes
on élimine juste deux notes parmi 5  pour chaque élève (cador ou nul)


On aura toujours 20 élèves et personne ne manquera à l' appel


 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 mars 2007 à 23:37
Tu te moques de moi ?

Attends un peu (fatigué ou non)

J'ai vu quelqu'un qui a parlé de tri et de suppression à partir du haut ! (ce serait pas toi ?)

Allez... je vais au dodo...
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
25 mars 2007 à 00:01
si tu es encore reveillé...

tri et suppression ...oui mais comme ça




CE1   CE1A     jEAN     5
                                   9 
                                 12
                                 14
                                 14


CE1   CE1A    Marie     8
                                 10
                                 12
                                 15
                                 16


CE1   CE1A     Léo       4
                                   7 
                                 11
                                 11
                                 14
0
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
25 mars 2007 à 17:06
Bonjour,

Effectivement, bdegeode il faudarit nous en dire plus car ton problème, une fois la régle établie doit être assez simple à coder !
En attendant tes préicions !
Phil
0
Rejoignez-nous