Python/Su primer programa en Python/Ecuación de segundo grado en Python

La resolución de una Ecuación de Segundo Grado: , como un aplicación en Python, puede ser la siguiente, desarrollado según la Programación Estructurada, y fundamentada en la condición if, descompone el problema de resolver la ecuación en los posibles subcasos o casos sencillo para resolver cada uno por separado.

El script

editar
print('    Resolver una ecuación de segundo grado.')
print('')

print('    ax² + bx + c = 0')
print('')

a=float(input('    Valor de: a = '))
b=float(input('    Valor de: b = '))
c=float(input('    Valor de: c = '))
print('')

if a == 0 and b == 0 and c == 0:
    print('caso: 0')
    print('    0 = 0; cierto, no hay ecuación.')
    
elif a == 0 and b == 0 and c != 0:
    print('caso: 1')
    print('    0 =', str(c), '; falso, no hay ecuación.')
    
elif a == 0 and b != 0 and c == 0:
    print('caso: 2')
    print('    Ecuación de priner grado.')
    print('    x = 0')
    
elif a == 0 and b != 0 and c != 0:
    print('caso: 3')
    print('    Ecuación de priner grado.')
    print('    x =', str(-c/b))
    
elif a != 0 and b == 0 and c == 0:
    print('caso: 4')
    print('    Ecuación de segundo grado.')
    print('    Solución doble real.')
    print('    x1 = x2 = 0')
    
elif a != 0 and b == 0 and c != 0:
    if a*c < 0:
        print('caso: 5.1')
        print('    Ecuación de segundo grado.')
        print('    Con dos soluciones reales.')
        print('    x1 = ', str((-c/a)**(1/2)))
        print('    x2 =', str(-(-c/a)**(1/2)))
        
    else:
        print('caso: 5.2')
        print('    Ecuación de segundo grado.')
        print('    Con dos soluciones imaginarias.')
        print('    x1 = ', str((c/a)**(1/2)), 'i')
        print('    x2 =', str(-(c/a)**(1/2)), 'i')

elif a != 0 and b != 0 and c == 0:
    print('caso: 6')
    print('    Ecuación de segundo grado.')
    print('    Con dos soluciones reales.')
    print('    x1 = 0')
    print('    x2 =', str(-b/a))

elif a != 0 and b != 0 and c != 0:
    discri= b**2-4*a*c
    if discri < 0:
        print('caso: 7.1')
        print('    Ecuación de segundo grado.')
        print('    Con dos soluciones complejas.')
        print('    x1 =', str(-b/2/a), '+', str( (-discri)**(1/2)/2/a), 'i')
        print('    x2 =', str(-b/2/a), '-', str( (-discri)**(1/2)/2/a), 'i')

    elif discri == 0:
        print('caso: 7.2')
        print('    Ecuación de segundo grado.')
        print('    Solución doble real.')
        print('    x1 = x2 =', str(-b/2/a))
              
    elif discri > 0:
        print('caso: 7.3')
        print('    Ecuación de segundo grado.')
        print('    Con dos soluciones reales.')
        print('    x1 =', str((-b+discri**(1/2))/2/a))
        print('    x2 =', str((-b-discri**(1/2))/2/a))

    else:
        print('Este caso no puede darse. ¿Por que? 1')

else:
    print('Este caso no puede darse. ¿Por que? 2')

Véase también

editar

Python: Índice · Introducción · Enlaces

 

Instalación de Python · Generalidades · Funciones, constantes nativas · Tipos de datos nativos · Herramientas de control de flujo · Definición de funciones · Leer y escribir archivos · Su primer programa en Python · Entrada y salida · Estructuras de datos · Errores y excepciones

Interfaces gráficas · Módulos relacionados con el sonido · Módulos relacionados con el tiempo · Módulos relacionados con la matemática


Referencias

editar