begin process at 2012 02 16 17:56:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Algorithme

 > 

Maths

 > 

calcul de moyenne (avec des sous-moyenne)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

calcul de moyenne (avec des sous-moyenne)

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ée 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 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 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 Calcul Moyenne Visual Basin [ par Axeu ] Bonjour à tous, j'ai un peu honte de poser cette question, mais ça fait un bout de temps que j'ai pas travaillé sur VB...je suis + habitué à C/C++: V projet de fin d etude [ par guillooo ] bonjour a tous le monde je suis entrain de raliser mon pfe j ai commence par creer des tablaux sur access 2007 et des relations j ai reussi a connect somme trié dans un datagrid [ par PHILrac45 ] Bonjour à tous, je sais que vous allez répondre à ma question car j'ai toujours trouvé de l'aide ici et je vous en remercie d'avance. code en vb net GESTION DES NOTES DES STAGIAIRE [ par smail287 ] BONJOUR je veut realiser un programme vbnet qui contient 3 form le premier pour le mdi qui contient un menustrip equipe de 2 sous menu le premie gest Compter dans une liste de code le nombre d'occurrence simultanée dans chaque code de 11 et a [ par eltigre85 ] Salut, j'ai un problème sur l'execution de mon code ça m'envoi tjrs zeros. En fait je voudrai compter le nombre de code dans lesquels apparaissent 11 important [ par walo01 ] On souhaite créer un programme en VB Net permettant de calculer la moyenne d'un éléve sachant que les coefficients sont comme suit : Matière Mat


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,394 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales