Sovellus: Toisen asteen yhtälön ratkaisut

264 days ago by Lauri_Ruotsalainen

Sovellus: Toisen asteen yhtälön ratkaisut

Lauri Ruotsalainen, 2011

Ohjelma esittää toisen asteen yhtälön ratkaisun vaiheittain ratkaisukaavan avulla. Ohjelmassa ratkaisukaavan diskriminantin väri riippuu siitä, onko sen arvo positiivinen, nolla tai negatiivinen luku. Vastaavasti yhtälöllä on joko kaksi, yksi tai nolla ratkaisua.

Kuvia:

@interact def _(A = slider(-7, 7, 1, 1), B = slider(-7, 7, 1, 1), C = slider(-7, 7, 1, -2)): # Toisen asteen polynomin piirtäminen show(plot(A*x^2 + B*x + C, (-10,10), ymin=-10, ymax=10), aspect_ratio=1, figsize=4) # Diskriminantin laskeminen d = B^2 - 4*A*C # Ratkaisujen määrittäminen diskriminantin arvon perusteella if d < 0: color = "Red" ratkaisu = "\\text{ei ratkaisua}" elif d == 0: color = "Blue" ratkaisu = -B/(2*A) else: color = "Green" a = (-B + sqrt(B^2 - 4*A*C))/(2*A) b = (-B - sqrt(B^2 - 4*A*C))/(2*A) ratkaisu = "\\begin{cases}%s\\\%s\\end{cases}"%(latex(a),latex(b)) # Toisen asteen yhtälön ratkaisukaava dis1="(%s)^2-4*%s*%s"%(B, A, C) dis2="\color{%s}{%s}"%(color, d) html("$Ax^2 + Bx + C = 0$") html("$x = \\frac{-B\pm\sqrt{B^2-4AC}}{2A} = \\frac{-%s\pm\sqrt{%s}}{2*%s} = \\frac{-%s\pm\sqrt{%s}}{%s} = %s$"%(B, dis1, A, B, dis2, 2*A, ratkaisu)) 
       

Click to the left again to hide and once more to show the dynamic interactive window