Andragradsekvation Python

Från Wikiskola
Hoppa till navigering Hoppa till sök
Python logo and wordmark.svg
Programmeringsuppgift

Python-hjälp och Fler uppgifter

Target 10 points.svg
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