ソフトⅡコース担当 ブログのおにーさまこと高橋です。
IT分野では、今日から学年ごとの発表会があります。各学年で優秀な発表が来週のDigitalWorksに進むことになります。
その前に、平成25年度秋期基本情報技術者試験午後問12が途中まででしたので、今日はその後半の解説です。
前々回、分秒を秒に直す掛算部分を解説しました。今回は、逆の変換、秒を分秒に直すプログラムTOTIMEです。
秒を分秒に変換するには、大きい方から割り算を行います。つまり、分の10の位、分の1の位、秒の10の位、秒の1の位の順です。数値で求めるのではなく文字列に変換するので、それぞれの桁ごとに求めて文字にする必要があります。1357秒の変換を図にすると次のようになります。
上の図より、GR5でカウントした引いた回数が商になります。この値に’0’を加えて文字にしたものが各桁の文字です。空欄bにはGR5、カが入ります。ただし、最後の桁(秒の1の位)は、10で割ったときの余りです。空欄cにはGR0、アが入ります。
設問2
プログラム1の19行目が実行されるのは、掛ける数のビットが1のときです。掛ける数(VALUE1)を確認すると
- 1回目は10(1010)なので、2回実行
- 2回目は6(0110)なので、2回実行
- 3回目は10(1010)なので、2回実行
です。合計6回実行します。このプログラムでは、掛ける数が固定なので、常に6回19行目を実行します。空欄dには6、イが入ります。
次にプログラム2を274で実行した場合です。
- 274÷600=0余り274で、商が0なので1回も実行されない。
- 274÷60=4余り34で、商が4なので4回実行する。
- 34÷10=3余り4で、商が3なので3回実行する。
合わせて7回実行します。空欄eには7、ウが入ります。
設問3
4人の選手の平均を求めるには、まず合計を求める必要があります。合計を求めるには
- 記録を秒に変換する
- 求めた秒数を合計を入れるレジスタに加える
を4人分繰り返します。LOOP5がこの繰り返しです。繰り返しの前に、合計を入れるレジスタを0に初期設定します。プログラム3をみると、LOOP5の前に0にしているレジスタはGR4のみです。このことより、GR4が合計を入れるレジスタとわかります。空欄fの直前が秒に変換するTOSECの呼び出しなので、空欄fには求めた秒数をGR4に加える処理です。空欄fにはアが入ります。
合計を求めた後は、平均の計算です。合計を4で割ればよいので、GR4を右に2ビット算術シフトします。空欄gにはキが入ります。
2013年(平成25年度)秋期の解説
- 平成25年度 秋 基本情報技術者試験 【問13】
- 平成25年度 秋 基本情報技術者試験 【問11】
- 平成25年度 秋 基本情報技術者試験 【問12】(その2)
- 平成25年度 秋 基本情報技術者試験 【問9】(その2)
- 平成25年度 秋 基本情報技術者試験 【問12】(その1)
- 平成25年度 秋 基本情報技術者試験 【問9】(その1)
- 平成25年度 秋 基本情報技術者試験 【問8】(その2)
- 平成25年度 秋 基本情報技術者試験 【問8】(その1)
- 平成25年度 秋 基本情報技術者試験 【問7】
- 平成25年度 秋 基本情報技術者試験 【問6】
- 平成25年度 秋 基本情報技術者試験 【問5】
- 平成25年度 秋 基本情報技術者試験 【問4】
- 平成25年度 秋 基本情報技術者試験 【問3】(その2)
- 平成25年度 秋 基本情報技術者試験 【問2】
- 平成25年度 秋 基本情報技術者試験 【問3】(その1)
- 平成25年度 秋 基本情報技術者試験 【問1】
- Date:
- この記事を
友だちに教える - LINE
- - HatenaBookmark
- GooglePlus