次に示すプログラムは、二次方程式
の係数a,b,c( )を実数値の入力として読みこんで、
実根が存在するときには2つの実根を出力するプログラムです。
2次方程式の根の公式によると判別式を
とおくと、二つの根は、
ならば
D < 0ならば
でした。これに素直に従ってプログラムを作成すると、
program eq1(input,output); var a, b, c, d, sd, x1, x2 : real; begin read(a,b,c); if a = 0 then writeln('a should be non-zero') else begin d := sqr(b) - 4*a*c; if d >= 0 then begin sd := sqrt(d); x2 := (-b - sd)/(2*a); x1 := (-b + sd)/(2*a); writeln(x1); writeln(x2) end else writeln('Imaginary root') end end.
となります。