ソフトウェア|平成25年度 秋期 ITパスポート試験(特別措置試験) 問55
プログラムの実行方式としてインタプリタ方式とコンパイラ方式がある。図は,データを入力して結果を出力するプログラムの,それぞれの方式でのプログラムの実行の様子を示したものである。a,b に入れる字句の適切な組合せはどれか。
〔図1 左の図(a の方式)〕(原典の図を書き起こしたものです)
・「ソースプログラム」→ a の箱へ入る
・「データ」が a の箱へ 入力として上から入る
・a の箱から 出力として下へ「結果」が出る
〔図2 右の図(b の方式)〕(原典の図を書き起こしたものです)
・「ソースプログラム」→ b の箱へ入る
・b の箱から矢印が伸びて「目的プログラム」の箱ができる
・「データ」が「目的プログラム」の箱へ 入力として上から入る
・「目的プログラム」の箱から 出力として下へ「結果」が出る
〔表 a,b に入れる字句の組合せ〕
| a | b | |
|---|---|---|
| ア | インタプリタ | インタプリタ |
| イ | インタプリタ | コンパイラ |
| ウ | コンパイラ | インタプリタ |
| エ | コンパイラ | コンパイラ |
- a=インタプリタ,b=インタプリタ
- ✓ これが正解a=インタプリタ,b=コンパイラ
- a=コンパイラ,b=インタプリタ
- a=コンパイラ,b=コンパイラ
解説
その箱にデータが入っているかどうか、その一点だけを見ます。
二つの方式は、訳した結果が残るかで分かれます。通訳にあたる方式は、一行ずつ読んでその場で動かします。だから元の記述と、扱うデータの両方を受け取ります。翻訳のほうは、元の記述をまとめて機械語に訳すだけです。できあがった別のプログラムを、後でデータとともに動かします。つまり見るところは一つで、その箱にデータが入っているかです。左の図の箱には、元の記述とデータの両方が入っています。結果までその場で出すので、通訳の側だと分かります。右の図の箱は、元の記述だけを受け取っています。そこから訳した先の箱を作り出しているので、翻訳の側です。図の中に、訳した先の箱があるのは右の側だけです。プログラム言語の問では、この一つの箱で答えが決まります。通訳はすぐ試せて遅く、翻訳は先に手間がかかって速いです。
ほかの選択肢はなぜ違うのか
- どちらの箱も通訳の方式だとしています。右の箱は、訳した先の別のプログラムを作り出しています。通訳の方式では、その箱は残りません。左だけを問われたなら、この当て方で合っています。作り出した箱が残っています。右が誤りです。
- 左を翻訳、右を通訳としています。二つがそっくり入れ替わった形です。左はデータを受け取り、右は別のプログラムを作っています。逆に当てた例を問われたなら、これが答えです。二か所とも入れ替わっています。四つの中で最も外れています。
- どちらの箱も翻訳の方式だとしています。左の箱は、データを受け取って結果を出しています。翻訳の方式は、データをその場では受け取りません。右だけを問われたなら、この当て方で合っています。その場で結果まで出しています。左が誤りです。
この問題に関係する言葉
- プログラム言語プログラムを書くための文法や記号の体系のこと。言語そのものや規約、解法は著作権法の保護の対象にならないと定められています。
出典:平成25年度 秋期 ITパスポート試験(特別措置試験) 問55(改変:原典の図表をテキストに書き起こした)
同じ単元をまとめて解くならソフトウェアへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)