¿Qué hace este programa?

Import java.util.*;
public class PolinomioGrado2 {
private double a;
private double b;
private double c;
public PolinomioGrado2 (double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public double discriminante () {
return ((b * b) - (4 * a * c));
}
public double s1 () {
return (-b + Math.sqrt (discriminante())) / (2 * a);
}
public double s2 () {
double res=0;
try {
res= (-b - Math.sqrt (discriminante())) / (2 * a);
}
catch (java.lang.Exception e)
{
System.out.println("Errorcito");
}
return res;
}
public String toString () {
return "" + a + "x2 + " + b + "x + " + c;
}
public static void main (String[] args) {
PolinomioGrado2 p = new PolinomioGrado2 (0, 1, 1);
System.out.println (p + " Discriminante: " + p.discriminante());
System.out.println ("Soluciones: " + p.s1 () + ", " + p.s2());
}
}
Por favor quisiera saber que es lo que hace este programa si no es mucha molestia me gustaría que me lo enviaras con comentarios en cada renglo para tener una idea de lo que hace

2 Respuestas

Respuesta
1
import java.util.*;
/* =======================================================================
Definición de la Clase Java y sus atributos
Esta clase representa objetos de Ecuaciones de 2º Grado del estilo
aX2 + bX + c;
Tiene métodos para resolverlos siguiendo la fórmula matemática:
-b (+/-) Raiz Cuadrada(b2 - 4ac)
x = --------------------------------
2a
======================================================================= */
public class PolinomioGrado2 {
private double a;
private double b;
private double c;
/*
Constructor del Objeto.
Para construir el Objeto se le debe pasar los valores a, b y c
que corresponden en una ecuación de 2 grado a:
aX2 + bX + c;
así tengo un objeto que representa a la ecuación.
*/
public PolinomioGrado2 (double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
/*
Método accesorio (Yo lo hubiera hecho private por que no es útil más que
internamente)
Resuelve el subconjunto de la operación
b2 - 4ac
*/
public double discriminante () {
return ((b * b) - (4 * a * c));
}
/*
Resultado 1:
Resuelve la ecuación de 2º Grado que como toda ecuación tiene dos soluciones,
positiva y negativa según la fórmula
-b (+/-) Raiz Cuadrada(b2 - 4ac)
x = --------------------------------
2a
En este caso la de -b + ....
*/
public double s1 () {
return (-b + Math.sqrt (discriminante())) / (2 * a);
}
/*
Resultado 2:
Resuelve la ecuación de 2º Grado que como toda ecuación tiene dos soluciones,
positiva y negativa según la fórmula
-b (+/-) Raiz Cuadrada(b2 - 4ac)
x = --------------------------------
2a
En este caso la de -b - ....
*/
public double s2 () {
double res=0;
try {
res= (-b - Math.sqrt (discriminante())) / (2 * a);
}
catch (java.lang.Exception e)
{
System.out.println("Errorcito");
}
return res;
}
/*
Descripción del Objeto.
Me va a pintar una ecuación con el formato
"ax2 + bx + c"
Como el método es el toString() de la clase Object sobreescrito, no necesito
llamar explicitamente al método. En un contexto JAVA directamente un objeto de
esta clase, me dará una representación del objeto en este formato.
*/
public String toString () {
return "" + a + "x2 + " + b + "x + " + c;
}
/*
Ejecución Principal.
No vale para nada, ya que saca un mensaje con la ejecución de una ecuación
de primer grado (como a vale 0, 0 X x2 = 0). Solo es un ejemplo de uso de
la clase.
*/
public static void main (String[] args) {
PolinomioGrado2 p = new PolinomioGrado2 (0, 1, 1);
System.out.println (p + " Discriminante: " + p.discriminante());
System.out.println ("Soluciones: " + p.s1 () + ", " + p.s2());
}
}
Respuesta
1
De por si no hace nada, no es un programa si no una clase. Eso si la clase lo que hace es implementar una serie de operaciones para polinomios de grado 2, como el discriminantes. Como puedes ver tienes tres variables miembros, a, b, c que almacenan los factores del polinomio, y que estos valores se inicializan al pasárselos como parámetro en el constructor de la clase. El resto ya son solo las operaciones matemáticas necesarias para operar con polinomios.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas