問題
問70
機械語に関する記述のうち、適切なものはどれか。
- Fortran や C 言語で記述されたプログラムは、機械語に変換されてから実行される。
- 機械語は、高水準言語の一つである。
- 機械語は、プログラムを10進数の数字列で表現する。
- 現在でもアプリケーションソフトの多くは、機械語を使ってプログラミングされている。
[出典:ITパスポート試験 平成29年度春期 問70]
正解
正解は「ア」です。
解説
正解は「ア」です。FortranやC言語のような高水準言語で書かれたプログラムは、コンピュータが直接理解できる機械語ではありません。そのため、プログラムを実行する前に、コンパイラやインタプリタといった「言語プロセッサ」と呼ばれるソフトウェアによって、機械語に翻訳される必要があります。この翻訳作業を経て初めて、コンピュータのCPUが命令を直接実行できるようになります。
人間が理解しやすい言葉で書かれたプログラムを、コンピュータが理解できる0と1の羅列に変換するイメージです。例えば、外国人と話すときに、間に通訳を挟んで相手の言語に変換してもらうのと似ています。
イ(機械語は、高水準言語の一つである。):
機械語はコンピュータが直接理解できる低水準言語であり、人間が理解しやすい高水準言語とは異なります。
ウ(機械語は、プログラムを10進数の数字列で表現する。):
機械語は、0と1の2進数の数字列(ビット列)で表現されます。
エ(現在でもアプリケーションソフトの多くは、機械語を使ってプログラミングされている。):
現在のアプリケーションソフトウェア開発では、C言語やJavaなどの高水準言語が主流であり、直接機械語でプログラミングされることはほとんどありません。
難易度
この問題は、プログラミングの基礎知識に関するもので、難易度は比較的易しいです。コンピュータがどのようにプログラムを理解し実行するかの基本原理を問うています。特に、機械語と高水準言語の違いや、言語の翻訳過程について理解していれば、容易に正解にたどり着けるでしょう。プログラミング未経験者でも、用語の定義をしっかり学習していれば対応可能です。
用語補足
機械語:
コンピュータのCPUが直接理解し実行できる命令の形式です。0と1の2進数で表現され、人間にとっては非常に読みにくい言語です。例えるなら、自動車が直接理解できる「エンジンを右に2回転、燃料を1滴噴射」のような指示書のようなものです。
高水準言語:
人間が理解しやすいように設計されたプログラミング言語です。C言語、Java、Pythonなどがこれに該当します。自然言語に近い記述でプログラムを作成できるため、開発効率が高いです。例えるなら、人間が日常使う「右に曲がって」「加速して」といった分かりやすい指示で、車を操作するようなものです。
コンパイラ:
高水準言語で書かれたプログラムを、コンピュータが直接実行できる機械語に一括して翻訳するソフトウェアです。翻訳された機械語ファイルは、その後何度も繰り返し実行できます。例えるなら、本を丸ごと外国語から日本語に翻訳し、その日本語の本を使って何度も読めるようにする「翻訳家」のようなものです。
インタプリタ:
高水準言語で書かれたプログラムを、1行ずつ機械語に翻訳しながら実行するソフトウェアです。翻訳と実行を同時に行うため、開発中の動作確認などに便利です。例えるなら、外国語の講演会で、話者が話すそばから通訳が逐次翻訳していく「同時通訳者」のようなものです。
対策
この問題のポイントは、コンピュータの言語の階層構造を理解することです。特に、人間がプログラミングに使う「高水準言語」と、コンピュータが直接実行する「機械語」の違いを明確に区別することが重要です。また、高水準言語を機械語に変換する「言語プロセッサ(コンパイラやインタプリタ)」の役割も押さえておきましょう。これらの基本的な用語とその関係性を学習することで、類似問題にも対応できるようになります。

