IP 第1回レポート課題の解答例 1.1 自由 なんらかの”手順”を決めた時、必ずそれが通用しない 状況が現れてくるものである。近い将来、諸君たちが与えら れた問題に対してアルゴリズムを構築するとき、個々のステ ップで考えられるいろいろな状況を想定する必要があろう。 また、この問題で扱ったような日常の処理では、どの程度 まで詳細に状況設定をしてよいのか実際には決められない。 これは、日常の出来事のような”ある種の融通”が必要な処 理はコンピュータでは扱えないことを示唆している。 実際に何がコンピュータで扱えるのかは第3回以降で勉強 する。 1.2 2次方程式の解 2 次方程式をとすると 解を求める手順は 題意より a,b,cが任意なので次のようになる. 手順 1. a = 0 の場合 一次方程式であり、「題意に反する」とする。 2. a≠0 の場合、判別式
を計算する。 3. D > 0 の場合
を計算し結果を解とする.(2 実数根) 4. D = 0 の場合
を計算し結果を解とする.(重根) 5. D < 0 の場合 実数部
虚数部
を計算し, 結果 p ± q i を解とする (2 複素数根) ☆なぜ、a=0を想定するのか? 実際に計算機のプログラムとして使用される時には、誤って入力するなど、 a=0の状態で処理される事態が考えられる。そのような時でも、正しく 動作するように対処しておく必要がある。 1.3 自由(テキストp10〜13参照) 解答例; 解決したい問題を分析、検討し、どのような解決案があ るかを考える。その解決案についてどのような処理を行 うか、「何をする」プログラムを作るべきか仕様を決定 する。 さらに仕様に記述された仕事を「どのようにして行うか 」を考え、プログラムやデータの内部構造を決定する。 プログラムをプロラミング言語で記述し、計算機によっ て実行して仕様を正しく満たすか否かテストする。 狭い意味では後半のみをプログラムの作成過程と呼ぶ。