CO-K06|情報Ⅰ 対策問題
人間が書いたプログラムを、コンピュータが直接実行できる機械語へ一括して翻訳するソフトウェアを何というか。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
コンパイラ(一括翻訳方式) を問う問題です。インタプリタとの対比で覚えましょう。
解説
CPUが直接実行できるのは、0と1で書かれた機械語だけです。しかし人間が機械語を直接書くのは大変なので、人間向けの言語(高水準言語)でプログラムを書き、それを機械語へ「翻訳」してから実行します。この翻訳のしかたに2つの方式があります。
コンパイラは、実行前にプログラム全体を一括して機械語に翻訳する方式です。翻訳を済ませてから走らせるので実行が速いのが長所です。本を丸ごと翻訳してから読者に渡すイメージで、C言語などで使われます。
一方インタプリタは、実行時にプログラムを1行ずつ解釈しながら実行する方式です。書いてすぐ試せる手軽さが長所ですが、毎回解釈しながら動くぶん実行は遅めです。Pythonが代表例で、通訳者がその場で1文ずつ訳すイメージです。
共通テストでは「一括して事前に翻訳=コンパイラ」「1行ずつ解釈しながら実行=インタプリタ」というキーワードの対応で問われます。実行が速い/手軽に試せる、という長所の対比まで含めて選ばせる形が定番です。
選択肢の確認
1.○ 全体を事前に一括翻訳するのがコンパイラ。
2.× インタプリタは1行ずつ解釈しながら実行する方式で、「一括」ではない。
3.× エディタはプログラムを書く(編集する)ためのソフトで、翻訳はしない。
4.× デバッガは誤り(バグ)を見つけるのを支援するソフト。
ここだけは覚えよう
一括翻訳=コンパイラ、逐次解釈=インタプリタ — CPUが直接実行できるのは機械語だけ。