平成21年秋期試験午後問題 問11

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】

問11 ソフトウェア開発(Java)

次のJavaプログラムの説明及びプログラムを読んで,設問1,2に答えよ。

〔プログラムの説明〕
 携帯電話の利用状況に対して,最も安価な料金プラン(割引サービスを含む)を提示するプログラムである。1か月の料金は,基本料金,通話料金及びパケット料金からなる。パケット料金にはオプションの割引サービスがある。
 表1に料金プラン,表2にパケット料金の割引サービス,表3にテスト用の利用状況を示す。
 なお,パケット料金を計算するとき,パケット数は100パケット単位に切り上げる。
pm11_1.gif
  • クラス CellPhonePlan は,料金プランを表す。メソッド calculateCharge は,引数で渡された利用状況に対する料金を返す。
  • クラス CallingPlan は,通話料金を計算するクラスである。メソッド calculateCharge は,引数で渡された通話時間(分単位に切上げ)に対する料金を返す。
  • インタフェース PacketPlan は,パケット料金を計算するためのインタフェースである。メソッド calculateCharge は,引数で渡されたパケット数に対する料金を返す。
  • クラス Measured は,従量制のパケット料金(割引サービスなしの場合)を表す。
  • クラス Tiered は,パケット料金の割引サービスS1を表す。
  • クラス CellPhonePlanner は,利用状況に対して,最も安価な料金プラン(割引サービスを含む)を提示する。メソッド getRecommendedPlan は,与えられた利用状況に対して,最も安価な料金プラン(割引サービスを含む)を返す。メソッド main は,テスト用のメインプログラムである。
     プログラムの実行結果を図に示す。
    pm11_2.gif
pm11_3.gif

設問1

プログラム中の に入れる正しい答えを,解答群の中から選べ。
a に関する解答群
  • callingRate * minutes
  • callingRate * minutes - included
  • included
  • included - callingRate * minutes
b に関する解答群
  • callingCharge < 0
  • callingCharge < included
  • callingCharge > 0
  • callingCharge > included
c に関する解答群
  • extends CellPhonePlan
  • extends PacketPlan
  • implements CellPhonePlan
  • implements PacketPlan
d に関する解答群
  • allowance + 99
  • packets + 99
  • packets + allowance + 99
  • packets - allowance + 99
e,f に関する解答群
  • 0
  • Integer.MIN_VALUE
  • Integer.MAX_VALUE
  • cellPhonePlan.calculateCharge(minutes, packets)
  • recommended.calculateCharge(minutes, packets)
解答選択欄
  • a:
  • b:
  • c:
  • d:
  • e:
  • f:
  • a=
  • b=
  • c=
  • d=
  • e=
  • f=

解説

この設問の解説はまだありません。

設問2

パケット通信を大量に行う人を対象として,S1の内容を変更したパケット料金割引サービスS2を追加することにした。表4にサービスの内容,プログラム7にS2を表すクラスを示す。プログラム7中の に入れる正しい答えを解答群の中から選べ。
pm11_4.gif
pm11_5.gif
g に関する解答群
  • extends PacketPlan
  • extends Tiered
  • implements PacketPlan
  • implements Tiered
h,i に関する解答群
  • 0
  • allowance
  • basicCharge
  • basicCharge + maxCharge
  • maxCharge
  • super.calculateCharge(packets)
  • this.calculateCharge(packets)
解答選択欄
  • g:
  • h:
  • i:
  • g=
  • h=
  • i=

解説

この設問の解説はまだありません。

Pagetop