KM-27|情報Ⅰ 対策問題
令和7年度追試 第3問 問1 Uさんのクラスではひと月に一度、生徒全員で近隣地域のごみ拾い活動をする。各生徒は、可燃ごみと不燃ごみのどちらの種類のごみを集めるかをあらかじめ決めた上で、拾ったごみの入れ物として学校指定のバケツかごみ袋のいずれかを持ってごみ拾いに出かける。ごみ拾いから帰ると、記録用紙に、自分の出席番号、ごみ拾いに使った入れ物、集めたごみの種類、入れ物と一緒に量ったごみの重量(g)を記入する。 まずUさんは、記録用紙の内容をプログラムで集計できるよう、クラスの生徒40人のごみ拾いの結果を格納する図1の配列 Iremono、Shurui、Keiryou を考えた。各配列の添字は生徒の出席番号と同じであり、1から始まる。配列 Iremono には、生徒が利用したごみの入れ物を、バケツは1、ごみ袋は2として数値で格納する。配列 Shurui には、生徒が集めたごみの種類を、可燃ごみは1、不燃ごみは2として数値で格納する。配列 Keiryou には、入れ物と一緒に量ったごみの重量を数値で格納する。 Uさんは、生徒を指定して一人分のごみ拾いの結果を各配列に格納する図2のプログラムを作成した。(02)行目では入力された生徒の出席番号を変数 n に代入する。(03)〜(08)行目では表示された指示に従って入力された数値を、対応する配列に格納する。 図2の空欄ア・イに入れる組合せとして最も適当なものを選べ。

解答・解説を見る
正解: 1
正答
1
問題の整理
3つの配列は「どの生徒の・何のデータか」を次の仕組みで管理しています。
- 配列の名前が「何のデータか」を表す (Iremono=入れ物、Shurui=種類、Keiryou=重量)
- **添字(カッコの中の番号)**が「どの生徒か」を表す (出席番号と同じ)
空欄に入れる式は、この2つを正しく組み合わせたものになります。
解き方
- どの配列か: 空欄アの直前の(05)行は「ごみの種類は?」と表示しています。だから入力された値はごみの種類の配列 Shurui へ。空欄イの直前の(07)行は「計量結果は?」なので Keiryou へ。プログラムの空欄補充では、このように直前の表示文が「今、何を入力させているか」のヒントになります。
- どの添字か: (02)行で「n =【整数を入力】」と、生徒の出席番号を変数 n に入れています。データはその生徒の場所に格納したいので、添字は n です。
よって ア = Shurui[n]、イ = Keiryou[n] です。
もし添字を n でなく 1 のような定数にすると、誰が入力しても「出席番号1番の場所」に上書きされ、40人分のデータが保存できません。変数を添字に使うことで、入力のたびに格納先が変わる——これが配列と変数を組み合わせる基本の型で、第3問プログラミングの土台になります。
選択肢の確認
1.○ 種類→Shurui[n]、重量→Keiryou[n]。
2.× 添字1では全員のデータが1番の生徒に上書きされる。
3.× 種類と重量の配列が逆(表示文と対応しない)。
4.× Iremonoは(04)行で入力済み。同じ配列に2回入れることになる。
ここだけは覚えよう
配列名=何のデータ、添字=誰のデータ — 直前の表示文が「どの配列に入れるか」のヒント。