0% encontró este documento útil (0 votos)
42 vistas6 páginas

Clase Java para Integral de Riemann

Este documento describe el desarrollo de una clase en Java para calcular el valor aproximado de la integral de una función cualquiera por el método de Riemann. Incluye la definición del problema, análisis de la solución, diseño de la solución, codificación de la clase, ejecución de pruebas y referencias.

Cargado por

Emmanuel amr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
42 vistas6 páginas

Clase Java para Integral de Riemann

Este documento describe el desarrollo de una clase en Java para calcular el valor aproximado de la integral de una función cualquiera por el método de Riemann. Incluye la definición del problema, análisis de la solución, diseño de la solución, codificación de la clase, ejecución de pruebas y referencias.

Cargado por

Emmanuel amr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Universidad Nacional Autónoma de México

Colegio de Ciencias y Humanidades


Plantel Sur
Grupo ____ - Cibernética y Computación II

Nombres de los alumnos del equipo:


(en orden alfabético empezando por apellidos, sólo un representante del equipo entregará la tarea y la
marcará como entregada)
1. - Anguiano García Fernando
2. - Cañedo Rosete Francisco Aldahir
3. - Huerta Castillo Javier Tristán
4. * Motta Reyes Emmanuel
5. - Valles Arévalo Catherine Amanda

Actividad:
Desarrollar una clase en Java que permita calcular el valor aproximado de la integral de una Función
cualquiera por el método de Riemann. Utilizar la metodología de programación orientada a objetos respecto a
la abstracción y encapsulamiento.
Puede implementarse cualquiera de las estructuras cíclicas (for, while o do-while). Comenten cuál les
pareció más adecuada.
Realice las siguientes partes de la documentación (los diagramas pueden hacerse a mano e insertarse con una
fotografía tomada desde el celular).

Definición del problema:


[1] Definición
Desarrollar una clase en Java que permita calcular el valor aproximado de la integral de una función por el
método de Riemann.

[2] Objetivo general


Identificar la solución para resolver una integral de una función por el método de Riemann.

[3] Objetivos particulares


Utilizar la metodología de programación orientada a objetos respecto a la abstracción y encapsulamiento.

[4] Glosario
Función Math.sqrt
Función for while o do while
Implementar get y set
Implementar la solución al diseño de pruebas
[5] Alcance (ahora, futuro)
Calcular el valor aproximado en una Integral utilizando el método de Riemann realizando una clase de java
utilizando la codificación programación orientada a objetos respecto a la abstracción y encapsulamiento.

Análisis de la solución:
[6] Caso(s) de uso.

Calcular la función por


el método de Riemann
de una ecuación.

[7] Diagrama de estados.

Calcular la función por


el método de Riemann
de una ecuación.

[8] Prototipo en modo consola.

Cálculo de las ecuaciones de la integral definida:


Cuál es la forma de las ecuaciones por el método de Riemann.
Dame el valor de delta.
Dame el valor de delta de x.
Dame el valor de a, b y c.
El valor aproximado de la ecuación es: 0.6666666666666666
[9] Excepciones (qué problemas pudiera haber con los datos, valores negativos, igual a
cero, números escritos con letra, …).
Obtener un valor negativo o sin solución.

[10] Diagrama de estados.

Método de Riemann.
Valores de a, b y c:
Delta y Delta de x

Diseño de la solución:
[14] Arquitectura:
BlueJ. Para Windows descargar de http://www.bluej.org/download/files/BlueJ-windows-422.zip
Instalable para Mac, Windows y Ubuntu (Linux): https://bluej.org

Codificación:
[18] Codificar en Java la clase anterior.

public class EcuaciondeSegundoGrado {


private double a;
private double b;
private double c;

public EcuaciondeSegundoGrado (final double a, final double b, final double c) {


this.a = a;
this.b = b;
this.c = c;
}

public double[] calcularRaices() {


final double discriminante = b*b - 4*a*c;

if (discriminante < 0) {
return new double[] {};
} else if (discriminante == 0) {
final double x = -b / (2*a);
return new double[] { x };
} else {
final double x1 = (-b + Math.sqrt(discriminante)) / (2*a);
final double x2 = (-b - Math.sqrt(discriminante)) / (2*a);
return new double[] { x1, x2 };
}
}
public double getA() {
return a;
}

public void setA(final double a) {


if(a!=0)
this.a = a;
else
throw new IllegalArgumentException("El valor de a debe ser distinto a cero.");
}

public double getB() {


return b;
}

public void setB(final double b) {


this.b = b;
}

public double getC() {


return c;
}

public void setC(final double c) {


this.c = c;
}

public String toString() {


return "Ecuación: "
+ ( a==1 ? "" : a ) + "x²"
+ ( b==0 ? "" : (b<0?"":"+") + b + "x" )
+ ( c==0 ? "" : (c<0?"":"+") + c )
+ " = 0 \n"
+ "Raíces: x1 = " + this.calcularRaices()[0] + ", x2 = " + this.calcularRaices()[1];
}

MAiN

public static void mainIntegralDefinida(String[] args) {

// Definimos una función f(x) = x^2 - 1


Function<Double, Double> f = x -> x * x - 1;

// Creamos una instancia de la clase IntegralCalculator


RiemannIntegral calculator = new RiemannIntegral(0, 2, 1000000, f);

// Calculamos el valor aproximado de la integral utilizando el método de Riemann con n=100


double result = calculator.integrate();

// Imprimire el resultado
System.out.println("El valor aproximado de la integral es: " + result);
}

Ejecución de pruebas:
En Repliet se ejecuto y se calculo el valor, utilizando la misma codificación base de la ecuación por el método
de Riemann. Solo se utilizo un main diferente.
Bibliografía y referencias electrónicas:
Avila, J. y Bailón, J. (2022). Análisis y diseño en POO. Portal Académico del CCH, UNAM.
https://bit.ly/3JezMXY
Ávila, J. y Ruíz, C. E. (2022). Lenguaje de programación orientado a objetos con Java. Portal Académico
del CCH, UNAM. https://bit.ly/3j52T5g
Bailón, J. y Baltazar, J. M. (2021). Algoritmos y codificación. Portal Académico del CCH, UNAM.
https://bit.ly/3JftFm6
Ruíz, C. E. y Ávila, A. (2022). Metodología de resolución de problemas. Portal Académico del CCH,
UNAM. https://bit.ly/3JcXTWI

También podría gustarte