スゴ技

平成25年度 秋 基本情報技術者試験 【問12】(その2)

Blog:IT・情報処理BLOG |

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

IT分野では、今日から学年ごとの発表会があります。各学年で優秀な発表が来週のDigitalWorksに進むことになります。

その前に、平成25年度秋期基本情報技術者試験午後問12が途中まででしたので、今日はその後半の解説です。

前々回、分秒を秒に直す掛算部分を解説しました。今回は、逆の変換、秒を分秒に直すプログラムTOTIMEです。

秒を分秒に変換するには、大きい方から割り算を行います。つまり、分の10の位、分の1の位、秒の10の位、秒の1の位の順です。数値で求めるのではなく文字列に変換するので、それぞれの桁ごとに求めて文字にする必要があります。1357秒の変換を図にすると次のようになります。

20140203

上の図より、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人の選手の平均を求めるには、まず合計を求める必要があります。合計を求めるには

  1. 記録を秒に変換する
  2. 求めた秒数を合計を入れるレジスタに加える

を4人分繰り返します。LOOP5がこの繰り返しです。繰り返しの前に、合計を入れるレジスタを0に初期設定します。プログラム3をみると、LOOP5の前に0にしているレジスタはGR4のみです。このことより、GR4が合計を入れるレジスタとわかります。空欄fの直前が秒に変換するTOSECの呼び出しなので、空欄fには求めた秒数をGR4に加える処理です。空欄fにはアが入ります。

合計を求めた後は、平均の計算です。合計を4で割ればよいので、GR4を右に2ビット算術シフトします。空欄gにはキが入ります。

2013年(平成25年度)秋期の解説

Date:

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

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

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

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

Tagタグ

Teamライターチーム紹介

神戸電子オフィシャルSNS

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

ページの上へ移動