Een vierkantsvergelijking \(ax^2+bx+c=0\) met coëfficienten \(a, b, c \in \mathbb{R}\) heeft
geen reële wortels als \(\Delta = b^2-4ac < 0\),
één reële wortel, namelijk \(x=\frac{-b}{2a}\) als \(\Delta=0\)
twee reële wortels, namelijk \(x=\frac{-b \pm \sqrt{\Delta}}{2a}\) als \(\Delta>0\)
In het hoofdprogramma lees je de coëfficiënten van de vierkantsvergelijking (\(a, b, c\)) in. Elke reëel getal komt op een afzonderlijke regel.
Het programma schrijft eerst uit hoeveel reële wortels de vierkantsvergelijking heeft: “geen wortels”, “een wortel” of “twee wortels”. Als er één reële wortel is, schrijf deze dan uit als tweede regel van de uitvoer. Als er twee reële wortels zijn, schrijf beide dan uit als tweede en derde regel van de uitvoer. Bovendien moet de ‘kleinste’ wortel eerst uitgeschreven worden, en daaronder de ‘grootste’ wortel.
De vierkantsvergelijking \(x^2 - 5x + 6\).
>>> main()
twee wortels
2.0
3.0
De vierkantsvergelijking \(x^2 + 2\).
>>> main()
geen wortels
De vierkantsvergelijking \(x^2 - x + 0.25\).
>>> main()
een wortel
0.5
Je moet het hoofdprogramma toevoegen in de gegeven procedure main()
.
Er wordt gevraagd om de drie coëfficiënten a, b, c
op aparte regels in te voeren.
Gebruik drie keer input
en zet de ingelezen string telkens om naar een reëel getal met float
.
if-else
?gebruik een elif
Waarschijnlijk probeer je de vierkantswortel te berekenen van een negatieve discriminant.
Bereken eerst de discriminant, en start daarna onmiddellijk met de if-else
De volledige berekening en het printen van de resultaten doe je in het if
-, elif
of else
-blok.
Om de wortels te berekenen moet je delen door 2a
. Gebruik haakjes in de code!
Het aantal decimalen dat je uitschrijft is in deze oefening niet belangrijk.
Er zal iets anders verkeerd zijn!
Er wordt gevraagd om altijd eerst de kleinste wortel uit te schrijven!
Voeg een extra if-else
toe.