2 +bX +c =0 aX
a D b
2
±
−
ac b
D= 2−4
Kvadratická rovnice s reálnými kořeny
Zadání:
Vytvořte program, ve kterém uživatel zadá koeficienty kvadratické rovnice, z nichž program vypočte kořeny této rovnice.
Máme tedy kvadratickou rovnici ve tvaru:
Vstup programu: koeficienty a, b, c
Výstup programu: kořeny kvadratické rovnice x1, x2
Rozbor:
Vzorec pro výpočet kvadratické rovnice:
Proměnné použité v programu:
A, B, C ...konstanty rovnice zadávané uživatelem [Integer]
D ...pomocná proměnná představující diskriminant [Integer]
X1, X2 ...hledané kořeny kvadratické rovnice [Real]
Logické sestavení programu:
Po zadání konstant A, B, C uživatelem budeme muset zjistit, zda se opravdu jedná o kvadratickou rovnici. Tedy zda je konstanta A nenulová.
1) Pokud je konstanta A nenulová, jedná se opravdu o kvadratickou rovnici a je potřeba vypočítat diskriminant. Dále je potřeba diskriminant otestovat, jestli je nezáporný.
Tedy zda má rovnice řešení v oboru reálných čísel.
I. Pokud je diskriminant nezáporný, můžeme rovnici spočítat a vyjdou nám dva kořeny.
II. Pokud je diskriminant záporný, nelze rovnici spočítat v oboru reálných čísel.
2) Pokud je konstanta A nulová, rovnice nám degradovala na lineární. Je tedy potřeba otestovat zda i konstanta B je nenulová.
I. Pokud je konstanta B nenulová, jednoduše lineární rovnici spočteme a vyjde nám pouze jeden kořen.
II. Pokud je konstanta B nulová, musíme tedy otestovat i konstantu C zda je nenulová.
a) Pokud je konstanta C nulová, zbylo nám z rovnice 0 = 0, což znamená, že rovnice má nekonečně mnoho řešení.
b) Pokud je konstanta C nenulová, tak rovnice nemá žádné řešení.