スゴ技

平成25年度 春 基本情報技術者試験 【問9】

Blog:IT・情報処理BLOG |

ソフトⅡコース担当 ブログのおにーさまこと高橋です。

昨日で夏休みも終わり、今日から授業です。今月は前期末試験もあります。そして、10月には情報処理技術者試験があります。ということで、今日は平成25年度春期基本情報技術者試験午後問9解説です。問題はIPAのサイトをご覧ください。

最初に、問題のプログラム3行目から9行目の配列を表にまとめると次のようになります。

20130902

設問1
calc_service_fee(1,6,0)を実行した時、channel_num(第2引数)の値は6です。またbasic_plan(第1引数)は1です。繰り返しでのiの初期値は3(BLKNUM-1)です。

  1. 1回目

    • 19行目で、cnumの値は-3(cnum=6-10+1)になります。
    • 負の数なので21行目を実行してcnumは0になります。
    • 23行目でchannel_numからcnumを引きますが、cnumが0なのでchannel_numは6のままです。
  2. 2回目
    • 19行目で、cnumの値は1(cnum=6-6+1)になります。
    • 正の数なので21行目は実行しません。
    • 23行目でchannel_numからcnumを引くと、channel_numは5(6-1)になります。
  3. 3回目
    • 19行目で、cnumの値は3(cnum=5-3+1)になります。
    • 正の数なので21行目は実行しません。
    • 23行目でchannel_numからcnumを引くと、channel_numは2(5-3)になります。
  4. 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. 1回目(iは3):0(0*channel_charge[0][3])
  2. 2回目(iは2):700(1*channel_charge[0][2])
  3. 3回目(iは1):3000(3*channel_charge[0][1])
  4. 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年度)春期の解説

Date:

神戸電子の
IT・情報処理学科
についてもっと知りたい!

Webアプリケーション等のシステム管理、設計、開発が行える総合的なITエンジニアを育成する学科です。

学科紹介を見る (神戸電子サイト)

学科紹介イメージ
Info神戸電子からのお知らせ

Tagタグ

Teamライターチーム紹介

神戸電子オフィシャルSNS

オープンキャンパスなどの
誰でも参加OKの楽しいイベント
やブログの最新記事などお届けします!

ページの上へ移動