問題 No.3079
アルゴリズムに関する記述として、不適切なものはどれか。
【正解の解説】
無限回の処理を含んでいなければならず、実行環境や入力データに関わらず常に同じ手順で動作し続ける必要はない。
料理のレシピに例えると、終わりの見えない無限ループを指示するようなものは良いレシピとは言えません。アルゴリズムは必ず終わりがあり、誰が作っても同じ味(結果)になる手順であることが絶対条件です。
スポンサーリンク
【その他の選択肢の解説】
明確に定義された有限個の規則から構成されなければならず、どのような入力が与えられても必ず有限の時間内で終了する必要がある。
初学者が誤解しやすいポイントですが、アルゴリズムは「絶対に途中で止まること(有限性)」が必須です。いつまでも終わらない計算は、コンピューターの世界ではフリーズとみなされ、正しい手順とは言えません。
特定のプログラミング言語に依存してはならず、抽象的な手順の集まりとして表現されていれば実行結果が異なってもよい。
「料理のレシピ」が日本語で書かれていようが英語で書かれていようが、手順通り作れば同じ料理ができるのと同じです。言語が変わっても、正しいアルゴリズムであれば結果は必ず同じでなければなりません。
曖昧さのない解釈が可能な指示の集合体でなければならず、処理を実行する順序が異なっても最終的な結果は一致する必要がある。
数学の公式のようなもので、途中経過のルールを勝手に変えてはいけません。指示が明確で順序が守られてこそ、何度計算しても同じ正しい答えにたどり着くことができるという特徴を持っています。