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#
Mostrar 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)
Código de ejemplo copiado
Comparte este ejercicio de C#