平成25年 秋期 基本情報技術者 午後 問13
問13 表計算問13 次の表計算のワークシート及びマクロの説明を読んで,設問1,2に答えよ。 〔表計算の説明〕 ある科目を受講する学生を,知人関係の情報に基づいてグループ分けするプログラムを表計算ソフトで作成した。 グループ分けする対象の学生は 50 人である。グループはそれぞれ 10 人で,各グループには あらかじめ1人のグループ長が決められている。 〔ワークシート:知人関係類似度行列〕 任意の2学生の知人関係の情報を表現した“知人関係類似度行列”を作成した。 ワークシート“知人関係類似度行列”の例を図1に示す。
図1 ワークシート“知人関係類似度行列”の例 (1) 各学生には1〜 50 の受講者番号が振られている。セル A3 〜 A52 には,1から順番に受講者番号を入力する。 セル B3 〜 B52 には受講者番号に対応する氏名を入力する。同様にセル C1 〜 AZ1 には受講者番号を, セル C2 〜AZ2 には氏名を入力する。 (2) セル C3 〜 AZ52 には,対応する2人の知人関係の類似性をある指標に基づいて数値化した値 (以下,類似度という)が格納されている。類似度は 0 以上 1 以下の数値である。 各セルに対応する学生2人の組合せが同一であれば類似度は 同じ値である。例えば,受講者番号1の佐藤一郎と受講者番号2の鈴木二部の類似度に 対応するセル C4,D3 にはいずれも同じ値が格納される。また,同一学生同士に 当たるセル C3,D4,…,AZ52 には 0 が入力されている。 〔ワークシート:グループ分け〕 ワークシート“知人関係類似度行列”を基に,図2に示すワークシート“グループ分け”を作成した。
図2 ワークシート“グループ分け” (1) セル A3 〜 A52 には,1から順番に受講者番号を入力する。セル B3 〜 B52 には, 受講者番号に対応する氏名を入力する。 (2) セル C1 〜 G1 には,1から順番にグループ番号を入力する。 (3) セル C2 〜 G2 には,各グループのグループ長の受講者番号を入力する。 (4) セル C3 〜 G52 には,それぞれの学生(グループ長を含む)が,対応するグループに 割り当てられている場合は1を,そうでない場合には 0 を入力する。 (5) セル H3 〜 H52 には,対応する学生が既にいずれかのグループに 割り当てられている場合は 1 が,そうでない場合は 0 が表示される。 (6) セル C53 〜 G53 には,対応するグループに割り当てられた学生が 10 人であれば 1 が, そうでない場合は 0 が表示される。 (7) 本ワークシートは,グループ分け作業を支援するための推薦機能を有している。 どのグループにも割り当てられていない学生と,所属する人数が 10 人に達していないグループ のグループ長との組合せの中で,類似度が最大となる組合せを抽出し,その組合せに含まれる学生の 受講者番号とグループ長が属するグループ番号を行 55 に表示する。ただし, 類似度が最大となる組合せが複数ある場合,次の優先順で最も優先度が高い組合せを表示する。 A @に該当する組合せが複数存在する場合,その中でグループ長が属するグループ番号が最も小さい組合せ 設問1 ワークシート“グループ分け”の推薦機能に関する次の 記述中の に入れる正しい答えを,解答群の中から選べ。 (1) セル J3 〜 N52 には,それぞれの学生と対応するグループ長との頼似度の値を入力する。 ただし,学生が既にいずれかのグループに割り当てられている場合,又は対応するグループに 割り当てられている学生数が 10 人である場合には−1が入るようにしたい。 そこで,次の式をセル J3 に入力し,セル J3〜 N52 に複写する。
IF( ,−1,表引き(知人関係類似度行列 !$C$3 〜 $AZ$52, (2) それぞれの学生を割り当てる候補となるグループを選定するために, 次の式をセル O3 に入力し,セル O4 〜 O52 に複写する。 最大( J3 〜 N3 ) さらに,次の式をセル Q3 に入力し,セル Q4 〜 Q52 に複写する。 照合一致( 03 , J3 〜 N3 , 0) (3) 推薦する受講者番号を表示するために,次の式をセル P3 に入力し,セル P4 〜 P52 に複写する。 順位(O3,O$3〜O$52,1) さらに,次の式をセル C55 に入力する
(4) 推薦する学生の割当て先グループ番号を表示するために,次の式をセル G55 に入力する。
a に関する解答群 ウ 論理積($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 に関する解答群 c に関する解答群 ウ 照合検索(1,P3〜P52,O3〜O52) エ 照合検索(50,P3〜P52,O3〜O52) オ 条件付個数(H3〜H52,=1) カ 条件付個数(O3〜O52,=−1) キ 条件付個数(O3〜O52,≠−1) d に関する解答群 イ 表引き(Q3〜Q52,C55,1) ウ 照合一致(C55,P3〜P52,0) エ 照合検索(C55,P3〜P52,O3〜O52) オ 照合検索(C55,Q3〜Q52,A3〜A52) カ 条件付個数(C53〜G53,=1)+1
設問2 ワークシート“グループ分け”のセル C2 〜 G2 にグループ長の 受講者番号を入力して実行すると以後のグループ分け処理を全て自動化するマクロ Grouping を, ワークシート“グループ分け”に格納した。マクロ Grouping は次の手順で処理を行う。 A 5人のグループ長をそれぞれのグループに割り当てる。つまりセル C3 〜 G52 の中で 対応するセルの値を 1 に変更する。 B 推薦機能によって,推薦する学生の受講者番号はセル C55 に,グループ番号は セル G55 に表示されるので,セル C3 〜 G52 の中で対応するセルの値を 1 に変更する。 C 全員がいずれかのグループに割り当てられるまでBを繰り返す。 マクロ Grouping 中の に入れる正しい答えを, 解答群の中から選べ。 〔マクロ:Grouping〕 e,g に関する解答群 イ 相対(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 に関する解答群 ウ NumUsers エ NumUsers * (NumGroups − 1) オ NumUsers * NumGroups カ NumUsers + NumGroups キ NumUsers − NumGroups ク NumUsers / NumGroups
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ] |