Segui la tecnica
- top-down
- input –> elaborazione –> output
1 2 3 4 5 6 7 |
print("ax+b=0") # INPUT a=float(input("a = ")) # ... b=float(input("b = ")) # ... x=-b/a # ELABORAZIONE print("x =", x) # OUTPUT |
Funziona sempre?
Se a <> 0 …
1 2 3 4 5 6 7 8 9 10 |
a=... b=... if(a != 0): # a != 0 x=-b/a risposta="x = "+str(x) if(a == 0) # a == 0 risposta="???" print(risposta) |
Tutti i casi
Con tre selezioni singole è molto semplice (ma poco leggibile)
1 2 3 4 5 6 7 8 9 10 11 12 |
a=... b=... if(a != 0): # a != 0 x=-b/a risposta="x = "+str(x) if(a == 0) and (b != 0): # a == 0, b != 0 risposta="Impossibile" if(a == 0) and (b == 0): # a == 0, b == 0 risposta="Indeterminata" print(risposta) |
Con le selezioni annidate segue la discussione matematica
1 2 3 4 5 6 7 8 9 10 11 12 13 |
a=... b=... if(a != 0): # a != 0 x=-b/a risposta="x = "+str(x) else: if(b != 0): # a == 0, b != 0 risposta="Impossibile" else: # a == 0, b == 0 risposta="Indeterminata" print(risposta) |
Con la selezione multipla è più ordinato
1 2 3 4 5 6 7 8 9 10 11 12 |
a=... b=... if(a != 0): # a != 0 x=-b/a risposta="x = "+str(x) elif(b != 0): # a == 0, b != 0 risposta="Impossibile" else: # a == 0, b == 0 risposta="Indeterminata" print(risposta) |
fractions
Se i coefficienti delle equazioni sono frazioni anche le soluzioni saranno frazioni!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import fractions a=fractions.Fraction(3, 5) b=fractions.Fraction(4, 9) if(a != 0): x=-b/a risp="x = " + str(x) else: if(b == 0): risp="Indeterminata" else: risp="Impossibile" print(risp) |
Output
1 |
x = -20/27 |