Affronta il problema con metodologia top-down
1 2 3 4 5 6 7 8 9 10 11 |
import math a=float(input("a = ")) # INPUT b=float(input("b = ")) c=float(input("c = ")) x1=(-b-math.sqrt(b**2-4*a*c))/(2*a) # ELABORAZIONE x2=(-b+math.sqrt(b**2-4*a*c))/(2*a) print("x1 =", x1) # OUTPUT print("x2 =", x2) |
Approfondimento 1
Se il discriminante è positivo / nullo / negativo allora..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import math a=float(input("a = ")) b=float(input("b = ")) c=float(input("c = ")) delta=b*b-4*a*c if(delta >= 0): x1=(-b-math.sqrt(delta))/(2*a) x2=(-b+math.sqrt(delta))/(2*a) print("x1 =", x1) print("x2 =", x2) else: print("Discriminante negativo.") |
Approfondimento 2
Con selezione multipla
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import math a=float(input("a = ")) b=float(input("b = ")) c=float(input("c = ")) delta=b*b-4*a*c if(delta > 0): x1=(-b-math.sqrt(delta))/(2*a) x2=(-b+math.sqrt(delta))/(2*a) print("x1 =", x1) print("x2 =", x2) elif(delta == 0): x=-b/(2*a) print("x1 = x2 =", x) else: print("Discriminante negativo.") |
Approfondimento 3
Se il coefficiente a è nullo allora si tratta di una equazione di primo grado
1 2 3 4 5 6 |
... if(a == 0): print("Equazione di I grado") else: ... |
Approfondimento 4
Tutti i casi
- di primo grado
- una radice
- infinite radici
- nessuna radice
- di secondo grado
- 2 radici (reali distinte)
- una radice (2 radici reali coincidenti)
- 2 radici complesse (coniugate)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import math a=float(input("a = ")) b=float(input("b = ")) c=float(input("c = ")) if(a == 0): # bx+c=0 if(b != 0): x=-c/b print("x =", x) else: if(c == 0): print("Indeterminata") else: print("Impossibile") else: delta=b*b-4*a*c if(delta > 0): x1=(-b-math.sqrt(delta))/(2*a) x2=(-b+math.sqrt(delta))/(2*a) print("x1 =", x1) print("x2 =", x2) elif(delta == 0): x=-b/(2*a) print("x =", x) else: xr=-b/(2*a) xi=math.sqrt(-delta)/(2*a) x1=complex(xr,xi) x2=complex(xr,-xi) print("x1 =", x1) print("x2 =", x2) |