修了試験 2019-12-08実施分 基本情報技術者試験 問18
Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。 〔条件〕 (1) 実行時間はプログラムの行数に比例する。 (2) 同じ100行のバイトコードのプログラムをインタプリタで実行すると0.2秒掛かり,コンパイルしてから実行すると0.003秒掛かる。 (3) コンパイル時間は100行当たり0.1秒掛かる。 (4) コンパイル方式の場合は,プログラムの行数に関係なくファイル入出力,コンパイラ起動などのために常に0.15秒のオーバヘッドが掛かる。 (5) プログラムファイルのダウンロード時間など,そのほかの時間は無視して考える。
正答4
解説
正解はエ。 プログラム行数をnとすると,インタプリタ方式は0.2×(n/100)秒,コンパイル方式は(0.1+0.003)×(n/100)+0.15秒かかる。 コンパイル方式が短くなるのは0.15<0.097×(n/100)より,n>約154.6のときなので,155行以上でコンパイル方式が有利になる。まとめて解く
修了試験 2019-12-08実施分を通しで解く(80問)→