MATH_Moyennes [Statistiques]
Par Antoine Galmiche (Math4D v1)
Nouvelle recherche
Si (Faux)
` MATH_Moyennes [Antoine Galmiche 07/2002 et Teddy LINET 10/2002]
` ---------------------------------------------
` Rappels mathématiques :
` si n est le nombre d'éléments :
` Moyenne arithmétique : somme des éléments divisée par n
` mA = (1/n);Somme(x)
` Moyenne géométrique : produit des éléments à la racine nième
` mG = (Produit(x))exp(1/n)
` Moyenne harmonique : inverse de la somme des inverses des éléments
` somme elle-même divisée par n
` 1/mH = (1/n);Somme(1/x)
` On vérifie toujours : mA >= mG >= mH
` ---------------------------------------------
` MATH_Moyennes (->TableauValeurs; ->MoyArithm; ->MoyGéo; ->MoyHarm)
` TableauValeurs (Pointeur) Pointeur tableau réel des valeurs à analyser
` MoyArithm (Pointeur) Pointeur variable réelle MOYENNE ARITHMETIQUE
` MoyGéo (Pointeur) Pointeur variable réelle MOYENNE GEOMETRIQUE
` MoyHarm (Pointeur) Pointeur variable réelle MOYENNE HARMONIQUE
` ---------------------------------------------
` MATHERROR
` 0 -> Pas d'erreur
` -1 -> Tableau de taille nulle
` ---------------------------------------------
` EXEMPLES
` MATH_Moyennes (->tab;->mA;->mG;->mH)
` si tab contient : 2, 3, 4, 5
` mA = 3,5 ; mG = 3,309;;; ; mH = 3,11688;;;
`
Fin de si
C_ENTIER LONG(MATHERROR)
C_REEL($0)
$0:=0
MATHERROR:=0
C_POINTEUR($1;$2;$3;$4)
C_ENTIER LONG($i;$k)
C_REEL($mA;$mG;$mH)
$k:=Taille tableau($1->)
Si ($k>0)
$mA:=0
$mG:=1
$mH:=0
Boucle ($i;1;$k)
$mA:=$mA+$1->{$i}
$mG:=$mG*$1->{$i}
$mH:=$mH+(1/$1->{$i})
Fin de boucle
$2->:=$mA/$k
$3->:=$mG^(1/$k)
$4->:=$k/$mH
Sinon
MATHERROR:=-1
Fin de si