共通テスト(情報) 過去問
令和7年度(2025年度)本試験
問33 (第3問 問11)

このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。

問題

共通テスト(情報)試験 令和7年度(2025年度)本試験 問33(第3問 問11) (訂正依頼・報告はこちら)

次の文章を読み、空欄(サ)に入れるのに最も適当なものを、後の解答群のうちから一つ選べ。

次にKさんは、工芸部の部員数と、表1のような各工芸品の製作日数を用いて、図2のような一覧を表示するプログラムを作ることにした。

表1をプログラムで扱うために、Kさんは工芸品の番号順に製作日数を並べた配列Nissu(添字は1から始まる。)を用意した。さらに、工芸品数9が代入された変数kougeihinsu,各部員が空きになる日付を管理する配列Akibi,部員数3が代入された変数buinsuを用いて、図2の一覧を表示するプログラムを作成した(図5)。最初はどの部員も合宿初日すなわち1日目で空きであるため、(03)行目で配列Akibiの各要素を1に設定している。
工芸品の番号を表す変数kougeihinを用意し、(05)〜(11)行目で各工芸品に対して順に担当と期間を求めていく。破線で囲まれた(06)〜(09)行目は問2における図4の(03)〜(06)行目と同じもので、次に割り当てる工芸品の担当部員の番号を変数tantouに代入する処理を行う。(10)行目で図2の1行分を表示し、(11)行目で担当部員が空きになる日付を更新する。
問題文の画像
  • Nissu[kougeihin]
  • Nissu[tantou]
  • Nissu[kougeihin]−1
  • Nissu[tantou]−1
  • Nissu[kougeihin−1]
  • Nissu[tantou−1]

正解!素晴らしいです

残念...

この過去問の解説 (2件)

01

Akibi[tantou](サ)は、工芸品の製作期間が終了する日付です。

 

例えば図2の、
工芸品5…部員2:3日目5日目
で考えます。

 

部員2が空きになる日付(3日目)+工芸品5の製作日数(3日間)

 =部員2が工芸品5を製作した後に空きになる日付(6日目)

なので、工芸品5の製作終了日は空きになる日付の前日(6日目-1=5日目)になります。

 

つまり、
部員2が空きになる日付(3日目)工芸品5の製作日数(3)-1(前日)

 =工芸品5の製作期間が終了する日付(5日目)
です。

選択肢1. Nissu[kougeihin]


Akibi[tantou]+Nissu[kougeihin]は、担当部員が工芸品を製作した後に空きになる日付です。

選択肢2. Nissu[tantou]


製作日数Nissuと担当部員の番号tantouは対応していません。

選択肢3. Nissu[kougeihin]−1


Akibi[tantou]Nissu[kougeihin]-1は、担当部員が工芸品を製作した後に空きになる日付の前日=製作終了日です。

選択肢4. Nissu[tantou]−1


製作日数Nissuと担当部員の番号tantouは対応していません。

選択肢5. Nissu[kougeihin−1]


これは、1つ前の工芸品の製作日数です。

選択肢6. Nissu[tantou−1]


製作日数Nissuと担当部員の番号tantouは対応していません。

参考になった数0

02

(10)行目により、図2の1行を表示します。
例えば、工芸品1の場合、

 

 「 工芸品1…部員1:1日目~4日目 」 

 

となります。

 

解答箇所は、「4」にあたる部分です。
この値は、
担当する部員の空き日から、
工芸品の製作日数だけ作業を行い、
その最終日を表しています。

 

そのため、
部員1の空き日である
Akibi[1] =1に、
工芸品1の製作日数
Nissu[1] =4を加え、
開始日を含めるために1を引きます。

 

1+4-1=4となります。

 

したがって、空欄に入るのは、「 Nissu[kougeihin] - 1 」
となります。
 

参考になった数0