2次方程式を解く


今回は2次多項式の根を求めるプログラムを作ってみましょう。今,2次多項式 f(x) が

と与えられているとします。良く知られているように,根の公式より f(x)=0 の根は

で与えられます。ここで注意しなければならないのは,ルート(根号)の中身が負の場合は上の解は複素根であり,正の場合は実根となる事です。ですからルート(根号)の中身の符号によって, 場合分けをする必要があります。これを行うプログラムを示しましょう。BASIC では,sqr(d) で d の根号(ルート)を表します。ただし,d は正の数でなければなりません。

サンプルプログラム1

プログラムの解説をします。

プログラムを実行してみましょう。a, b, c の値を聞いてくるので,まず a = 1, b = 1, c = -2 と入力してみます。

となり,根は 1, -2 であることが計算されます。次にもう一度プログラムを実行し,今度は a = 1, b = -4, c = 8 を入力すると,

となって,根が 2 ± 2 i であることが計算されます。