問題 No.1765
ある問題を解決するための手順をアルゴリズムとして表現する際、その条件として適切なものはどれか。
【正解の解説】
有限回の手順で処理が必ず終了し、誰が実行しても同じ結果が得られること。
料理のレシピのようなものです。優れたレシピは、誰が作っても同じ味になり、いつまでも完成しない無限ループに陥ることはありません。アルゴリズムも同様に、必ず終わりがあり、誰が実行しても同じ結果になる再現性が絶対条件となります。
スポンサーリンク
【その他の選択肢の解説】
無限回の手順を含んでいても、最終的な結論が予測可能であればアルゴリズムとして成立すること。
初学者が陥りがちな勘違いとして「結論さえ予測できれば途中のプロセスは多少曖昧でもよい」というものがあります。しかし、コンピュータは指示された手順を厳密に実行するため、いつまでも終わらない無限の手順が含まれていると、プログラムがフリーズしてしまい実用になりません。
実行者のスキルや環境によって出力結果が変わる柔軟性を持って構成されていること。
「作る人のセンスによって毎回味が変わる料理の隠し味」のような属人性の高い状態を指しています。コンピュータの世界では、誰が実行しても、どんな環境であっても、同じ入力に対して常に全く同じ出力が得られる決定性が求められます。
複雑な処理を感覚的に記述し、プログラミング言語に依存せず直感的に解釈できること。
「なんとなく雰囲気が伝わるからOK」という曖昧な表現は、人間同士の日常会話では通じても、厳格な機械であるコンピュータには理解できません。アルゴリズムとは、誰もが同じように解釈できるよう、一意に定まる明確な手順で記述されている必要があります。