Andragradsekvation Python

Från Wikiskola
Hoppa till navigering Hoppa till sök
Den utskrivbara versionen stöds inte längre och kanske innehåller renderingsfel. Uppdatera din webbläsares bokmärken och använd standardutskriftsfunktionen istället.
Programmeringsuppgift

Python-hjälp och Fler uppgifter

Mål för undervisningen Kom igång med programmering i matematiken.

Målet är att du ska använda program för att utföra matematiska beräkningar. Du bör testa att modifiera algoritmen så att dina beräkningar blir mer effektiva.

Målet är inte att du ska lära dig programmering på matematiklektionen men det är oundvikligt att du ändå lär dig lite Python-kod.


Lös andragradsekvationer med ett Pythonprogram

Uppgift
Andragradsekvationen
  1. Hur gör programmet för att lösa andragradsekvationen?
  2. Gör du på samma sätt?

Python-koden

from math import *

print("Programmet löser en andragradsekvation av typen ax\u00b2+px+q=0\n")
a = float(input("a = "))
p = float(input("p = "))
q = float(input("q = "))

#Division med a
p = p / a
q = q / a

# Vi löser ekvationen med p-q formeln
d = (p / 2)**2 - q   #beräkna värdet för uttrycket under kvadratroten ...
x = - p / 2          # symmetrilinjen

if d < 0:  # Komplexa lösningar
    i = round(sqrt(-d),2)  # beräknar imaginära delen
    print("Två komplexa lösningar: x\u2081 = " + str(round(x,2)) + " + " + str(i) + "i och x\u2082 = " + str(round(x,2)) + " - " +str(i) + "i.")

elif  d == 0: 
    print("En dubbelrot: x = " + str(round(x,2)))
else:
    x1 = round(x+sqrt(d),2)
    x2 = round(x-sqrt(d),2)
    print("Två reella lösningar: x\u2081 = " + str(x1) + " och x\u2082 = " + str(x2))

Uppgiften är inspirerad av Malmö stads Matematisk programmering i Python