基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成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 @に該当する組合せが複数存在する場合,その中でグループ長が属するグループ番号が最も小さい組合せ

(8) 列Jから列Qを,推薦機能のための計算領域に用いる。

設問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=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 ←クリックすると正解が表示されます

基本情報技術者試験


設問2 ワークシート“グループ分け”のセル C2 〜 G2 にグループ長の 受講者番号を入力して実行すると以後のグループ分け処理を全て自動化するマクロ Grouping を, ワークシート“グループ分け”に格納した。マクロ Grouping は次の手順で処理を行う。 @ セル C3 〜 G52 を全て 0 で初期化する。

A 5人のグループ長をそれぞれのグループに割り当てる。つまりセル C3 〜 G52 の中で 対応するセルの値を 1 に変更する。

B 推薦機能によって,推薦する学生の受講者番号はセル C55 に,グループ番号は セル G55 に表示されるので,セル C3 〜 G52 の中で対応するセルの値を 1 に変更する。

C 全員がいずれかのグループに割り当てられるまでBを繰り返す。

 マクロ Grouping 中の に入れる正しい答えを, 解答群の中から選べ。

〔マクロ:Grouping〕

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 ←クリックすると正解が表示されます


[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]