domingo, 30 de agosto de 2015

Calculadora Cientifica Definicion de dominios



Buenas a todos Tio!

Soy Cristian Suan y esto es c#


En las primeras entradas del blog realizare una calculadora científica por consola , en este post ire comentando sobre varios códigos de los métodos utilizados y al final dejare el link de descarga del proyecto.



La calculadora realizara operaciones entre dominios, los cuales son


Naturales | Enteros | Racionales | Reales | Complejos(Imaginarios)

y las primeras operaciones serán las básicas

Suma | Resta | Multiplicación | División


En donde se tendrán encuenta las excepciones dependiendo de la operación y el dominio.


La calculadora solicitara 2 numeros para realizar las operaciones.



NATURALES

En este dominio la principal excepción es los números negativos, ademas de los resultados decimales de las divisiones

Excepciones realizadas


Para todas las operaciones se realiza la validacion de que ninguno de los 2 numeros ingresados sea negativo


Como se ve en el siguiente codigo, es el metodo de la division en naturales:



En la primera parte del codigo se valida que los numeros ingresados no sean negativos, este codigo es utilizado en los demas metodos. Otra excepcion es la de division por cero entonces para controlar ese error se valida el num2 que es el denominador y si llega a ser 0 arrojara excepcion de division por cero, en caso de no encontrarse con algun error simplemente operara y retornara el resultado de la division, el resultado siempre sera la parte entera del resultado en caso de ser un decimal

Aparte de la excepcion que se maneja en la division tambien se realizo otra para la resta, ya que el resultado puede dar negativo cuando el num2 es mayor al num1 entonces se realizo lo siguiente:



Aparte de la validacion de numero negativo, entra a otra validacion de que num2 no sea mayor que num1 y luego simplemente opera y retorna el resultado. La suma y la multiplicacion solo usan la validacion de numero negativo ya que no requieren de mas excepciones.



Enteros


En esta clase ya no se realiza validacion de numeros negativos por que entran en el dominio, la validacion realizada solo es en la division



RACIONALES


En este dominio se realizan validacion de tipo denominador para validar que no ingrese denominador 0, los metodos implementados en el dominio de los racionales y de los complejos retornaran una cadena de caracteres (String) para darles el formato el cual explicare a continuacion.

El metodo de la division se implementa la validacion de que los denominadores de los numeros a operar no sean 0 como demas metodos y el resultado sera mostrado con un formato:

A diferencia de los demas dominios este solicitara 4 parametros ya que las operaciones serian

[a/b] (+ - * /) [c/d] donde

Numerador> a -->num1 c--> num2

Denominador> b -->den1 d--> den2




La validacion inicial es para que ni b (den1) ni d (den2) sean 0 ya que generara error al operar, entonces se valida que ninguno sea igual a 0, en caso de que alguno sea 0 se generara una excepcion de tipo argumento donde se le indique que algun denominador es 0. Si no hay problema con los racionales ingresados se opera, donde se parte en dos la respuesta, una parte numerador (nres) y otra denominador (dres) para el formato se utiliza el String.Format en donde los numeros dentro de las llaves {} indican la variable. Las otras operaciones tienen la misma validacion inicial y ya lo que cambiaria es la operacion.

REALES

En los metodos de este dominio solo se tiene encuenta la validacion de la division en 0 ya que no requiere de mas.




COMPLEJOS(IMAGINARIOS)


A diferencia de los demas dominios este solicitara 4 parametros ya que las operaciones seria [a + bi] (+ - * /) [c + di] donde

Entera> a -->num1 c--> num2
Imaginariar> b -->numA d--> numB




Como lo mencionaba anteriormente los metodos del dominio de los complejos tambien retorna los resutados con un formato, los metodos son similares solo varian las operaciones, en cada metodo esta explicado como es la operacion y como retorna el resultado.


Bueno esto es todo por este primer post de la Calculadora cientifica, en el siguiente post veremos funciones trigonometricas algebraicas entre otras.




Link: Mega


Las personas con las que he trabajado el código son

Julian Camilo Plazas Camargo | Juan Camilo Gomez Pinzon

1 comentario: