Problema: Hallar la solución de una ecuación de segundo grado. Tomar en cuenta las raíces complejas y las reales.
Lenguaje utilizado: Python
# Calcular las raices de una ecuacion de segundo grado.
# Tomar en cuenta las raices reales e imaginaria.
from decimal import *
# Paso 1: crear la funcion
def solucion(a,b,c):
# devolver las raices reales o imaginarias
# Paso 2: calcular el discriminante
d = b*b - (4*a*c)
# Paso 3: Llevandoso de la matematica detras de esto,
# calculamos las raices dependiendo del discriminante
if d < 0:
#print ("DEBUG: determinante negativo.")
# Si esto sucede, entonces las soluciones son imaginarias.
# La parte real de la solucion sera igual a cero.
xr1 = 0
xi1 = d**0.5/(2*a)
xr2 = 0
xi2 = -(d**0.5/(2*a))
return "Xi1:",xi1, "Xi2:",xi2
elif d > 0:
#print ("DEBUG: determinante postivo")
# Si esto sucede, entonces existen dos soluciones reales distintas
xr1 = -b/(2*a) + (d**0.5)/(2*a)
xi1 = 0
xr2 = -b/(2*a) - (d**0.5) / (2*a)
xi2 = 0
return "X1:",xr1, "X2:",xr2
else:
#print ("DEBUG: determinante igual a cero")
# Si esto sucede, es porque d es igual a cero. En este caso, las soluciones son reales e iguales.
xr1 = -b/(2*a) + (d**0.5)/(2*a)
xr2 = xr1
return "Xr1:",xr1, "Xr2:",xr2
a = input("Coeficiente a: ")
b = input("Coeficiente b: ")
c = input("Coeficiente c: ")
print (solucion(int(a),int(b),int(c)))
Si tienes otra solución más eficiente compártela con la comunidad! Gracias.
dpb, Daniel Peña.
Lenguaje utilizado: Python
# Calcular las raices de una ecuacion de segundo grado.
# Tomar en cuenta las raices reales e imaginaria.
from decimal import *
# Paso 1: crear la funcion
def solucion(a,b,c):
# devolver las raices reales o imaginarias
# Paso 2: calcular el discriminante
d = b*b - (4*a*c)
# Paso 3: Llevandoso de la matematica detras de esto,
# calculamos las raices dependiendo del discriminante
if d < 0:
#print ("DEBUG: determinante negativo.")
# Si esto sucede, entonces las soluciones son imaginarias.
# La parte real de la solucion sera igual a cero.
xr1 = 0
xi1 = d**0.5/(2*a)
xr2 = 0
xi2 = -(d**0.5/(2*a))
return "Xi1:",xi1, "Xi2:",xi2
elif d > 0:
#print ("DEBUG: determinante postivo")
# Si esto sucede, entonces existen dos soluciones reales distintas
xr1 = -b/(2*a) + (d**0.5)/(2*a)
xi1 = 0
xr2 = -b/(2*a) - (d**0.5) / (2*a)
xi2 = 0
return "X1:",xr1, "X2:",xr2
else:
#print ("DEBUG: determinante igual a cero")
# Si esto sucede, es porque d es igual a cero. En este caso, las soluciones son reales e iguales.
xr1 = -b/(2*a) + (d**0.5)/(2*a)
xr2 = xr1
return "Xr1:",xr1, "Xr2:",xr2
a = input("Coeficiente a: ")
b = input("Coeficiente b: ")
c = input("Coeficiente c: ")
print (solucion(int(a),int(b),int(c)))
Si tienes otra solución más eficiente compártela con la comunidad! Gracias.
dpb, Daniel Peña.
No hay comentarios:
Publicar un comentario
Comparte tu opinión con nosotros...