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

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

 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

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

【平成16年秋 問44】


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