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.
- import java.lang.Math;
- import cs1.*;
- import java.util.*;
- import java.text.*;
- public class Estudi_Estadistic {
- public static double masgrande (double vector []){
- Arrays.sort(vector);
- int f=6;
- boolean trobat=false;
- double grande=0;
- while (f>0 && !trobat) {
- if (vector[f]!=0)
- {
- grande=vector[f];
- trobat=true;
- }
- f--;
- }
- return grande;
- }
- public static void main(String args[])
- {
- String nom_dep="";
- int j=6;
- double mes_gran=0,mes_jove=0;
- double [] vector = new double [7];
- double mitjana, variancia, desviacio,edat1=0, edat2=0, edat3=0, edat4=0, edat5=0, edat6=0, suma=0, suma_var=0;
- System.out.print("Entra el nom del departament: ");
- nom_dep=Keyboard.readString();
- System.out.print("Entra l'edat de la 1a persona: ");
- edat1=Keyboard.readInt();
- System.out.print("Entra l'edat de la 2a persona: ");
- edat2=Keyboard.readInt();
- System.out.print("Entra l'edat de la 3a persona: ");
- edat3=Keyboard.readInt();
- System.out.print("Entra l'edat de la 4a persona: ");
- edat4=Keyboard.readInt();
- System.out.print("Entra l'edat de la 5a persona: ");
- edat5=Keyboard.readInt();
- System.out.print("Entra l'edat de la 6a persona: ");
- edat6=Keyboard.readInt();
- suma=edat1+edat2+edat3+edat4+edat5+edat6;
- vector[1]=edat1;
- vector[2]=edat2;
- vector[3]=edat3;
- vector[4]=edat4;
- vector[5]=edat5;
- vector[6]=edat6;
- if (edat6==0.0) {
- j = j-1;
- }
- if (edat5==0.0) {
- j = j-1;
- }
- if (edat4==0.0) {
- j = j-1;
- }
- if (edat3==0.0) {
- j = j-1;
- }
- if (edat2==0.0) {
- j = j-1;
- }
- if (edat1==0.0) {
- j = j-1;
- }
- mitjana = suma/j;
- if (edat6!=0.0) {
- edat6 = edat6 -mitjana;
- }
- if (edat5!=0.0) {
- edat5 = edat5 -mitjana;
- }
- if (edat4!=0.0) {
- edat4 =edat4 -mitjana;
- }
- if (edat3!=0.0) {
- edat3 = edat3 -mitjana;
- }
- if (edat2!=0.0) {
- edat2 = edat2 -mitjana;
- }
- if (edat1!=0.0) {
- edat1 =edat1 -mitjana;
- }
- suma_var = (Math.pow(edat1,2) + Math.pow(edat2,2)+ Math.pow(edat3,2)
- + Math.pow(edat4,2) + Math.pow(edat5,2) + Math.pow(edat6,2));
- variancia = suma_var/j;
- desviacio = Math.sqrt(variancia);
- System.out.println("-----------");
- System.out.println("Dades del Dpt de "+nom_dep);
- System.out.println("Persones entrades: "+j);
- DecimalFormat df = new DecimalFormat("#.#");
- System.out.println("La mitjana és: "+df.format(mitjana));
- DecimalFormat dj = new DecimalFormat("#.##");
- System.out.println("La variància és: "+dj.format(variancia));
- DecimalFormat dc = new DecimalFormat("#.###");
- System.out.println("La desviació estàndard és: "+dc.format(desviacio));
- Arrays.sort(vector);
- //Mostramos el array ya ordenado
- boolean trobat = false;
- int t=0, f=6;
- while (t<6 && !trobat) {
- if (vector[t]!=0)
- {
- System.out.println("El més gran té "+(int)masgrande(vector)+" anys i el més jove "+(int)vector[t]);
- trobat = true;
- }
- t++;
- }
- }
- }
No hay comentarios:
Publicar un comentario