Moyenne et ecart-type

Soyez le premier à donner votre avis sur cette source.

Snippet vu 31 098 fois - Téléchargée 25 fois

Contenu du snippet

Ce programme subdivisé en 3 classes différentes permet de calculer la moyenne et l'écart-type d'une liste de valeurs que l'utilisateur aura rentré tout en précisant d'abord le nombre de valeur à rentrer...

Merci de me donner vos commentaires.

Source / Exemple :


// Classe principale pour exécution...

public class Average_Ecart
 {
    public static void main (String [] args)
    {
            
      Average q = new Average();
       q.Moyenne(); // appel de la méthodeMoyenne
       
       Ecart d = new Ecart();
        d.cart();// appel de la methode Ecart      
    }
 }  

//----------------------------------------------------------
// la class qui suit doit etre implentée séparemment...
//----------------------------------------------------------

import cs1.Keyboard;
    public  class Average
    {
       final int max = 50;
       static int a ;
       double moyenne;
       
       double somme = 0;
       double t ;
       static double m ; 
      //l'usager devra rentrer 
      public double  Moyenne()
      {
      
        //-------------------------------------------------------------
        //l'usager doit rentrer le nombre de valeurs ...inferieur a 50
        //-------------------------------------------------------------
        System.out.print("Combien de valeurs voudriez-vous rentrer ? :");
        a = Keyboard.readInt();
        if ( a <= max )
        {
          
          int [] list = new int [a];
          //------------------------------------------------
          // donner les valeur correspondant a chaque indice
          //------------------------------------------------
          for (int index = 0; index < list.length; index++)
          {
            System.out.print("Entrer le nombre # "+ (index +1) + ":\n ");
            list[index ]= Keyboard.readInt();
          }
         //-------------------------------------------------
         // Calcul de la moyenne.... en passant par la somme
         //-------------------------------------------------
         for(int b = 0;  b < list.length; b++)
           somme += list[b];
         moyenne = somme/list.length;
         System.out.print("la moyenne est de : " + moyenne +"\n\n");
        
         for (int c = 0; c < list.length; c++)
           t += (list[c] - moyenne)*(list[c] - moyenne);
         m = t/(list.length - 1);
                                      
        }
        else
          System.out.print("Le nombre ne doit pas dépasser 50...\n");
        return moyenne;
         
      } 
    } 

//-------------------------------------------------------------------
// la classa qui suit doit aussi etre implentée séparemment... 
//--------------------------------------------------------------------

    

 public class Ecart extends Average
 { //----------------------------
   // calcul de l'écart type....
   //----------------------------
   
    double ecart ;
       
    public void  cart()
    {   
       //------------------------------------------------
       // Nous élevons la variable m à la puissance 0.5
       // pour trouver la racine carrée de m
       //------------------------------------------------
     if ( a <= max )
     { 
       ecart = Math.pow(m,0.5);
       System.out.println("l'écart type est : "+ ecart);
     }
     else
       System.out.println();
    }
 }

Conclusion :


J'aimerais que vous correspondiez avec moi
merci d'avance.

A voir également

Ajouter un commentaire

Commentaire

pgassie
Messages postés
12
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
13 décembre 2006
-
Salut oh Desthin!

Plusieurs remarques.
- L'entrée des valeurs à la main n'est pas pratique (en cas d'erreur, il faut tout re taper depuis le début ). Fais plutôt un fichier séparé avec des valeurs à la queue-leu-leu séparées par une virgule ou un autre caractère spécial, que tu relis en début de programme avec un bon BufferedReader et un vieux StringTokenizer.

- Tu peux calculer la somme des valeurs au moment où elles arrivent, ça gagne des tours de pédale.

-Pourquoi se limiter à des valeurs entières ?

-Pourquoi se limiter à 50 valeurs ? Les bécanes de maintenant méritent mieux.

-Ta formule de l'écart-type est fausse. Il faut calculer la variance, la somme des carrés des différences entre chaque valeur et la moyenne divisée par le nombre de valeurs, puis l'écart-type par la racine carrée de la variance.
Au passage, Math.sqrt est moins bazooka que pow!

J'hésite à te donner "ma" solution, où serait le plaisir de chercher?
Amicalement,

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.