PMプロジェクトマネージャ試験 午前Ⅰ

平成23年度特別 プロジェクトマネージャ 午前Ⅰ 問7

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

あるコンピュータ上で,異なる命令形式のコンピュータで実行できる目的プログラムを生成する言語処理プログラムはどれか。

選択肢

  1. ア
    エミュレータ
  2. イ
    クロスコンパイラ
  3. ウ
    最適化コンパイラ
  4. エ
    プログラムジェネレータ
解き方のヒントを見る

役割の違いに注目して整理する

言語を扱う処理の仕組みを見比べるときは、名称の印象ではなく、入力をどの段階で扱い、何を次の処理へ渡す役割なのかという観点に絞って整理しましょう。候補ごとの担当範囲を丁寧に確認しましょう。

この問題で問われていること

各候補について、処理の対象と担当する段階を問題文の記述から確認し、似た名称や関連する処理を同じ役割だと早合点しないことを意識してください。記述の対応関係を順に見ていきましょう。

視点

言語処理に関する仕組みは、扱う対象・処理の段階・後続処理との関係を分けて見ると比較しやすくなります。まず候補が説明する役割の範囲を読み取り、周辺の処理まで含めて解釈していないかを確認しましょう。

確認ポイント

  • 候補が扱う対象と、扱わない対象の境界を読み取る
  • 処理の前後関係と、担当範囲の説明が一致しているか確認する
  • 名称の連想ではなく、問題文に書かれた役割の記述だけで比較する
正解と解説を見る

正解

イ

解説

異なる命令形式のコンピュータで実行できる目的プログラムを生成する言語処理プログラムは、クロスコンパイラです。コンパイルを行う環境と、生成物を実行する環境が異なる点が重要です。

理由

クロスコンパイラは、あるコンピュータ上で動作しながら、異なる命令形式をもつ別のコンピュータ向けの目的プログラムを生成します。組込みシステムなど、開発環境と実行環境を分ける場合に利用されます。

比較

エミュレータは別のコンピュータの動作環境を模倣し、最適化コンパイラは生成コードの効率改善を重視します。プログラムジェネレータは仕様などからプログラムを生成する一般的な仕組みで、異なる命令形式への変換を直接表す用語ではありません。

選択肢ア

これは不正解だよ。エミュレータは、別のコンピュータやその命令の動作を現在のコンピュータ上で模倣し、対象向けの実行環境を提供するものです。異なる命令形式向けの目的プログラムを生成する言語処理プログラムではありません。

選択肢イ(正解)

これは正解だよ。クロスコンパイラは、コンパイルを実行するコンピュータとは異なる命令形式のコンピュータ向けに、ソースプログラムから目的プログラムを生成します。開発環境と実行環境が異なる場合のコンパイラとして、この設問の条件に合致します。

選択肢ウ

これは不正解だよ。最適化コンパイラは、実行速度や使用メモリなどの効率を高めるよう、生成される目的プログラムを改善することに重点があります。異なる命令形式のコンピュータ向けに生成するという役割そのものを示す用語ではありません。

選択肢エ

これは不正解だよ。プログラムジェネレータは、仕様や定型的な入力などを基にプログラムを自動生成する仕組みを指します。設問のように、処理を行うコンピュータと異なる命令形式の実行先へ変換する機能を特定する用語ではありません。

学習のポイント

クロスコンパイラと、エミュレータや通常のコンパイラ関連用語の役割を区別する。

出典:独立行政法人 情報処理推進機構(IPA)平成23年度特別 プロジェクトマネージャ試験 午前Ⅰ 問7(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針