Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : calcul de moyenne (avec des sous-moyenne) [ Algorithme / Maths ] (adrienr11vdv)

mercredi 4 octobre 2006 à 14:45:37 | calcul de moyenne (avec des sous-moyenne)

adrienr11vdv

voici le tableau des notes et des coefficients (note et coeff):
12   2
11   1
19   2
 8    4
14   1

le but serai de faire d'abord une moyenne par coefficient puis on calculerai la moyenne final.
en fait, on aurai:
(((12+19)/2)*2+((11+14)/2)*1+8*4)/(2+1+4)

pour faire cela, j'ai rangé les notes par coefficients
11   1
14   1
12   2
19   2
8     4

ensuite j'ai essayé de faire le calcul de la moyenne mais il me met l'erreur imcompatibilité de type.
voici le code pour ranger les notes suivant le coefficient, ce code a l'air de marché.
If txt_note <> "" Then
    tmoy(ar).note = CInt(txt_note.Text)
    tmoy(ar).coef = CInt(txt_coeff.Text)
    ar = ar + 1
End If
num = ar
z = 0
Do While z <> num
    k = z + 1
    l = z + 1
    Do While k <> num + 1
        k = k + 1
        If tmoy(k).coef < tmoy(l).coef Then
            l = k
        End If
    Loop
    var = tmoy(z + 1).coef
    tmoy(z + 1).coef = tmoy(l).coef
    tmoy(l).coef = var
    varn = tmoy(z + 1).note
    tmoy(z + 1).note = tmoy(l).note
    tmoy(l).note = varn
    z = z + 1
Loop

voici le code qui me permet de calculer la moyenne mais il y a un problème
'essai petite moyenne
Do While tmoy(p).coef <> ""
    search = tmoy(p).coef
    Do While tmoy(p).coef = search
        no = no + tmoy(p).note
        nb = nb + 1
        p = p + 1
    Loop
    mo = no / nb
    tmoyg(m).moyenne = mo
    tmoyg(m).nb = nb
    m = m + 1
Loop
For m = 1 To p
    nos = tmoyg(m).moyenne
    nomb = tmoyg(m).nb
    moyterm = moyterm + (nos * nomb)
    moynomb = moynomb + nomb
Next
moyfinal = moyterm / moynomb
txt_dagl.Text = moyfinal

si quelqu'un aurai une solution à mon problème ou si quelqu'un voit une autre solution, j'aimerai qu'il me fasse parvenir ces solutions.
je vous remercie d'avance
coordialement
adrien

jeudi 5 octobre 2006 à 09:13:24 | Re : calcul de moyenne (avec des sous-moyenne)

Visso



VISSO

C'est quoi le but final de ton programme?

jeudi 5 octobre 2006 à 09:45:12 | Re : calcul de moyenne (avec des sous-moyenne)

alosamoelle

Réponse acceptée !

voila j'ai mis 5 textbox pour les notes et 5 pour les coef
il n'est fait que pour 5 notes mais tu peux adapter (et oui je ne fais pas tout le boulot lol) et l'ameliorer car je viens de le faire vite fait
je trouve 12 pour ta moyenne en tout, si tu as des questions n'hesite pas


Dim notecoef1(5) ' note avec coef 1
Dim notecoef2(5) 'note avec coef 2
Dim notecoef4(5) ' note avec coef 4

' met les notes suivant le coef

For a = 0 To 4
If txt_coeff(a) = 1 Then notecoef1(a) = txt_note(a)
If txt_coeff(a) = 2 Then notecoef2(a) = txt_note(a)
If txt_coeff(a) = 4 Then notecoef4(a) = txt_note(a)

Next
' calcul moyenne avec coef
Dim moycoef1
Dim moycoef2
Dim moycoef4
Dim ancien
Dim n1
Dim n2
Dim n4

