ソフトⅡコース担当 ブログのおにーさまこと高橋です。
昨日で夏休みも終わり、今日から授業です。今月は前期末試験もあります。そして、10月には情報処理技術者試験があります。ということで、今日は平成25年度春期基本情報技術者試験午後問9解説です。問題はIPAのサイトをご覧ください。
最初に、問題のプログラム3行目から9行目の配列を表にまとめると次のようになります。
設問1
calc_service_fee(1,6,0)を実行した時、channel_num(第2引数)の値は6です。またbasic_plan(第1引数)は1です。繰り返しでのiの初期値は3(BLKNUM-1)です。
- 1回目
- 19行目で、cnumの値は-3(cnum=6-10+1)になります。
- 負の数なので21行目を実行してcnumは0になります。
- 23行目でchannel_numからcnumを引きますが、cnumが0なのでchannel_numは6のままです。
- 2回目
- 19行目で、cnumの値は1(cnum=6-6+1)になります。
- 正の数なので21行目は実行しません。
- 23行目でchannel_numからcnumを引くと、channel_numは5(6-1)になります。
- 3回目
- 19行目で、cnumの値は3(cnum=5-3+1)になります。
- 正の数なので21行目は実行しません。
- 23行目でchannel_numからcnumを引くと、channel_numは2(5-3)になります。
- 4回目
- 19行目で、cnumの値は2(cnum=2-1+1)になります。
- 正の数なので21行目は実行しません。
- 23行目でchannel_numからcnumを引くと、channel_numは0(2-2)になります。
2回目、3回目より、空欄aにはイ、空欄bにはエが入ります。
16行目でtv_feeには3000(basic_charge[1])が設定されます。24行目でtv_feeに有料チャンネルの金額がチャンネル数に従って加えられます。
- 1回目(iは3):0(0*channel_charge[0][3])
- 2回目(iは2):700(1*channel_charge[0][2])
- 3回目(iは1):3000(3*channel_charge[0][1])
- 4回目(iは0):3000(2*channel_charge[0][0])
これらを合わせるとtv_feeは9700(3000+700+3000+3000)になるので、空欄cにはエが入ります。
同様にプラン2で計算するとtv_feeは10000(5000+600+2400+2000)になるので、プラン2の方が高いです。従って、空欄dにはウが入ります。
設問2
最初にまとめた配列の表と、プログラム中の空欄とを合わせます。29行目でinet_charge[0]を代入しているので、28行目の条件はinet_planが0です。31行目から35行目でinet_charge[1]とinet_charge[2]を代入しているので、30行目の条件はinet_planが1です。38行目でinet_charge[3]を代入しているので、37行目の条件はbasic_planが2です。以上より、eに解答はア、fの解答はウになります。
この平成25年度春期基本情報技術者試験午後問題の解説もあと少しで終わりそうです。なんとか秋期試験に間に合いそうです。
2013年(平成25年度)春期の解説
- 平成25年度 春 基本情報技術者試験 【問13】(その2)
- 平成25年度 春 基本情報技術者試験 【問13】(その1)
- 平成25年度 春 基本情報技術者試験 【問9】
- 平成25年度 春 基本情報技術者試験 【問11】
- 平成25年度 春 基本情報技術者試験 【問8】
- 平成25年度 春 基本情報技術者試験 【問12】(その2)
- 平成25年度 春 基本情報技術者試験 【問12】(その1)
- 平成25年度 春 基本情報技術者試験 【問7】(その2)
- 平成25年度 春 基本情報技術者試験 【問7】(その1)
- 平成25年度 春 基本情報技術者試験 【問6】
- 平成25年度 春 基本情報技術者試験 【問5】
- 平成25年度 春 基本情報技術者試験 【問4】
- 平成25年度 春 基本情報技術者試験 【問3】
- 平成25年度 春 基本情報技術者試験 【問2】
- 平成25年度 春 基本情報技術者試験 【問1】
- Date:
- この記事を
友だちに教える - LINE
- - HatenaBookmark
- GooglePlus