Estadisticas

Page 1

ESTADISTICAS

María Guadalupe García Muñoz|Programar o morir UNIVERSIDAD TECNOLOGICA DEL VALLE DE TOLUCA


Contenido OBJETIVO ............................................................................................................................................. 2 EJEMPLO .............................................................................................................................................. 2

MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR

1


OBJETIVO Mediante este código podras enteder como utilizar un switch y la lectura de cadenas por medio de JOptionPane.showInputDialog.

EJEMPLO //Calculo de la promedio, mediana, moda, máximo y mínimo import javax.swing.*; //Creamos una clase llamada Estadistica Basica con 5 estadisticas maximo para crear el switch public class EstadisticaBasica { static int MAX=5; //Creamos el elegir opcion con los 5 calculos y despues las operaciones de cada metodo static int elijeOpcion() { int opcion=0; String cadena=JOptionPane.showInputDialog("Calcular: \n 1)Promedio Ponderado.\n 2)Moda.\n 3)Mediana.\n 4)Máximo.\n 5)Mínimo.\n 6)Reiniciar.\n 7)Salir."); opcion=Integer.parseInt(cadena);

return opcion; }

static int moda(int numero[],int frecuencia[]) { int moda=0,frec=0;

for(int j=0;j<numero.length;j++) if(frecuencia[j]>frec) { MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR

2


frec=frecuencia[j]; moda=numero[j]; } return moda;

}

static int mediana(int numero[],int frecuencia[]) { int med=0,medi=0,indice=0;

int[] frecuenciaAcumulada = new int[MAX]; int[] frecuenciaAcumuladaOrdenada = new int[MAX]; frecuenciaAcumulada[0]=frecuencia[0]; for(int j=1;j<frecuencia.length;j++) frecuenciaAcumulada[j]=frecuenciaAcumulada[j-1]+frecuencia[j];

frecuenciaAcumuladaOrdenada=ordenaArreglo(frecuenciaAcumulada); med=frecuenciaAcumuladaOrdenada[MAX-1]/2;

int k=0; while(med>frecuenciaAcumuladaOrdenada[k]) k++;

medi=frecuenciaAcumuladaOrdenada[k]; MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR

3


return medi; }

static int promedioPonderado(int numero[],int frecuencia[]) { int sum=0,prom=0,n=0; for(int i=0;i<numero.length;i++) { sum=sum+(frecuencia[i]*numero[i]); n=n+frecuencia[i]; } prom=sum/n; return prom; }

static int maximo(int numero[],int frecuencia[]) { int[] frecuenciaOrdenada = new int[MAX]; frecuenciaOrdenada=ordenaArreglo(frecuencia);

return frecuenciaOrdenada[MAX-1]; } static int minimo(int numero[],int frecuencia[]) { int[] frecuenciaOrdenada = new int[MAX]; frecuenciaOrdenada=ordenaArreglo(frecuencia);

MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR

4


return frecuenciaOrdenada[0]; }

static int[] ordenaArreglo(int arreglo[]) {

int k=0; for(int i=1;i<arreglo.length;i++) { for(int j=0;j<arreglo.length-i;j++) { if(arreglo[j]>arreglo[j+1]) {k=arreglo[j+1]; arreglo[j+1]=arreglo[j]; arreglo[j]=k;} } } return arreglo;

} //MAIN aqui solitamos los numeros atra vez de JOptionPane.showInputDialog para la lectura de entrada de datos por teclado public static void main(String[] args) { int opcion=0,retro=0; int numero[]=new int[MAX]; int frecuencia[]=new int[MAX]; String cadena; do{ retro=0;

MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR

5


for(int i=0;i<numero.length;i++) { cadena=JOptionPane.showInputDialog("Igrese numero "+(i+1)+" :"); numero[i]=Integer.parseInt(cadena); cadena=JOptionPane.showInputDialog("Igrese su frecuencia : "); frecuencia[i]=Integer.parseInt(cadena);

} do{ opcion=elijeOpcion(); int moda=0,mediana=0,maximo=0,minimo=0,promedio=0;

switch(opcion) { case 1:promedio=promedioPonderado(numero,frecuencia); JOptionPane.showMessageDialog(null,"Promedio: "+promedio);break; case 2:moda=moda(numero,frecuencia); JOptionPane.showMessageDialog(null,"Moda: "+moda);break; case 3:mediana=mediana(numero,frecuencia); JOptionPane.showMessageDialog(null,"Mediana: "+mediana);break; case 4:maximo=maximo(numero,frecuencia); JOptionPane.showMessageDialog(null,"Máximo: "+maximo);break; case 5:minimo=minimo(numero,frecuencia); JOptionPane.showMessageDialog(null,"Mínimo: "+minimo);break; case 6:retro=1;break; case 7:System.exit(0); default:JOptionPane.showMessageDialog(null,"Ingrese una opción válida..."); MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR

6


} }while(retro==0); }while(retro==1); } }

MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR

7


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.