平成25年秋期試験午後問題 問13

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】

問13 ソフトウェア開発(表計算)

次の表計算のワークシート及びマクロの説明を読んで,設問1,2に答えよ。

〔表計算の説明〕
 ある科目を受講する学生を,知人関係の情報に基づいてグループ分けするプログラムを表計算ソフトで作成した。グループ分けする対象の学生は50人である。グループはそれぞれ10人で,各グループにはあらかじめ1人のグループ長が決められている。

〔ワークシート:知人関係類似度行列〕
 任意の2学生の知人関係の情報を表現した"知人関係類似度行列"を作成した。ワークシート"知人関係類似度行列"の例を図1に示す。
pm13_1.gif
  • 各学生には 1~50 の受講者番号が振られている。セル A3~A52 には,1から順番に受講者番号を入力する。セル B3~B52 には受講者番号に対応する氏名を入力する。同様にセル C1~AZ1 には受講者番号を,セル C2~AZ2 には氏名を入力する。
  • セル C3~AZ52 には,対応する2人の知人関係の類似性をある指標に基づいて数値化した値(以下,類似度という)が格納されている。類似度は0以上1以下の数値である。各セルに対応する学生2人の組合せが同一であれば類似度は同じ値である。例えば,受講者番号1の佐藤一郎と受講者番号2の鈴木二部の類似度に対応するセル C4,D3 にはいずれも同じ値が格納される。また,同一学生同士に当たるセル C3,D4,…,AZ52 には 0 が入力されている。
〔ワークシート:グループ分け〕
 ワークシート"知人関係類似度行列"を基に,図2に示すワークシート"グループ分け"を作成した。
pm13_2.gif
  • セル A3~A52 には,1から順番に受講者番号を入力する。セル B3~B52 には,受講者番号に対応する氏名を入力する。
  • セル C1~G1 には,1から順番にグループ番号を入力する。
  • セル C2~G2 には,各グループのグループ長の受講者番号を入力する。
  • セル C3~G52 には,それぞれの学生(グループ長を含む)が,対応するグループに割り当てられている場合は 1 を,そうでない場合には 0 を入力する。
  • セル H3~H52 には,対応する学生が既にいずれかのグループに割り当てられている場合は1が,そうでない場合は 0 が表示される。
  • セル C53~G53 には,対応するグループに割り当てられた学生が10人であれば 1 が,そうでない場合は 0 が表示される。
  • 本ワークシートは,グループ分け作業を支援するための推薦機能を有している。どのグループにも割り当てられていない学生と,所属する人数が10人に達していないグループのグループ長との組合せの中で,類似度が最大となる組合せを抽出し,その組合せに含まれる学生の受講者番号とグループ長が属するグループ番号を行 55 に表示する。ただし,類似度が最大となる組合せが複数ある場合,次の優先順で最も優先度が高い組合せを表示する。
    1. 割り当てようとする学生の受講者番号が最も小さい組合せ
    2. ①に該当する組合せが複数存在する場合,その中でグループ長が属するグループ番号が最も小さい組合せ
  • 列Jから列Qを,推薦機能のための計算領域に用いる。

設問1

ワークシート"グループ分け"の推薦機能に関する次の記述中の に入れる正しい答えを,解答群の中から選べ。
  • セル J3~N52 には,それぞれの学生と対応するグループ長との頼似度の値を入力する。ただし,学生が既にいずれかのグループに割り当てられている場合,又は対応するグループに割り当てられている学生数が10人である場合には-1が入るようにしたい。そこで,次の式をセル J3 に入力し,セル J3~N52 に複写する。
       IF(a,-1,表引き(知人関係類似度行列 !$C$3 ~ $AZ$52,b))
  • それぞれの学生を割り当てる候補となるグループを選定するために,次の式をセル O3 に入力し,セル O4~O52 に複写する。
       最大(J3~N3)
     さらに,次の式をセル Q3 に入力し,セル Q4~Q52 に複写する。
       照合一致(O3,J3~N3,0)
  • 推薦する受講者番号を表示するために,次の式をセル P3 に入力し,セル P4~P52 に複写する。
       順位(O3,O$3~O$52,1)
     さらに,次の式をセル C55 に入力する。
       c
  • 推薦する学生の割当て先グループ番号を表示するために,次の式をセル G55 に入力する。
       d
a に関する解答群
  • 論理積($H3=0,C$53=0)
  • 論理積($H3=0,C$53=1)
  • 論理積($H3=1,C$53=0)
  • 論理積($H3=1,C$53=1)
  • 論理和($H3=0,C$53=0)
  • 論理和($H3=0,C$53=1)
  • 論理和($H3=1,C$53=0)
  • 論理和($H3=1,C$53=1)
b に関する解答群
  • $A3,C$1
  • $A3,C$2
  • A$3,C$1
  • A$3,C$2
c に関する解答群
  • 照合一致(1,P3~P52,0)
  • 照合一致(50,P3~P52,0)
  • 照合検索(1,P3~P52,O3~O52)
  • 照合検索(50,P3~P52,O3~O52)
  • 条件付個数(H3~H52,=1)
  • 条件付個数(O3~O52,=-1)
  • 条件付個数(O3~O52,≠-1)
d に関する解答群
  • 整数(条件付個数(H3~H52,=1)/10)+1
  • 表引き(Q3~Q52,C55,1)
  • 照合一致(C55,P3~P52,0)
  • 照合検索(C55,P3~P52,O3~O52)
  • 照合検索(C55,Q3~Q52,A3~A52)
  • 条件付個数(C53~G53,=1)+1
解答選択欄
  • a:
  • b:
  • c:
  • d:
  • a=
  • b=
  • c=
  • d=

解説

この設問の解説はまだありません。

設問2

ワークシート"グループ分け"のセル C2~G2 にグループ長の受講者番号を入力して実行すると以後のグループ分け処理を全て自動化するマクロ Grouping を,ワークシート"グループ分け"に格納した。マクロ Grouping は次の手順で処理を行う。
  1. セル C3~G52 を全て 0 で初期化する。
  2. 5人のグループ長をそれぞれのグループに割り当てる。つまりセル C3~G52 の中で対応するセルの値を 1 に変更する。
  3. 推薦機能によって,推薦する学生の受講者番号はセル C55 に,グループ番号はセル G55 に表示されるので,セル C3~G52 の中で対応するセルの値を 1 に変更する。
  4. 全員がいずれかのグループに割り当てられるまで③を繰り返す。
 マクロ Grouping 中の に入れる正しい答えを,解答群の中から選べ。
pm13_3.gif
e,g に関する解答群
  • 相対(B2,C55,I) ← 1
  • 相対(B2,C55,G55) ← 1
  • 相対(B2,I,G55) ← 1
  • 相対(B2,I,相対(B2,0,I)) ← 1
  • 相対(B2,I,相対(B2,C55,I)) ← 1
  • 相対(B2,相対(B2,0,I),I) ← 1
  • 相対(B2,相対(B2,C55,I),I) ← 1
  • 相対(B2,相対(B2,0,G55),I) ← 1
f に関する解答群
  • NumGroups
  • NumGroups * NumGroups
  • NumUsers
  • NumUsers * (NumGroups - 1)
  • NumUsers * NumGroups
  • NumUsers + NumGroups
  • NumUsers - NumGroups
  • NumUsers / NumGroups
解答選択欄
  • e:
  • f:
  • g:
  • e=
  • f=
  • g=

解説

この設問の解説はまだありません。

Pagetop