基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成16年 秋期 基本情報技術者 午前 問44
問44   インタプリタでの実行

 Java などのバイトコードプログラムをインタプリタで実行する方法と, コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上の バイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間 (コンパイル時間も含む)が短くなるか。

〔条件〕

(1) 実行時間はプログラムの行数に比例する。

(2) 同じ 100 行のバイトコードのプログラムをインタプリタで実行すると 0.2 秒掛かり、コンパイルしてから実行すると 0.003 秒掛かる。

(3) コンパイル時間は 100 行当たり 0.1 秒掛かる。

(4) コンパイル方式の場合は,プログラムの行数に関係なくファイル入出力、 コンパイラ起動などのために常に 0.15 秒のオーバヘッドが掛かる。

(5) プログラムファイルのダウンロード時間など、その他の時間は無視して考える。

ア 50     イ 75     ウ 125     エ 155


解答←クリックすると正解が表示されます

解説

 まず、プログラム行数を a として、処理時間の立式を行う。

(コンパイラ方式の処理時間)=(実行時間)+(コンパイル時間)+(オーバーヘッド)より
(コンパイラ方式の処理時間)=( 0.003 ÷ 100 )× a +( 0.1 ÷ 100 )× a +( 0.15 )

 また、インタプリタ方式の処理時間は、
(インタプリタ方式の処理時間)=(実行時間)より
(インタプリタ方式の処理時間)=( 0.2 ÷ 100 )× a

 今回の場合、(コンパイラ方式の処理時間)<(インタプリタ方式の処理時間)
となれば良いので、
( 0.003 ÷ 100 )× a +( 0.1 ÷ 100 )× a +( 0.15 )<( 0.2 ÷100 )× a
                            a > 約 154.6

よって、正解は(エ)である。


[←前の問題] [次の問題→] [問題一覧表] [分野別] [キーワード索引] [基本情報技術者試験TOP ]