ITパスポート 2013年 春期 問53
問題文
コンピュータを利用するとき、アルゴリズムは重要である。アルゴリズムの説明として、適切なものはどれか。
選択肢
ア:コンピュータが直接実行可能な機械語に、プログラムを変換するソフトウェア
イ:コンピュータに、ある特定の目的を達成させるための処理手順(正解)
ウ:コンピュータに対する一連の動作を指示するための人工言語の総称
エ:コンピュータを使って、建築物や工業製品などの設計をすること
🔒 解説は解答すると表示されます
コンピュータを利用するとき、アルゴリズムは重要である。アルゴリズムの説明として、適切なものはどれか。【ITパスポート 解説】
正解の理由
選択肢の中で最も適切なのは イ です。アルゴリズム(algorithm:問題を解くための具体的で順序だった手順・方法)は、「ある特定の目的を達成させるための処理手順」を指します。身近な例で言えば、料理のレシピがアルゴリズムです。材料(入力)を決め、順番に作業を行い、完成品(出力)を得ます。アルゴリズムは抽象的な「やり方」であり、プログラム(実際にコンピュータで動かすための実装)はそのやり方を具体化したものです。したがって「処理手順」を説明した イ が正解になります。
(注:アルゴリズムは実行可能な手順ですが、特定のプログラミング言語や機械語に縛られない点がポイントです。)
解法ステップ
- 問題文のキーワードを確認:「アルゴリズム」「説明として適切なもの」→「処理手順」「方法」などを連想。
- 各選択肢を定義と照らし合わせる。
- 「手順・方法」を直接表す選択肢を選ぶ。残りは別の用語(翻訳ソフト、プログラミング言語、設計支援)なので除外する。
- 抽象的な手順を示す イ を確定する。
選択肢別の誤答解説
-
ア: 「コンピュータが直接実行可能な機械語に、プログラムを変換するソフトウェア」
- これはコンパイラ(compiler:高水準言語を機械語に変換するソフト)やアセンブラ(assembler:アセンブリ言語を機械語に変換するソフト)の説明です。アルゴリズムそのものの説明ではありません。
- (機械語:computerが直接理解して実行する0と1の命令)
-
イ: 「コンピュータに、ある特定の目的を達成させるための処理手順」
- これはアルゴリズムの定義そのものです。手順・順序(どの順で何をするか)を示す点が合致します。
-
ウ: 「コンピュータに対する一連の動作を指示するための人工言語の総称」
- これはプログラミング言語(programming language:人が書いてコンピュータに指示を与えるための言語。例:Python、Java)の説明です。言語そのものは「表現手段」であり、アルゴリズムとは別物です。
- (人工言語:人が設計した形式化された言語で、自然言語ではないもの)
-
エ: 「コンピュータを使って、建築物や工業製品などの設計をすること」
- これはCAD(Computer-Aided Design:コンピュータ支援設計)の説明です。設計作業の分野であって、アルゴリズムの定義ではありません。
よくある誤解
- 「アルゴリズム = プログラム」
- 誤解です。アルゴリズムは問題を解く手順の「設計図」です。プログラムはその設計図を特定の言語で書いた「実行可能な形」です。
- 「アルゴリズムは必ず高速であるべき」
- アルゴリズムには効率(速さ・メモリ使用量)が重要ですが、まずは正しく動く(正確性)が優先です。用途によって最適なアルゴリズムは異なります。
- 「アルゴリズムは機械語やプログラミング言語と同じもの」
- これも誤り。言語は表現手段、アルゴリズムは中身(手順)です。
補足コラム
- アルゴリズムの確認方法:擬似コード(擬似コード:実際の言語の文法に縛られず、処理手順を分かりやすく書いたもの)やフローチャート(処理の流れを図で表したもの)で表現すると理解しやすくなります。
- 簡単な例(最大値を見つけるアルゴリズム、擬似コード):
- 配列の先頭を「最大」とする
- 次の要素と比較し、より大きければ「最大」を更新する
- 配列の終わりまで繰り返す
- 「最大」を出力する
- この手順がアルゴリズムで、実際にプログラムにすることでコンピュータが実行できます。
FAQ
Q1: アルゴリズムは誰が作るのですか?
A1: 問題を解く人(開発者、エンジニア、研究者など)が目的に合わせて設計します。日常の手順でも「アルゴリズム的」に考えることは可能です。
A1: 問題を解く人(開発者、エンジニア、研究者など)が目的に合わせて設計します。日常の手順でも「アルゴリズム的」に考えることは可能です。
Q2: アルゴリズムは覚えなければいけませんか?
A2: 代表的なアルゴリズム(探索、ソートなど)や考え方(分割して解く、貪欲法など)を理解しておくと応用が利きます。丸暗記より「なぜそう動くか」を理解する方が大切です。
A2: 代表的なアルゴリズム(探索、ソートなど)や考え方(分割して解く、貪欲法など)を理解しておくと応用が利きます。丸暗記より「なぜそう動くか」を理解する方が大切です。
Q3: 試験ではどう対策すればよいですか?
A3: 用語の定義を押さえ、選択肢を「定義に合うかどうか」で素早く判断する練習をすると良いです。例題を多く解いて慣れましょう。
A3: 用語の定義を押さえ、選択肢を「定義に合うかどうか」で素早く判断する練習をすると良いです。例題を多く解いて慣れましょう。
関連キーワード: アルゴリズム、プログラム、機械語、プログラミング言語、コンパイラ、CAD、擬似コード、処理手順、フローチャート

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

