Ejercicio
Sistemas Numéricos Avanzados
Objectivo
Desarrolla un programa Python para representar números complejos, que constan de una parte real y una parte imaginaria. Para un número complejo como \( a + bi \) (como 2 - 3i), \( a \) es la parte real y \( b \) es la parte imaginaria.
1. Crea una clase llamada `ComplexNumber` que incluya:
- Un constructor para inicializar las partes real e imaginaria.
- Setters y getters para las partes real e imaginaria.
- Un método `__str__()` que devuelve el número complejo como una cadena en el formato "(a, b)".
- Un método `get_magnitude()` que calcula y devuelve la magnitud del número complejo utilizando la fórmula \( \sqrt{a^2 + b^2} \).
- Un método `add()` para sumar dos números complejos, sumando sus partes real e imaginaria por separado.
2. Luego, cree un programa de prueba para verificar la funcionalidad de la clase `ComplexNumber` creando instancias de la clase, probando los métodos toString, get_magnitude y add, y mostrando los resultados.
Ejemplo de ejercicio de Python
Mostrar código Python
import math
class ComplexNumber:
def __init__(self, real, imaginary):
"""
Constructor that initializes the real and imaginary parts of the complex number.
"""
self.real = real
self.imaginary = imaginary
# Setters and getters for the real part
def set_real(self, real):
self.real = real
def get_real(self):
return self.real
# Setters and getters for the imaginary part
def set_imaginary(self, imaginary):
self.imaginary = imaginary
def get_imaginary(self):
return self.imaginary
# __str__() method to represent the complex number as a string
def __str__(self):
return f"({self.real}, {self.imaginary})"
# Method to calculate and return the magnitude of the complex number
def get_magnitude(self):
return math.sqrt(self.real**2 + self.imaginary**2)
# Method to add two complex numbers
def add(self, other):
real_sum = self.real + other.get_real()
imaginary_sum = self.imaginary + other.get_imaginary()
return ComplexNumber(real_sum, imaginary_sum)
# Test program
if __name__ == "__main__":
# Create two complex numbers
c1 = ComplexNumber(2, -3) # Complex number 2 - 3i
c2 = ComplexNumber(1, 4) # Complex number 1 + 4i
# Display the complex numbers as strings
print(f"Complex Number 1: {c1}")
print(f"Complex Number 2: {c2}")
# Display the magnitude of the complex numbers
print(f"Magnitude of Complex Number 1: {c1.get_magnitude()}")
print(f"Magnitude of Complex Number 2: {c2.get_magnitude()}")
# Add the two complex numbers
sum_result = c1.add(c2)
print(f"Sum of Complex Number 1 and 2: {sum_result}")
Output
Complex Number 1: (2, -3)
Complex Number 2: (1, 4)
Magnitude of Complex Number 1: 3.605551275463989
Magnitude of Complex Number 2: 4.123105625617661
Sum of Complex Number 1 and 2: (3, 1)
Código de ejemplo copiado
Comparte este ejercicio de Python