スゴ技

平成24年度 春 基本情報技術者試験 【問13】(その2)

Blog:IT・情報処理BLOG |

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

平成24年度春期基本情報技術者試験の問13の続きです。

設問2
貸出時には、貸出条件を満たす時に次の処理を行います。

  1. 該当図書の利用者ID(C列)に入力した利用者ID(セルD203の値)を設定します。図書IDは2行目から1,2,…と割り当てられているので、図書IDの値(セルB203の値)が1行目からの相対位置となります。従って、A1から相対的にB203行、2列の位置にD203の値を設定します。
    相対(A1 , B203 , 2) ← D203
  2. 該当図書の利用者ID(C列)に日付(セルI1の値)を設定します。
    相対(A1 , B203 , 3) ← I1
  3. 入力した図書ID(セルB203)、利用者ID(セルD203)を空にします。
    B203 ← null
    D203 ← null

これらが、マクロの条件が真の時に行われます。条件には、問題文にある3つの条件の論理積が入ります。

  • 対象図書が貸出中でない
    該当図書の図書ID(C列)と貸出日(D列)が空です。これらは同時に設定されるので、一方を調べるだけで済みます
    相対(A1 , B203 , 2) = null
  • 対象利用者の残り貸出冊数が1以上である
    利用者に関する情報は「利用者情報」シートにあります。利用者情報で、利用者IDは2行目から1,2,…と割り当てられているので、利用者IDの値(セルD203の値)が1行目からの相対位置となります。残り貸出冊数は、利用者情報のD列にあります。
    相対(利用者情報!A1 , D203 , 3) > 0
  • 対象利用者が現在借りている全ての図書が延滞状態でない
    残り貸出冊数は、利用者情報のE列にあります。
    相対(利用者情報!A1 , D203 , 4) ≠ ‘*’

以上より、3つの条件の論理積をとると、解答はアになります。

設問3
マクロの処理内容は、問題の(3)に書いてあります。この内容に合わせて空欄を考えます。
マクロ前半の2重ループは(3)-①の部分です。利用者IDにiを指定した時とあるので、計算式のiはセルB204です。B204≠Jの条件より、内側のループは、和を求めている上側の式に該当します。iをB204に置き換えると、空欄fは、相対(A1 , K , B204) * 相対(A1 , K , J)となります。解答はカです。
後半の2重ループは(3)-②の部分です。空欄gは、それ以外(「xki=1又は図書IDkの図書が貸出中の場合」の逆)、つまり「xki=0かつ図書IDkの図書が貸出中でない場合」が入ります。この条件は、論理積(相対(A1 , K , B204) = 0,相対(図書情報!A1 , K , 2) = null)です。解答はアです。Sijは類似度なので202行目です。従ってiを201に置き換えると、空欄hは相対(A1 , 201 , J) * 相対(A1 , K , J)となります。解答は*の左辺、右辺が逆になっていますが、キです。

2012年(平成24年度)春期の解説

Date:

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

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

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

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

Tagタグ

Teamライターチーム紹介

神戸電子オフィシャルSNS

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

ページの上へ移動