大学入学共通テスト(情報) 過去問
令和7年度(2025年度)本試験
問29 (第3問 問7)
問題文
Kさんが所属する工芸部では毎年、文化祭に向けた集中製作合宿を開催し、複数の工芸品を部員全員で分担して製作している。Kさんは今年、工芸品を製作する担当の割当て作業を行うことになった。
次の文章を読み、空欄(キ)に入れるのに最も適当なものを、後の解答群のうちから一つ選べ。
Kさんはまず、次の規則(再掲)に従い、いくつかの工芸品がすでに割り当てられた状況で、その次の工芸品の担当部員を表示するプログラムを作ることにした。
最も早く空きになる部員(複数いる場合はそのうち最小の番号の部員)が、空きになった日付から次の工芸品を担当する。
最も早く空きになる部員の番号を求めるために、各部員が空きになる日付を管理する配列Akibiを用意する。この配列の添字(1から始まる。)は部員の番号であり、要素はその部員が空きになる日付である。
例えば、図1の状況では、配列Akibiは図3のようになる。図1で部員1は5日目に空きになるため、図3で要素Akibi[1]は5となる。同様に要素Akibi[3]は( カ )となる。
図3において、要素Akibi[2]が配列Akibiの最小の要素であることから、部員2が最も早く空きになることがわかる。
この考え方に基づき、Kさんは配列Akibiの要素と、部員数が代入された変数buinsuを用いて、次に割り当てる工芸品の担当部員を表示するプログラムを作成した(図4)。ここでは例として、(01)行目で図3のように配列Akibiを設定している。
仮に部員数が変わったとしても、配列Akibiと変数buinsuを適切に設定すれば、このプログラムを用いることができる。部員が5名に増えた場合、(01)行目を例えばAkibi=[5,6,4,4,4]に、(02)行目をbuinsu=5に変更して図4のプログラムを実行すると、(06)行目の代入が( ク )回行われ、「次の工芸品の担当は部員3です。」と表示される。
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
大学入学共通テスト(情報)試験 令和7年度(2025年度)本試験 問29(第3問 問7) (訂正依頼・報告はこちら)
Kさんが所属する工芸部では毎年、文化祭に向けた集中製作合宿を開催し、複数の工芸品を部員全員で分担して製作している。Kさんは今年、工芸品を製作する担当の割当て作業を行うことになった。
次の文章を読み、空欄(キ)に入れるのに最も適当なものを、後の解答群のうちから一つ選べ。
Kさんはまず、次の規則(再掲)に従い、いくつかの工芸品がすでに割り当てられた状況で、その次の工芸品の担当部員を表示するプログラムを作ることにした。
最も早く空きになる部員(複数いる場合はそのうち最小の番号の部員)が、空きになった日付から次の工芸品を担当する。
最も早く空きになる部員の番号を求めるために、各部員が空きになる日付を管理する配列Akibiを用意する。この配列の添字(1から始まる。)は部員の番号であり、要素はその部員が空きになる日付である。
例えば、図1の状況では、配列Akibiは図3のようになる。図1で部員1は5日目に空きになるため、図3で要素Akibi[1]は5となる。同様に要素Akibi[3]は( カ )となる。
図3において、要素Akibi[2]が配列Akibiの最小の要素であることから、部員2が最も早く空きになることがわかる。
この考え方に基づき、Kさんは配列Akibiの要素と、部員数が代入された変数buinsuを用いて、次に割り当てる工芸品の担当部員を表示するプログラムを作成した(図4)。ここでは例として、(01)行目で図3のように配列Akibiを設定している。
仮に部員数が変わったとしても、配列Akibiと変数buinsuを適切に設定すれば、このプログラムを用いることができる。部員が5名に増えた場合、(01)行目を例えばAkibi=[5,6,4,4,4]に、(02)行目をbuinsu=5に変更して図4のプログラムを実行すると、(06)行目の代入が( ク )回行われ、「次の工芸品の担当は部員3です。」と表示される。
- buin<tantou
- Akibi[buin]<Akibi[tantou]
- buin>tantou
- Akibi[buin]>Akibi[tantou]
正解!素晴らしいです
残念...
この過去問の解説 (1件)
01
(04)行目から(06)行目までの処理は、
(03)行目の、tantou=1(部員1) よりも、
早く空きになる部員がいないかを部員どうしで繰り返し調べる処理です。
まず、
部員2の空き日(Akibi[2]=3)を、
部員1の空き日(Akibi[1]=5)と比べます。
このとき、部員2のほうが早く空きになるので、
tantouを部員2に更新します。
これが(05行目)(06行目)の処理です。
このような比較と更新の処理を、
buin2からbuinsu=3まで変えながら
繰り返し行う処理としているのが(04行目)です。
したがって、解答はAkibi[buin]<Akibi[tantou]となります。
参考になった数0
この解説の修正を提案する
前の問題(問28)へ
令和7年度(2025年度)本試験 問題一覧
次の問題(問30)へ