スゴ技

平成25年度 秋 基本情報技術者試験 【問13】

Blog:IT・情報処理BLOG |

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

久しぶりに基本情報処理技術者試験の解説です。今回は、平成25年度秋期基本情報技術者試験午後問13です。問題は、IPAのサイトをご覧ください。

設問1
(1)
IF関数は、第1引数が真のとき第2引数の値を、偽のとき第3引数の値を戻します。問題では第2引数が-1なので、第1引数の空欄aには「学生が既にいずれかのグループに割り当てられている」または「対応するグループに割り当てられている学生数が10人である」という条件が入ります。いずれかの条件が満たされればよいので、論理和です。

  1. 1つ目の条件「学生が既にいずれかのグループに割り当てられている」は、「ワークシート:グループ分け」(5)より、該当学生のH列が1か0かで判定できます。割り当てられている場合、1です。
  2. 2つ目の条件「対応するグループに割り当てられている学生数が10人である」は、「ワークシート:グループ分け」(6)より、該当グループの53行が1か0かで判定できます。10人である場合、1です。

以上より空欄aには、「論理和($H3=1,C$53=1)」(ク)が入ります。固定される列または行には「$」を付けます。

空欄bには、該当学生と該当グループ長との類似度値が入ります。類似度値はワークシート「知人関係類似度行列」に記録されているので、参照することになります。表引き関数は、第1引数で示された範囲中の、第2引数(列方向)、第3引数(行方向)で指定された位置の値を戻します。問題の第1引数は、類似度の値が格納された範囲を示しています。第2引数、第3引数では該当学生の番号と該当グループ長の番号を指定すればよいことになります。例えばJ6に入れる田中四郎とグループ番号1との類似度では、田中四郎の番号は4(セルA6)、グループ長の番号は2(セルC2)です。従って、「$A6,C$2」を指定します。問題はJ3に入れる式なので、「$A3,C$2」(イ)が入ります。

(3)
(2)より、O列には、各学生のグループに対する類似度の最大値が格納されています。(3)より、P列には各学生の最大値での順位が格納されています。セルC55(空欄c)には、P列から順位が1である学生を見つけ、その番号を格納するようにすればよいので、「照合一致(1,P3~P52,0)」(ア)が入ります。

(4)
(2)より、Q列には、各学生のグループに対する類似度が最大値であるグループ番号が格納されています。セルC55に格納された学生のQ列の値(グループ番号)をG55に格納すればよいので、「表引き(Q3~Q52,C55,1)」(イ)が空欄dに入ります。

設問2
マクロの処理と問題に記載されている手順を比較すると、①のセルC3~G52を全て0で初期化する処理は、マクロ中の「相対(B2,J,I)←0」が該当します。

次の空欄eは、②の処理が該当することになります。図2で考えると、グループ番号1はC列でB列から相対的に+1した列になります。つまり、グループ番号Iは+Iした列になります。グループ長は2行目でセルC2に格納されています。このセルは相対(B2,0,1)で表すことができます。グループIでは、相対(B2,0,I)となります。受講者は3行目から格納されているので、グループ1のグループ長番号が2であれば、グループ長の受講者は2+2のセルC4になります。これはB2を基準として相対(B2,2,1)、つまり、相対(B2,相対(B2,0,1),1)と表すことができます。グループIであれば相対(B2,相対(B2,0,I),I)です。このセルの値を1にするので、「相対(B2,相対(B2,0,I),I)←1」(カ)が入ります。

④は③を繰り返し条件なので、空欄fが該当します。全員がいずれかのグループに割り当てられるまで繰り返しますが、グループ長は決まっているので割り当てないといけない人数はグループ数を引いた人数になります。従って「NumUsers-NumGroups」(キ)が入ります。

空欄gは③の処理が該当します。G55のグループ番号のグループの列は「B列+G55」列になります。C55の受講者番号の受講者の行は「2行+C55」行になります。「相対(B2,C55,G55)←1」(イ)が入ります。

これで、平成25年秋午後問題の解説は、COBOLを除き、完了です。26年春試験を受験する人は、試験まで2週間となりました。春休み期間中ではありますが、しっかりと勉強して合格を目指してください。

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

Date:

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

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

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

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

Tagタグ

Teamライターチーム紹介

神戸電子オフィシャルSNS

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

ページの上へ移動