Buenas de nuevo Tio!!
Este post vamos a ver varios métodos para los dominios que creamos en el post anterior.
Se desarrollaran varios métodos de operaciones trigonométricas y algebraicas en donde dependiendo del dominio se realizan las operaciones, validando que los resultados entren en los dominios mencionados en el primer post.
El único dominio en el que no se realizaron mas métodos fue en el de números complejos ya que estos solo pueden realizar las operaciones básicas que ya se hicieron en el post pasado.
Nota: Todos los resultados de los métodos de los dominios natural entero y racional, se validaron por medio de un mod(%) igual a 0 para verificar que el resultado sea un entero.
los nuevos métodos son los siguientes:
Trigonométricas
- Seno - Seno hiperbólico
- Coseno - Coseno hiperbólico
- Tangente - Tangente hiperbólico
Estas funciones solo fueron aplicadas en el dominio de los reales debido a que la mayoría de los resultados están en este dominio.
Se manejaron radianes en estas operaciones entonces se solicita un parámetro que esta en grados y usando un método se convierte a radianes ahorita mas adelante se va a poder observar mejor.
 |
| Grados a Radianes |
Los métodos de todas las funciones trigonométricas son muy similares ya que lo único que hacen es recibir un parámetro y luego en una variable se realizaba la operación (seno (hiperbólico), coseno (hiperbólico), tangente (hiperbólico)) con la librería Math.
 |
| Coseno |
Algebraicas
Con la ayuda de la librería Math se pueden realizar las operaciones de potencia de forma muy sencilla, ya que puede solicitar un parámetro log base 10 o dos parámetros para cambiar la base, entonces ambos métodos solicitaban 2 parámetros (dependiendo del dominio) se operaba todo en una variable y se retorna el resultado, dependiendo de cada dominio se realizaba una validación para ver si el resultado se encontraba dentro del dominio.
En el caso de los naturales y enteros era muy similar pues ya que la diferencia radica en una validación de negativos para los naturales como lo vimos en el post anterior en la siguiente imagen veremos ambos métodos, en donde .
 |
| Potencia(Entero) |
 |
| Potencia(Natural) |
 |
| Potencia(Entero) |
Con el dominio de racionales solo se realizo la operación (x/y)^b se solicita 3 parámetros donde uno es el numerador, el otro el denominador y la base, implementando también la librería de math se realizan las operaciones. Elevando a la y cada parte se almacena en variables y luego se retorna con formato resn/resd
 |
| Potencia(Racional) |
Ya por ultimo tenemos la potencia del dominio real en donde se realizaron fue bastante sencillo ya que es un dominio muy amplio y no tiene restricciones. simplemente usando la librería math la función pow(potencia) en donde el primer parámetro es la base y el segundo el exponente. La diferencia radica en la inclusión de un parámetro mas para realizar x^y.
 |
| Potencia(Real) |
 |
| Potencia(Real) |
Para poder operar las raíces se debió utilizar la equivalencia de una raíz que es interpretándola como ^(1/2) entonces lo que se hizo fue cambiar el 2 por una variable y así queda la raíz enésima de un numero.
Para el dominio entero se solicita un parámetro de tipo entero y en el natural son dos parámetros también enteros, Entonces en ambos dominios hay una situación muy similar ya que ambos validan que x no sea negativo por que el resultado seria imaginario y no entra en ninguno de los dos dominios.
 |
| Raiz (entero) |
 |
| Raiz (Natural) |
En el caso de los racionales se realiza de la misma forma separando numerador y denominador, y solicita 3 parametros de tipo entero para numerador denominador y raiz y. Entonces se usa la libreria math para la potencia (pow).
 |
| Raiz (Racional) |
Por ultimo en el caso de los reales es sencillo solo son dos parametros tipo entero y validar que el radicado no puede ser negativo, ya despues de eso simplemente usando el pow de la libreria Math dara el resultado y se retornara en un resultao.
 |
