大学入学共通テスト(情報) 過去問
令和7年度(2025年度)追・再試験
問29 (第3問 問4)
問題文
次の文章を読み、後の問いに答えよ。
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年度)追・再試験 問29(第3問 問4) (訂正依頼・報告はこちら)
次の文章を読み、後の問いに答えよ。
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)行目ではそれらを表示する。なお、「==」は両辺の値が等しいかどうかを調べる比較演算子である。
- Iremono[i]==1
- Iremono[i]==2
- Iremono[i]==gomi
- Shurui[i]==1
- Shurui[i]==2
- Shurui[i]==kanen
正解!素晴らしいです
残念...
この過去問の解説 (2件)
01
図4の、(エ)前後のコードを確認すると、
となっており、条件を満たすときに入れ物と一緒に量ったごみの重量から350を引く処理を行っています。
問題文には、入れ物の重量について以下の記述があります。
・バケツの重量:350g
・ごみ袋の重量:0g(無視できる)
このことから、350を引く処理が必要なのは「入れ物がバケツのとき」であると判断できます。
入れ物の種類を管理する配列Iremonoの仕様を確認します。
・バケツ:1
・ごみ袋:2
つまり、「入れ物がバケツである」ことは、Iremono[i]の値が1であることを指します。
以上のことから、(04)行目のもし(条件)に当てはまるのは「Iremono[i]が1と等しいとき」となり、Iremono[i] == 1となります。
参考になった数0
この解説の修正を提案する
02
図4のプログラムは問題文の説明より、
ごみの種類ごとの総重量を集計し表示するものです。
(05)行目の処理は、バケツの重量である350gを
入れ物と一緒に量ったごみの重量である配列Keiryouから差し引いている処理とわかります。
このことから、
(04)行目の処理は、
入れ物の種類がバケツの場合を想定した条件と考えられます。
入れ物(バケツは1,ごみ袋は2で表される。)と記載されているため、
(04)行目の処理はIremono[i]==1が真である場合の処理をさします。
適切です。
冒頭の説明の通り、
Iremono[i]==1が正解となります。
参考になった数0
この解説の修正を提案する
前の問題(問28)へ
令和7年度(2025年度)追・再試験 問題一覧
次の問題(問30)へ