Manejar numeros complejos personalizados en NET

New product

En este artículo nos muestra como realizar una estructura personalizada para el manejo flexible de números complejos usando NET Framework y Visual Basic NET

Hola en esta oportunidad voy a crear una estructura de datos que puede controlar de forma mucho más flexible los números complejos. Ahora bien, abra quienes digan que el NET Framework posee esta estructura ya implementada, pero a mi parecer le hace falta mayor funcionabilidad y es por esto que decidí desarrollar la mía propia y compartirla por esta vía.

¿Que necesitaba agregar a la estructura?

-  Funcionalidad para leer los números en forma de cadena.

-  Funcionalidad para presentación en polar y rectangular.

-  Operaciones aritméticas básicas con operadores personalizados.

-  Transformación automática Polar->Rectangular y viceversa.

 

¿Cómo se utiliza?

Lo pensé bastante simple de usar:

Construcción

Para iniciar el numero complejo se realiza de la siguiente forma:

Construir un numero complejo (2<30º) en Polar

  'Usando el contructor explicito
Dim NumComplejoA = New NumeroComplejo(2, 30, True)
'Usando el constructor de cadena
Dim NumComplejoB = New NumeroComplejo("2@30")

 

Construir un numero complejo (2+3i) en Rectangular

  'Usando el contructor explicito
Dim NumComplejoC = New NumeroComplejo(2, 3)
'Usando el constructor de cadena
Dim NumComplejoD = New NumeroComplejo("2+3i")

 

Como se puede ver, es bastante simple hacerlo y bueno es importante no confundirse con el constructor explicito ya que el tercer parámetro es opcional y le dice al constructor que tipo de numero complejo va a construir.

Operaciones algebraicas

Una vez el numero complejo está construido, las operaciones algebraicas son simples y se pueden realizar en el mismo código:

   Resp = NumComplejoA + NumComplejoB  'Regresa la suma
Resp = NumComplejoC - NumComplejoA 'Regresa la resta
Resp = NumComplejoC ^ 2 'regresa la potencia 2

 

Notas importantes:

Algunas de las cosas a tener en cuenta a la hora de usar esta estructura son las siguientes:

El constructor de cadena entiende las notaciones decimales tanto por coma (,) y por punto (.) pero a la final hace la conversión usando la función clave csng() que utiliza la notación del sistema. Esto quiere decir que si escribe (1.2+ 12i) y la configuración regional del sistema esta configurado para usar coma (,) habrá un error de sintaxis.

Se sobrescribió la función ToString() para que mostrara el numero en notación polar o rectangular. Esta depende de la propiedad estática Presentación.

Otra cosa importante es que el constructor de cadena entiende las notaciones rectangulares de la forma (a+bi) y también (a+ib). Esta ultima es usada en ingeniería eléctrica/electrónica.

El código fuente:

Aquí les muestro un video donde explico como usar el motor y las recomendaciones finales.

Bueno, chaito. Si le agregan algo más o tienen alguna duda me avisan escribiendo acá abajo en preguntas.

Nos vemos en otra oportunidad. ; )

Escrito por:

Elimar Garcia

19/12/2017

Calificación 
19/12/2017

Excelente lección.

Me gusto

    ¡Escriba su propia reseña!

    Escriba una reseña

    Manejar numeros complejos personalizados en NET

    Manejar numeros complejos personalizados en NET

    En este artículo nos muestra como realizar una estructura personalizada para el manejo flexible de números complejos usando NET Framework y Visual Basic NET

    Haz una pregunta

    No se requiere registro

    Si luego de leer nuestro articulo aun tiene dudas, puede hacer su pregunta utilizando el siguiente formulario.

    (Opcional)
    *(Requerido para ser notificado cuando la respuesta este disponible)

    Si el enlace de descarga redirige a otro producto que no es el descrito en el artículo o está roto, reportarlo usando nuestro

     FORMULARIO DE REPORTE