🐞 Descripción del error
La calculadora actualmente permite realizar operaciones de potenciación que resultan en números complejos (imaginarios), lo cual no es el comportamiento deseado para una calculadora estándar de números reales.
Específicamente, al calcular la raíz cuadrada (o cualquier raíz par) de un número negativo, el sistema devuelve un resultado en formato complejo de Python (ej: ...j).
Ejemplo reportado:
-2 ^ 0.5 resulta en (8.659560562354934e-17+1.4142135623730951j).
Esto es matemáticamente correcto en el dominio de los complejos, pero para el usuario promedio de esta aplicación debería mostrarse como un error, ya que la raíz cuadrada de un negativo no existe en los números reales.
🔁 Pasos para reproducir
- Ingresar un número negativo (ej:
-2).
- Presionar el botón de potencia
^
- Ingresar
0.5 (equivalente a raíz cuadrada).
- Presionar
=.
- Observar el resultado con componente imaginaria (
j).
✅ Comportamiento esperado
El sistema debe validar si la operación resultará en un número complejo y, en su lugar, mostrar un mensaje de error amigable al usuario, como:
- "Error matemático"
- "Entrada inválida"
- "Raíz negativa"
🐞 Descripción del error
La calculadora actualmente permite realizar operaciones de potenciación que resultan en números complejos (imaginarios), lo cual no es el comportamiento deseado para una calculadora estándar de números reales.
Específicamente, al calcular la raíz cuadrada (o cualquier raíz par) de un número negativo, el sistema devuelve un resultado en formato complejo de Python (ej:
...j).Ejemplo reportado:
-2 ^ 0.5resulta en (8.659560562354934e-17+1.4142135623730951j).Esto es matemáticamente correcto en el dominio de los complejos, pero para el usuario promedio de esta aplicación debería mostrarse como un error, ya que la raíz cuadrada de un negativo no existe en los números reales.
🔁 Pasos para reproducir
-2).^0.5(equivalente a raíz cuadrada).=.j).✅ Comportamiento esperado
El sistema debe validar si la operación resultará en un número complejo y, en su lugar, mostrar un mensaje de error amigable al usuario, como: