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
Este producto ya no está disponible
Disponible el:
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
Destinatario :
* Campos requeridos
o Cancelar
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.
- 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.
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
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.
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
Excelente lección.
Me gusto
No se requiere registro
Si luego de leer nuestro articulo aun tiene dudas, puede hacer su pregunta utilizando el siguiente formulario.
Si el enlace de descarga redirige a otro producto que no es el descrito en el artículo o está roto, reportarlo usando nuestro