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 であることが計算されます。