' calcul moy coef 1
n1 = 0
For a = 0 To 4
ancien = moycoef1
If notecoef1(a) <> "" Then
: moycoef1 = CInt(notecoef1(a) + ancien)
: n1 = n1 + 1
End If
Next
moycoef1 = CInt(moycoef1)

' calcul moy coef 2
n2 = 0
ancien = ""
For a = 0 To 4
ancien = moycoef2
If notecoef2(a) <> "" Then
: moycoef2 = CInt(notecoef2(a) + ancien)
: n2 = n2 + 2
End If
Next
moycoef2 = CInt((moycoef2) * 2)

' calcul moy coef 4
n4 = 0
ancien = ""
For a = 0 To 4
ancien = moycoef4
If notecoef4(a) <> "" Then
: moycoef4 = CInt(notecoef4(a) + ancien)
: n4 = n4 + 4
End If
Next
moycoef4 = CInt((moycoef4) * 4)

' moyenne totale
Dim moytotale

 

moytotale = CInt((moycoef1 + moycoef2 + moycoef4) / (n1 + n2 + n4))





jeudi 5 octobre 2006 à 10:12:29 | Re : calcul de moyenne (avec des sous-moyenne)

Vb Lover

bon, je vois pas vraiment l'intérêt de se compliquer la vie comme ça si le but est simplement d'avoir la moyenne finale pondérée... tu renommes tes variables comme tu veux, et moi je considère que tu as n notes appelées note(i) avec les coefficients correspondants coef(i), et ça donne:

num = 0
den = 0
for i=1 to n
  num = num + note(i)*coef(i)
  den = den + coef(i)
next
moyenne = num / den

voilà, pas besoin de faire plus compliqué!




Cette discussion est classé dans : coef, moyenne, nb, note, tmoy


Répondre à ce message

Sujets en rapport avec ce message

Calcul Moyenne!!!!! [ par Sofie84 ] Salut tt le monde,Mon problème est comme suit:   Je veux calculer une moyenne de 3 controle, note de theorie et note de pratique.   d'abord il faut fa Classement et Notes des Sources sur VBF [ par us_30 ] La note sur une source est le résultat du calcul de la moyenne des notes attribuées. Ce calcul est acceptable dans la mesure où tout un chacun compren Moyenne de note [ par 18avivien73 ] Bonjour a tous,alors voila j'ai un petit probleme que je n'arrive pas à resoudre :J'ai crée un petit prog en vb qui permet de faire la moyenne de 6 no comment trouver l'index d'une cellule dans un range? [ par touf57 ] Bonjour,Je cherche à récupérer l'index d'une cellule dans son range voyez le code.En fait je voudrais me passer de la variable i tout simplement. Je s formule excel NB SI [ par web35 ] Bonjour, je ne sais pas si je poste au bon endroit ! Bon j'ai une formule sur excel =NB.SI(ZONEESTCOMMANDE;"LPIBETA") c'est pour compter sur page dans générer nombre aléatoires avec base de données (connaissant donc moyenne et écart-type) [ par nastynas77 ] Slt à tous! :)Voilà je vous explique mon problème.J'ai une colonne dans mon fichier Excel représentant des relevés de températures sur 8760h (1 année Faire un clavier midi virtuel [ par franckdenos ] BonjourJe debute tout juste la programmation .J'aimerais faire un clavier midi virtuel tres simple.J'ai besoin d'une interface avec une vingtaine de b langage VBS dans un bloc note [ par jeanjeandada ] Bonjour le fourm,                    J'ai lu sur internet qu'on pouvait contrôler Excel à partir d'un bloc note en utilisant le language VBS. Cela est Problème avec Worksheetfunction.average sur objet Range [ par cyllou ] Bonjour, Je rencontre un problème en voulant appliquer la fonction Average (via WorksheetFunction) sur un objet Range. J'essaie simplement d'automatis sur bloc note [ par karouma86 ] bonjour je viens de telecharger bloc note simple mais je ne sais pas comment l executer veuillez m aidé je travaille avec visual studio 2005 merci


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.