Estadisticas
-
Upload
morita-munoz -
Category
Documents
-
view
215 -
download
0
description
Transcript of Estadisticas
ESTADISTICAS
María Guadalupe García Muñoz|Programar o morir UNIVERSIDAD TECNOLOGICA DEL VALLE DE TOLUCA
MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR
1
Contenido OBJETIVO ............................................................................................................................................. 2
EJEMPLO .............................................................................................................................................. 2
MARÍA GUADALUPE GARCÍA MUÑOZ|PROGRAMAR O MORIR
2
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
3
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
4
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
5
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
6
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...");