大学入学共通テスト(情報) 過去問
令和7年度(2025年度)追・再試験
問31 (第3問 問6)
問題文
次の文章を読み、後の問いに答えよ。
Uさんのクラスではひと月に一度、生徒全員で近隣地域のごみ拾い活動をする。
各生徒は、可燃ごみと不燃ごみのどちらの種類のごみを集めるかをあらかじめ決めた上で、拾ったごみの入れ物として学校指定のバケツかごみ袋のいずれかを持ってごみ拾いに出かける。ごみ拾いから帰ると、教室の掲示板に貼られた記録用紙に、自分の出席番号、ごみ拾いに使った入れ物、集めたごみの種類、入れ物と一緒に量ったごみの重量(g)を記入する。
生徒全員の記入が終わった後、集計係は記録用紙に記入された内容から、生徒全員で集めたごみの総重量をごみの種類ごとに集計する。これを手作業で集計するのが大変だと聞いたUさんは、集計作業を省力化するプログラムを作成することにした。
各配列の添字は、生徒の出席番号と同じであり、1から始まる。配列Iremonoには、生徒が利用したごみの入れ物を、バケツは1、ごみ袋は2として数値で格納する。配列Shuruiには、生徒が集めたごみの種類を、可燃ごみは1、不燃ごみは2として数値で格納する。配列Keiryouには、入れ物と一緒に量ったごみの重量を数値で格納する。
次の文章を読み、空欄( カ )に入れるのに最も適当なものを、後の解答群のうちから一つ選べ。
生徒全員のごみ拾いの結果が配列に格納された後、集計係はごみの総重量を計算するプログラムを動かす。ただしこの時点では、配列Keiryouには入れ物と一緒に量ったごみの重量が格納されているので、ごみの総重量を正確に集計するには入れ物の重量を引く必要がある。なお、バケツの重量は350gであるが、ごみ袋の重量は無視できるとして0gとする。
そこでUさんは、ごみ拾いの結果がすべて格納された図3の各配列を用いて、ごみの種類ごとの総重量を集計し表示する図4のプログラムを考えた。なお、図3の配列は生徒全員がごみ拾いを終えた後のもので、未入力の要素はない。
図4の(01)行目では、変数ninzuにクラスの生徒数として40を代入する。(02)行目では、可燃ごみの総重量を集計するための変数kanen,不燃ごみの総重量を集計するための変数funenを初期化する。(04)〜(07)行目では、入れ物(バケツは1,ごみ袋は2で表される。)を除いたごみの重量を求め、変数gomiに代入する。(08)〜(11)行目では、ごみの種類(可燃ごみは1,不燃ごみは2で表される。)ごとの総重量を集計し、(12)・(13)行目ではそれらを表示する。なお、「==」は両辺の値が等しいかどうかを調べる比較演算子である。
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
大学入学共通テスト(情報)試験 令和7年度(2025年度)追・再試験 問31(第3問 問6) (訂正依頼・報告はこちら)
次の文章を読み、後の問いに答えよ。
Uさんのクラスではひと月に一度、生徒全員で近隣地域のごみ拾い活動をする。
各生徒は、可燃ごみと不燃ごみのどちらの種類のごみを集めるかをあらかじめ決めた上で、拾ったごみの入れ物として学校指定のバケツかごみ袋のいずれかを持ってごみ拾いに出かける。ごみ拾いから帰ると、教室の掲示板に貼られた記録用紙に、自分の出席番号、ごみ拾いに使った入れ物、集めたごみの種類、入れ物と一緒に量ったごみの重量(g)を記入する。
生徒全員の記入が終わった後、集計係は記録用紙に記入された内容から、生徒全員で集めたごみの総重量をごみの種類ごとに集計する。これを手作業で集計するのが大変だと聞いたUさんは、集計作業を省力化するプログラムを作成することにした。
各配列の添字は、生徒の出席番号と同じであり、1から始まる。配列Iremonoには、生徒が利用したごみの入れ物を、バケツは1、ごみ袋は2として数値で格納する。配列Shuruiには、生徒が集めたごみの種類を、可燃ごみは1、不燃ごみは2として数値で格納する。配列Keiryouには、入れ物と一緒に量ったごみの重量を数値で格納する。
次の文章を読み、空欄( カ )に入れるのに最も適当なものを、後の解答群のうちから一つ選べ。
生徒全員のごみ拾いの結果が配列に格納された後、集計係はごみの総重量を計算するプログラムを動かす。ただしこの時点では、配列Keiryouには入れ物と一緒に量ったごみの重量が格納されているので、ごみの総重量を正確に集計するには入れ物の重量を引く必要がある。なお、バケツの重量は350gであるが、ごみ袋の重量は無視できるとして0gとする。
そこでUさんは、ごみ拾いの結果がすべて格納された図3の各配列を用いて、ごみの種類ごとの総重量を集計し表示する図4のプログラムを考えた。なお、図3の配列は生徒全員がごみ拾いを終えた後のもので、未入力の要素はない。
図4の(01)行目では、変数ninzuにクラスの生徒数として40を代入する。(02)行目では、可燃ごみの総重量を集計するための変数kanen,不燃ごみの総重量を集計するための変数funenを初期化する。(04)〜(07)行目では、入れ物(バケツは1,ごみ袋は2で表される。)を除いたごみの重量を求め、変数gomiに代入する。(08)〜(11)行目では、ごみの種類(可燃ごみは1,不燃ごみは2で表される。)ごとの総重量を集計し、(12)・(13)行目ではそれらを表示する。なお、「==」は両辺の値が等しいかどうかを調べる比較演算子である。
- 0
- 1
- 2
- gomi
- ninzu
- kanen
- funen
- Keiryou[i]
- Iremono[i]
- Shurui[i]
正解!素晴らしいです
残念...
この過去問の解説 (2件)
01
図4の、(カ)付近のコードを確認すると、
となっており、(カ)に入る値と、入れ物の重量を除いたごみの重量gomiを加算したものを、可燃ごみの総重量を集計するための変数kanenに代入しています。
ここで、kanenは「これまでに集計した可燃ごみの総重量」を保持する変数です。
つまり、新しく集めたごみの重量gomiを、これまでの総重量に加算していく必要があります。
したがって、(カ)には「これまでの可燃ごみの総重量」、つまり「kanen自身の値」を入れる必要があります。
以上のことから、(カ)に当てはまるのは「kanen」となり、kanen = kanen + gomiとなります。
参考になった数0
この解説の修正を提案する
02
(08)〜(11)行目では、
ごみの種類(可燃ごみは1,不燃ごみは2で表される。)ごとの総重量を集計する処理となります。
(09)行目の処理は可燃ごみである場合、
可燃ごみの総重量を集計するための変数kanenに
生徒が計量したごみの重量であるKeiryo[i]を代入した変数gomiを加算しています。
図4のプログラムでは、
可燃ごみの総重量を求める必要があるため、
変数kanenに変数gomiを加算し加算した値をkanenに代入する処理を繰り返すことで
変数kanenに可燃ごみの総重量が算出されます。
よって、
(09)行目の処理でgomiが加算される変数はkanenとなります。
適切です。
冒頭の説明の通り、
変数gomiが加算される変数kanenが正解となります。
参考になった数0
この解説の修正を提案する
前の問題(問30)へ
令和7年度(2025年度)追・再試験 問題一覧
次の問題(問32)へ