Estudio Estadístico


Se nos pide hacer un programa que permita hacer un estudio estadístico sobre las edades de las personas que integran una organización.
La muestra está formada por "n" personas convenientemente elegidas y el programa nos tendrá que calcular:
a) La media
b) La varianza
c) La desviación estándar

El programa irá así: (a entrar 0 en la edad finalizaremos el bucle)

Entra el nombre del Departamento: Contabilidad
Entra la edad de la 1 ª persona: 24
Entra la edad de la 2 ª persona: 30
Entra la edad de la 3 ª persona: 25
Entra la edad de la 4 ª persona: 31
Entra la edad de la 5 ª persona: 37
Entra la edad de la 6 ª persona: 0
-------
Datos del Dpto de Contabilidad
Personas entradas: 5
La media es: 29.4
La varianza es: 21.84
La desviación estándar es: 4.673
El mayor tiene 37 años y el más joven 24.


Los cálculos anteriores se han hecho de la siguiente forma:
media:



varianza:


Desviación estándar:


NOTA: Hay que apreciar que la desviación estándar está redondeada a la milésima.


  1.    import java.lang.Math;
  2.    import cs1.*;
  3.    import java.util.*;
  4.    import java.text.*;
  5.    public class Estudi_Estadistic   {
  6.    
  7.       public static double masgrande (double vector []){
  8.          Arrays.sort(vector);
  9.          int f=6;
  10.          boolean trobat=false;
  11.          double grande=0;
  12.          while (f>0 && !trobat) {
  13.          
  14.             if (vector[f]!=0)
  15.             {
  16.                grande=vector[f];
  17.                trobat=true;
  18.             }
  19.             f--;
  20.          }
  21.          return grande;
  22.       }
  23.    
  24.       public static void main(String args[])
  25.       {  
  26.      
  27.          String nom_dep="";
  28.          int j=6;
  29.          double mes_gran=0,mes_jove=0;
  30.          double [] vector = new double [7];
  31.      
  32.      
  33.          double mitjana, variancia, desviacio,edat1=0, edat2=0, edat3=0, edat4=0, edat5=0, edat6=0, suma=0, suma_var=0;
  34.          System.out.print("Entra el nom del departament: ");
  35.          nom_dep=Keyboard.readString();
  36.          System.out.print("Entra l'edat de la 1a persona: ");
  37.          edat1=Keyboard.readInt();
  38.          System.out.print("Entra l'edat de la 2a persona: ");
  39.          edat2=Keyboard.readInt();
  40.          System.out.print("Entra l'edat de la 3a persona: ");
  41.          edat3=Keyboard.readInt();
  42.          System.out.print("Entra l'edat de la 4a persona: ");
  43.          edat4=Keyboard.readInt();
  44.          System.out.print("Entra l'edat de la 5a persona: ");
  45.          edat5=Keyboard.readInt();
  46.          System.out.print("Entra l'edat de la 6a persona: ");
  47.          edat6=Keyboard.readInt();
  48.          suma=edat1+edat2+edat3+edat4+edat5+edat6;
  49.      
  50.          vector[1]=edat1;
  51.          vector[2]=edat2;
  52.          vector[3]=edat3;
  53.          vector[4]=edat4;
  54.          vector[5]=edat5;
  55.          vector[6]=edat6;
  56.              
  57.      
  58.      
  59.        
  60.          if (edat6==0.0) {
  61.             j = j-1;
  62.          }
  63.          if (edat5==0.0) {
  64.             j = j-1;
  65.          }
  66.          if (edat4==0.0) {
  67.             j = j-1;
  68.          }
  69.          if (edat3==0.0) {
  70.             j = j-1;
  71.          }
  72.          if (edat2==0.0) {
  73.             j = j-1;
  74.          }
  75.          if (edat1==0.0) {
  76.             j = j-1;
  77.          }
  78.      
  79.          mitjana = suma/j;
  80.          if (edat6!=0.0) {
  81.             edat6 = edat6 -mitjana;
  82.          }
  83.          if (edat5!=0.0) {
  84.             edat5 = edat5 -mitjana;
  85.          }
  86.          if (edat4!=0.0) {
  87.          
  88.             edat4 =edat4 -mitjana;
  89.          
  90.          }
  91.          if (edat3!=0.0) {
  92.             edat3 = edat3 -mitjana;
  93.          }
  94.          if (edat2!=0.0) {
  95.             edat2 = edat2 -mitjana;
  96.          }
  97.          if (edat1!=0.0) {
  98.             edat1 =edat1 -mitjana;
  99.          }
  100.      
  101.      
  102.          suma_var = (Math.pow(edat1,2) + Math.pow(edat2,2)+ Math.pow(edat3,2)
  103.             + Math.pow(edat4,2) + Math.pow(edat5,2) + Math.pow(edat6,2));
  104.          variancia = suma_var/j;
  105.          desviacio =   Math.sqrt(variancia);
  106.          System.out.println("-----------");
  107.          System.out.println("Dades del Dpt de "+nom_dep);
  108.          System.out.println("Persones entrades: "+j);
  109.          DecimalFormat df = new DecimalFormat("#.#");
  110.          System.out.println("La mitjana és: "+df.format(mitjana));
  111.          DecimalFormat dj = new DecimalFormat("#.##");
  112.          System.out.println("La variància és:  "+dj.format(variancia));
  113.          DecimalFormat dc = new DecimalFormat("#.###");
  114.          System.out.println("La desviació estàndard és:  "+dc.format(desviacio));
  115.      
  116.          Arrays.sort(vector);
  117.      
  118.         //Mostramos el array ya ordenado
  119.          boolean trobat = false;
  120.          int t=0, f=6;
  121.          while (t<6 && !trobat) {
  122.          
  123.            
  124.             if (vector[t]!=0)
  125.             {
  126.            
  127.                System.out.println("El més gran té "+(int)masgrande(vector)+" anys i el més jove "+(int)vector[t]);
  128.                trobat = true;
  129.             }
  130.             t++;
  131.            
  132.          }  
  133.          
  134.      
  135.       }
  136.                                                
  137.    
  138.    }

No hay comentarios:

Publicar un comentario