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. Bovendien moet de ‘kleinste’ wortel eerst uitgeschreven worden, en daaronder de ‘grootste’ wortel.

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 wortels zijn, maar geeft een fout bij de uitvoering als er geen wortels 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 wortels 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 wortel uit te schrijven!

Hoe weet ik welke wortel de kleinste is?

Voeg een extra if-else toe.