<課題>
二分探索法を使って、ある非線形関数の根を求める関数を作成しなさい。二分探索法とは、以下のような逐次型の求解法である。
<二分探索法>
区間[a,b]を考え、mを区間の中点とする。区間[a,b]にて単調減少、あるいは単調増加な非線形関数f(x)を考える。f(a)とf(b)は異符号をとるものとする。ここでf(m)がゼロであれば、根が見つかったことになる。ゼロでなければ、f(a)とf(m)の符号が異なるか、f(m)とf(b)の符号が異なるかのどちらかである。前者であるとしよう。このとき、fは区間[a, m]の中に根を持つことがわかり、この区間について同じ処理を行う。繰り返すたびに、前回の半分の長さの区間になる。区間が十分小さくなったらその中点をfの根の近似値とする。
<仕様><ヒント>(見たら減点)
- 関数と区間は、自分で適当に選ぶこと。
- プログラムの処理は以下の順序で行う。
- (1) 非線形関数値の計算
- (2) 区間の判断
- (3) エラーメッセージの表示
- (4) 計算結果の表示