関数 $f(x)$ が $0 \le x \le 1$ で定義されており、$f(0) < 0$, $f(1) > 0$ である。$f(x) = 0$ を満たす $x$ の近似値を求めるアルゴリズムが与えられている。図中の条件Aを、 $f(x)$ が連続であることを前提に決定し、アルゴリズムを完成させる。
2025/6/23
1. 問題の内容
関数 が で定義されており、, である。 を満たす の近似値を求めるアルゴリズムが与えられている。図中の条件Aを、 が連続であることを前提に決定し、アルゴリズムを完成させる。
2. 解き方の手順
アルゴリズムのフローチャートを解釈し、二分法で の解を求める処理を理解する。
* 初期値として、、、 が設定されている。
* で の値を計算する。
* であれば、 が に十分に近づいていないと判断し、以下の処理を行う。
* 条件Aでは、 の符号に基づいて または を更新する。 ならば解は より大きい範囲に存在するので、 とする。 ならば解は より小さい範囲に存在するので、 とする。
* であれば、 を近似解として出力する。
したがって、条件Aは、 の符号によって処理を分岐する必要がある。
* AがYESの場合:なので、のとき。
* AがNOの場合:なので、のとき。
従ってAは、かどうかを判定する条件となる。
3. 最終的な答え
条件A: