package calculosmatematicos;
/**
*
* @author M.A. Manuel Juan Guereca Tijerina
*/
public class Calculadora {
//Atributos de la clase
private double num1;
private double num2;
private double suma; //Atributo calculado
public Calculadora() {
this.suma = 0;
}
public Calculadora(double num1, double num2) {
this.num1 = num1;
this.num2 = num2;
this.suma = 0;
}
//Getter and Setter
public double getNum1() {
return num1;
}
public void setNum1(double num1) {
this.num1 = num1;
}
public double getNum2() {
return num2;
}
public void setNum2(double num2) {
this.num2 = num2;
}
public double getSuma() {
return suma;
}
public double Suma(){
this.suma = this.num1 + this.num2;
return this.suma;
}
public double SumaAcumulada(double x){
this.suma += x; //suma = suma + x
return this.suma;
}
public double Resta(){
return this.num1 - this.num2;
}
public double Division(){
return this.num1/this.num2;
}
public double Multiplicacion(){
return this.num1 * this.num2;
}
}
package calculosmatematicos;
/**
*
* @author M.A. Manuel Juan Guereca Tijerina
*/
public class CalculadoraProbabilidad extends Calculadora {
private double media;
private double mediana;
private double moda;
private double frecModa;
private double[] datos;
final int N; //N elementos del arreglo
public CalculadoraProbabilidad(double[] datos) {
this.datos = datos;
N = this.datos.length;
}
public CalculadoraProbabilidad() {
N = 0;
}
public double[] getDatos() {
return datos;
}
public void setDatos(double[] datos) {
this.datos = datos;
}
public double getFrecModa() {
return frecModa;
}
public double CalculoMedia(){
double sumatoria = 0.0;
for (int i = 0; i < N; i++){
sumatoria = super.SumaAcumulada(this.datos[i]);
}
return sumatoria/N; //regresa el calculo de la media
}
public double CalculoMediana(){
//Se ordenan todos los numeros de menor a mayor.
double[] datosOrdenados = this.Ordenacion();
//Si hay una cantidad de datos impar se toma el valor central de ellos.
if( this.N % 2 != 0){
this.mediana = datosOrdenados[this.N/2];
}else{
this.mediana = ((datosOrdenados[this.N/2] + datosOrdenados[(this.N/2)+1]))/2;
}
return mediana;
}
public double CalculoModa(){
//Se ordenan todos los numeros de menor a mayor.
double[] datosOrdenados = this.Ordenacion();
double frecModa = 0.0, moda = 0.0;
int tempFrecuencia;
for(int i = 0; i < datosOrdenados.length; i++){
tempFrecuencia = 1;
for(int j = i + 1; j < datosOrdenados.length; j++){
if(datosOrdenados[i] == datosOrdenados[j])
tempFrecuencia ++;
}
if(tempFrecuencia > frecModa){
frecModa = tempFrecuencia;
moda = datosOrdenados[i];
}
}
this.moda = moda;
this.frecModa = frecModa;
return this.moda;
}
public double[] Ordenacion(){
//Algoritmo de la burbuja
double TEMP;
int i, j;
for(i = 0; i < N -1; i++){
for(j = 0; j < N-i-1; j++){
if(this.datos[j] > this.datos[j+1]){
TEMP = this.datos[j];
this.datos[j] = this.datos[j+1];
this.datos[j+1] = TEMP;
}
}
}
return this.datos;
}
}
package calculosmatematicos;
/**
*
* @author M.A. Manuel Juan Guereca Tijerina
*/
public class CalculosMatematicos {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Calculadora C1 = new Calculadora();
C1.SumaAcumulada(3.2);
C1.SumaAcumulada(4.2);
C1.SumaAcumulada(6.2);
C1.SumaAcumulada(7.2);
C1.SumaAcumulada(9.2);
System.out.println("Suma Acumulada: " + Double.toString(C1.getSuma()));
C1.setNum1(2.3);
C1.setNum2(3.4);
System.out.println("Suma de dos numeros " + Double.toString(C1.Suma()));
System.out.println("Resta de dos numeros " + Double.toString(C1.Resta()));
System.out.println("* de dos numeros " + Double.toString(C1.Multiplicacion()));
System.out.println("/ de dos numeros " + Double.toString(C1.Division()));
System.out.println("Valor actual del Atributo Suma: " + Double.toString(C1.getSuma()));
System.out.println("\n|--------------Calculadora Probabilidad------------------|\n");
//Set de datos
double[] datos = {5.4,3.9,3.9,43.2,5.4,10.0,10.0,3.14,5.4,9.0,5.4};
//CalculadoraProbabilidad CP1 = new CalculadoraProbabilidad(datos);
CalculadoraProbabilidad CP1 = new CalculadoraProbabilidad(datos);
//CP1.setDatos(datos);
System.out.println("La media es: " + CP1.CalculoMedia() + "\n");
datos = CP1.Ordenacion();
for(int i = 0; i < datos.length; i++)
System.out.println(datos[i]);
System.out.println("\nLa mediana es: " + CP1.CalculoMediana() + "\n");
System.out.println("\nLa moda es: "+CP1.CalculoModa() + " y su frecuencia es: " + CP1.getFrecModa() );
}
}