Een vierkantsvergelijking \(ax^2+bx+c=0\) met coëfficienten \(a, b, c \in \mathbb{R}\) heeft

Opdracht

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, waarbij de kleinste oplossing op regel twee staat (zie voorbeelden).

Voorbeelden

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

Opmerking

Je moet het hoofdprogramma toevoegen in de gegeven procedure main().

Tips

Hoe lees ik een vierkantsvergelijking in?

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.

Hoe kan ik drie situaties beschrijven met if-else?

gebruik een elif

Mijn oplossing werkt correct indien er 2 nulpunten zijn, maar geeft een fout bij de uitvoering als er geen oplossingen zijn?

Waarschijnlijk probeer je de vierkantswortel te berekenen van een negatieve discriminant.
Bereken eerst de discriminant, en start daarna onmiddellijk met de if-else

Ik krijg soms teveel informatie, die niet correct is.

De volledige berekening en het printen van de resultaten doe je in het if-, elif of else-blok.

Bij een aantal testen op Dodona zijn mijn oplossingen veel te groot.

Om de nulpunten te berekenen moet je delen door 2a. Gebruik haakjes in de code!

Bij een aantal testen op Dodona heb ik teveel decimalen, en is de oefening dus fout.

Het aantal decimalen dat je uitschrijft is in deze oefening niet belangrijk.
Er zal iets anders verkeerd zijn!

Ongeveer de helft van de testen op Dodona zijn correct, maar nooit allemaal.

Er wordt gevraagd om altijd eerst de kleinste oplossing uit te schrijven!

Hoe weet ik welke oplossing de kleinste is?

Voeg een extra if-else toe.