| Raiz (Real) |
Para los logaritmos simplemente en la libreria math hay una funcion log en donde solicita dos parametros (el segundo es opcional, ya que si no se coloca realizara en base 10), en donde el primero es el numero y el segundo es la base.
Para todos los dominios se valida que no entren numeros negativos ya que los logaritmos no se puede operar con estos.ademas de validar de que el resultado este entre los dominios.
 |
| Log(real) |
 |
| Log(Entero) |
 |
| Log(Natural) |
 |
| Log(racionall) |
En el factorial solamente se puede realizar en los dominios de natural y de entero, no hay excepciones con los numeros negativos por lo tanto solo estaran restringidos por el dominio (natural. El metodo solicita un parametro de tipo entero y consiste en un ciclo for que multiplica un valor inicial 1 de una variable por el del contador y lo sobre escribe hasta que llegue al numero ingresado y luego retorna el resultado.
 |
| Factorial (Entero) |
 |
| Factorial (Natural) |
Esta ecuaciones se pudieron realizar en los dominios que hemos estado usando, se realizaron de la forma ax + b = 0 donde lo que hicimos fue despejar x para retornar el valor (-b/a).
Naturales
La validacion normal de que no entren negativos, seguido se valida que a no sea negativo debido a la division, hicimos el codigo completo pero la probabilidad de que haya un resultado es casi nula debido a que b siempre sera negativo y nunca entrara en el dominio la respuesta
 |
| Ecuaciones lineales(Natural) |
Enteros
En este dominio si encontramos 1 respuesta, tambien se debe validar que 'a' no sea igual a '0' por lo de la division y simplente se valida que el resultado obtenido pertenesca al dominio.
 |
| Ecuaciones lineales(Natural) |
Racional
En este dominio también hallamos solución que es evaluada para que ver que este en el dominio, lo mismo validación por división, pero en este son 4 parámetros debido a que son dos racionales de la forma '(a1/a2)x + (b1/b2) = 0' entonces al verlo así los valores de 'a1' y 'b2' no pueden ser 0 por que genera error, y después de esto simplemente se opera y se retorna el resultado con formato.
 |
| Ecuacion Lineal (Racional) |
Real
En este dominio solamente se valida que 'a' no sea '0' y se retorna la solucion.
 |
| Ecuacion Lineal (Real) |
Estas ecuaciones solo en el dominio de racionales no se emplearon, se realizaron de la forma 'ax*2 + bx + c= 0' donde lo que hicimos fue despejar x para retornar el valor, usando la formula cuadrática.
 |
| Función cuadrática |
En los naturales solo puede retornar una solución porque no admite negativos, en cambio enteros y reales si hay dos posibles soluciones. Se debe verificar que el resultado de la raíz cuadrada no sea negativo pues genera error, ademas validar que 'a' no sea '0' por la división. en el caso de los naturales y enteros debe evaluar el resultado para que este dentro del dominio. A diferencia del real que simplemente retorna el resultado.
 |
| Ecuación Cuadrática(Natural) |
 |
| Ecuación Cuadrática(Entero) |
 |
| Ecuación Cuadrática(Real) |
Se pudo realizar en los dominós anteriores, simplemente se solicitan 2 parámetros (3 para racional) en donde los naturales y enteros debe validar el resultado para que entre en el dominio, en los naturales ademas deben validar los números negativos, si entran dentro del domino se retorna el resultado en un entero. La forma es (num * % / 100). En los racionales si cambia un poco la operación ya que es un fraccionario se tiene 2 partes de la solución y se muestra en un formato de stringe. En los reales no hay ningún problema solamente se opera y se retorna el resultado en double.
 |
| Porcentaje (Real) |
 |
| Porcentaje (Entero) |
 |
| Porcentaje (Natural) |
 |
| Porcentaje (Racional) |
Bueno minos y minas esto ha sido todo por esta calculadora, espero que alguien vea esto y le sirva :). Por el momento me ire a domir zzZZ.
Link Full Proyecto Mega
Las personas con las que he trabajado el proyecto son
Julian Camilo Plazas Camargo | Juan Camilo Gomez Pinzon
No hay comentarios:
Publicar un comentario