Andragradsekvation Python

Från Wikiskola
Version från den 11 februari 2019 kl. 07.51 av Hakan (diskussion | bidrag) (→‎Python-koden)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök
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