4.1.4.
Otro ejemplo: resolución de ecuaciones de segundo grado
Para afianzar los conceptos presentados (y aprender alguno nuevo), vamos a presentar otro ejemplo. En esta ocasión vamos a resolver ecuaciones de segundo grado, que son de la forma ax 2 + bx + c = 0.
¿Cuáles son los datos del problema? Los coeficientes a, b y c. ¿Qué deseamos calcular? Los valores de x que hacen cierta la ecuación. Dichos valores son: x1 =
−b +
√
b2 − 4ac 2a
y
Un programa directo para este cálculo es: 1 2 3 4 5 6 7 8 9
10 11 12
from math import sqrt print a b c
x1 x2
float input float input float input b b
sqrt b 2 sqrt b 2
x2 =
−b −
√
b2 − 4ac . 2a
La función sqrt calcula la raíz cuadrada de un número.
4 a c 4 a c
2 2
a a
format x1
Ejecutemos el programa:
x2
Un problema evidente de nuestro programa es la división por cero que tiene lugar cuando a vale 0 (pues entonces el denominador, 2a, es nulo). Tratemos de evitar el problema de la división por cero del mismo modo que antes, pero mostrando un mensaje distinto, pues cuando a vale 0 la ecuación no es de segundo grado, sino de primer grado. 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15
from math import sqrt print a b c
if a if a
float input float input float input
0 x1 x2 print 0 print
b b
La función sqrt calcula la raíz cuadrada de un número.
sqrt b 2 sqrt b 2
4 a c 4 a c
Andrés Marzal / Isabel Gracia / Pedro García - ISBN: 978-84-697-1178-1
2 2
103
a a
format x1
x2
Introducción a la programación con Python 3 - UJI - DOI: http://dx.doi.org/10.6035/Sapientia93