CO-K50|情報Ⅰ 対策問題
「アルゴリズム」と「プログラム」の関係の説明として最も適当なものはどれか。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
アルゴリズムとプログラムの関係 を問う問題です。「手順の考え方」と「言語での記述」という関係で整理しましょう。
解説
アルゴリズムは、問題を解くための処理手順の考え方そのものです。特定のプログラミング言語には依存せず、フローチャートや疑似コード(DNCL)、日本語の箇条書きでも表せます。
その手順を、コンピュータで実行できるように特定のプログラミング言語で書き下したものがプログラムです。つまり「アルゴリズム=設計図(考え方)、プログラム=設計図に基づく実装(記述)」という関係です。同じアルゴリズムをPythonでもJavaScriptでも書ける、逆に同じ言語でも違うアルゴリズムを書ける、という対応関係を押さえましょう。
この「手順(設計)と記述(実装)の分離」は情報科学の基本的な考え方です。共通テストがDNCLという疑似表記を使うのも、特定言語の文法ではなく、アルゴリズムを考える力そのものを測るためです。
出題では、正しい関係の説明を選ばせるほか、「アルゴリズムはプログラミング言語でしか表せない(誤り。フローチャートでも表せる)」のような誤りの記述を見抜く形もあります。アルゴリズムは考え方であってソフトウェアの実体でもハードウェアでもない、と押さえておけば迷いません。
選択肢の確認
1.○ 手順(アルゴリズム)を言語で記述したものがプログラム。正しい関係。
2.× 向きが逆の説明で不正確。アルゴリズムは記述より先にある考え方。
3.× プログラムはアルゴリズムの記述であり、両者は密接に関係する。
4.× アルゴリズムは考え方であり、ハードウェアではない。
ここだけは覚えよう
アルゴリズム=手順の考え方、プログラム=言語での記述 — 同じ手順を別の言語でも書ける。