Andragradsekvation Python: Skillnad mellan sidversioner

Från Wikiskola
Hoppa till navigering Hoppa till sök
(Skapade sidan med 'Kategori:Python Kategori:Ma2c Kategori:Algebra {{python|Python-hjälp och [https://wikiskola.se/index.php?title{{=}}Kategori:Python Fler uppgifter]}}...')
 
 
Rad 23: Rad 23:
from math import *
from math import *


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


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


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


if d < 0:  # Komplexa lösningar
if d < 0:  # Komplexa lösningar

Nuvarande version från 11 februari 2019 kl. 07.51

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