HOME»基本情報技術者平成21年秋期問題»午後問11
基本情報技術者過去問題 平成21年秋期 午後問11
⇄問題文と設問を画面2分割で開く⇱問題PDF問11 ソフトウェア開発(Java)
次のJavaプログラムの説明及びプログラムを読んで,設問1,2に答えよ。
〔プログラムの説明〕
携帯電話の利用状況に対して,最も安価な料金プラン(割引サービスを含む)を提示するプログラムである。1か月の料金は,基本料金,通話料金及びパケット料金からなる。パケット料金にはオプションの割引サービスがある。
表1に料金プラン,表2にパケット料金の割引サービス,表3にテスト用の利用状況を示す。
なお,パケット料金を計算するとき,パケット数は100パケット単位に切り上げる。
〔プログラムの説明〕
携帯電話の利用状況に対して,最も安価な料金プラン(割引サービスを含む)を提示するプログラムである。1か月の料金は,基本料金,通話料金及びパケット料金からなる。パケット料金にはオプションの割引サービスがある。
表1に料金プラン,表2にパケット料金の割引サービス,表3にテスト用の利用状況を示す。
なお,パケット料金を計算するとき,パケット数は100パケット単位に切り上げる。
- クラス CellPhonePlan は,料金プランを表す。メソッド calculateCharge は,引数で渡された利用状況に対する料金を返す。
- クラス CallingPlan は,通話料金を計算するクラスである。メソッド calculateCharge は,引数で渡された通話時間(分単位に切上げ)に対する料金を返す。
- インタフェース PacketPlan は,パケット料金を計算するためのインタフェースである。メソッド calculateCharge は,引数で渡されたパケット数に対する料金を返す。
- クラス Measured は,従量制のパケット料金(割引サービスなしの場合)を表す。
- クラス Tiered は,パケット料金の割引サービスS1を表す。
- クラス CellPhonePlanner は,利用状況に対して,最も安価な料金プラン(割引サービスを含む)を提示する。メソッド getRecommendedPlan は,与えられた利用状況に対して,最も安価な料金プラン(割引サービスを含む)を返す。メソッド main は,テスト用のメインプログラムである。
プログラムの実行結果を図に示す。
設問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中の に入れる正しい答えを解答群の中から選べ。
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=オ
解説
この設問の解説はまだありません。