共通テスト 情報教育全般 情報関係基礎

【解説】情報関係基礎 平成28年度 センター試験 2016

共通テスト
スポンサーリンク

第3問(選択)

この問題はよくできているなと感じました。問題文をしっかり読み、プログラムで何を実現したいのかが分かれば解けるはずです。

問1

ア・イ・ウ・エ

一つの箱には、重さの合計が9kg以下になる4個以下の商品を入れることができる。

さらに、今回は以下の基本ルールに沿って箱に商品を詰めていきます。

基本ルール: 番号が小さい商品から順に、その商品を入れることができる箱の中で、番号が最も小さい箱に入れる。

8個の商品の重さが、2, 8, 1, 1, 6, 6, 1, 2である場合、

1番目の商品(2kg)は箱1へ。

2番目の商品(8kg)は、箱1に入れると重さが9kgを超えるので箱2へ。

3番目の商品(1kg)は箱1へ。

4番目の商品(1kg)は箱1へ。

5番目の商品(6kg)は、箱1・箱2どちらに入れても9kgを超えるので箱3へ。

6番目の商品(6kg)は、箱1・箱2・箱3どれに入れても9kgを超えるので箱4へ。

7番目の商品(1kg)は、箱1へ。

8番目の商品(2kg)は、箱1だとすでに4個の商品が入っており、箱2だと9kgを超えるので箱3へ入れる。

となります。図にするとわかりやすいかもしれません。

よって必要な箱は4個となります。

 

問2

問2は基本ルールに従った作業指示書のプログラムです。

基本ルール: 番号が小さい商品から順に、その商品を入れることができる箱の中で、番号が最も小さい箱に入れる。

変数・配列の意味を考えれば解けるかなと思います。

syohinsu : 商品の個数

hakosu : 必要な箱数

 

オ・カ

【オ】>9または【カ】=4の間、

という部分から、新しい箱を追加したときに、

一つの箱には、重さの合計が9kg以下になる4個以下の商品を入れることができる。

この条件を満たすか確認しているであろうことが分かります。

なので、【オ】には、Omosa[j] + SOmosa[i]が、【カ】にはHKosu[j]が入ります。変数iは商品番号を、変数jは箱の番号を示していますね。

(05)でj ← j+1 となっているので、(04)の条件を満たさない場合(すなわち、商品を箱に入れるとその箱の重さが9kgを超えてしまうか既に4個の商品が入ってしまっている場合)は次の箱を検証します。

 

キ・ク

(04)~(06)行目のループを抜けると、商品iを入れる箱jが決まります。

(07)行目で、「i番目の商品をj番目の箱に入れる」と表示していますね。

(08)行目では、商品を入れた後、箱jの重さがどうなるのかと箱jの中に入っている商品の個数がどうなるのかを示しています。

当然、商品i分重くなりますから、【キ】にはHOmosa[j] + SOmosa[i]が入ります。

また、入っている商品の個数は+1されるので【ク】にはHKosu[j] + 1が入ります。

 

変数hakosuには必要な箱の数が格納されています。

(04)~(06)行目で、商品を入れる箱を決めますが、変数jがhakosuより大きくなってしまった場合は新たに箱を追加したということなので、hakosuにはjが入るということになりますね。

よって(09)行目は もしj > hakosu ならば hakosu ← j を実行する

となります。

 

問3

プログラム部分がやや難易度が高かったでしょうか。センターが発表している問題作成部会の見解でも問3の正答率が低かったとありました。

 

コ・サ・シ・ス

重さ重視ルールという新たなルールが登場しました。

つまり、商品を追加していく際に、そのとき一番重い箱に商品を入れるということですね。(もちろん、9kg以下・4個以下は満たしつつ)

図を描いてイメージしやすくしましょう。

この場合、箱の数は3つで済みますね。

商品番号1, 4, 5が箱1に、商品番号2, 3が箱2に、商品番号6, 7, 8が箱3に入ります。

 

セ・ソ・タ・チ・ツ・テ

変数kが増えたことで難しそうに見えますが、大部分は問2と同じです。

重さ重視ルールと基本ルールの違いは、一番重い箱に入れるという点です。なので、新たに増えた個所は、その判定をしていると考えることができます。

 

jは何番目の箱に入れるかを表す変数でした。(06)行目ではj ← kとなっていることから、kも箱の番号を表しており、(05)行目の判定により、kの箱が9kg以下&4個未満を満たしつつもjより重い箱であることが分かったためjにkを代入しているとわかります。

 

非常に考え抜かれているプログラムだなと思いました。

 

コメント

  1. マサキ より:

    本当に本当にありがとうございます!!!!

  2. やんちゃん より:

    ありがとうございます♪これで勉強捗ります!

タイトルとURLをコピーしました