Operaciones Con Números Complejos En C#

Un número complejo consta de dos partes: una real y una imaginaria. En este ejercicio, crearemos una clase llamada ComplexNumber que nos permitirá representar y realizar operaciones con números complejos.

La clase incluirá:

- Un constructor para inicializar las partes real e imaginaria.
- Métodos getter y setter para acceder y modificar estos valores.
- Un método ToString que devolverá el número complejo como una cadena con el formato (a, b), donde a es la parte real y b es la imaginaria.
- Un método GetMagnitude para calcular la magnitud del número complejo mediante la fórmula sqrt(a² + b²).
- Un método Add para sumar dos números complejos sumando sus respectivas partes real e imaginaria.

Además, se implementará un programa de prueba para demostrar la funcionalidad de la clase mediante la creación de instancias de números complejos, su visualización y la realización de operaciones aritméticas.



Grupo

Clases avanzadas en C#

Objectivo

- Crear una clase ComplexNumber con atributos privados para las partes real e imaginaria.
- Implementar un constructor para inicializar estos atributos.
- Implementar métodos getter y setter para ambos atributos.
- Definir un método ToString para mostrar el número complejo en el formato (real, imaginario).
- Implementar un método GetMagnitude para calcular la magnitud del número complejo.
- Implementar un método Add que tome otro ComplexNumber como parámetro y devuelva la suma de ambos.
- En el método Main, crear instancias de ComplexNumber, mostrar sus valores, calcular su magnitud y sumarlos.

Un número complejo tiene dos partes: la parte real y la parte imaginaria. En un número como a+bi (2-3i, por ejemplo), la parte real sería "a" (2) y la parte imaginaria sería "b" (-3).

Crear una clase ComplexNumber con:

- Un constructor para establecer los valores de la parte real y la parte imaginaria. - Setters y getters para ambos.
- Un método ToString, que devolvería "(2,-3)".
- Un método GetMagnitude, que devolvería la magnitud del número complejo (raíz cuadrada de a² + b²).
- Un método Add, para sumar dos números complejos (la parte real será la suma de ambas partes reales y la parte imaginaria será la suma de ambas partes imaginarias).

Cree un programa de prueba para probar estas funciones.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;

// Class to represent a complex number
class ComplexNumber
{
    // Private attributes for the real and imaginary parts
    private double real;
    private double imaginary;

    // Constructor to initialize the complex number with given values
    public ComplexNumber(double real, double imaginary)
    {
        this.real = real;
        this.imaginary = imaginary;
    }

    // Getter and setter for the real part
    public double GetReal() { return real; }
    public void SetReal(double value) { real = value; }

    // Getter and setter for the imaginary part
    public double GetImaginary() { return imaginary; }
    public void SetImaginary(double value) { imaginary = value; }

    // Method to return the complex number as a string in the format "(real, imaginary)"
    public override string ToString()
    {
        return $"({real}, {imaginary})";
    }

    // Method to calculate the magnitude of the complex number
    public double GetMagnitude()
    {
        return Math.Sqrt(real * real + imaginary * imaginary);
    }

    // Method to add two complex numbers
    public ComplexNumber Add(ComplexNumber other)
    {
        return new ComplexNumber(this.real + other.real, this.imaginary + other.imaginary);
    }
}

// Main program
class Program
{
    static void Main()
    {
        // Create two complex numbers
        ComplexNumber num1 = new ComplexNumber(2, -3);
        ComplexNumber num2 = new ComplexNumber(4, 5);

        // Display the complex numbers
        Console.WriteLine("First Complex Number: " + num1);
        Console.WriteLine("Second Complex Number: " + num2);

        // Calculate and display the magnitude of each complex number
        Console.WriteLine("Magnitude of First Complex Number: " + num1.GetMagnitude());
        Console.WriteLine("Magnitude of Second Complex Number: " + num2.GetMagnitude());

        // Add the two complex numbers and display the result
        ComplexNumber sum = num1.Add(num2);
        Console.WriteLine("Sum of Complex Numbers: " + sum);
    }
}

 Output

First Complex Number: (2, -3)
Second Complex Number: (4, 5)
Magnitude of First Complex Number: 3.605551275463989
Magnitude of Second Complex Number: 6.4031242374328485
Sum of Complex Numbers: (6, 2)

Comparte este ejercicio de C#

Practica más ejercicios C# de Clases avanzadas en C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..