大学入学共通テスト(情報) 過去問
令和5年度(2023年度)本試験
問35 (<旧課程>情報関係基礎(第3問) 問3)

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

問題

大学入学共通テスト(情報)試験 令和5年度(2023年度)本試験 問35(<旧課程>情報関係基礎(第3問) 問3) (訂正依頼・報告はこちら)

次の文章を読み、( オ )にあてはまるものを次のうちから1つ選べ。

Aさんは、天井から地上まで吊り下げられたロープをキャラクターに順次飛び移らせてゴールを目指すゲーム(図1)を遊んでいる。ロープは全部で11本あり、一列に並んでいる。ゲームはキャラクターが1本目のロープの高さ55mの地点にいる状況から始まり、11本目のロープの高さ0mの地点がゴールである。キャラクターができることは、ロープを降りることと、同じ高さのまま次のロープに飛び移ることの二つのみであり、ロープを登ったり、前のロープに戻ったりすることはできない。各ロープには1か所ずつリボンが巻かれており、キャラクターがこのリボンに触れるたびに得点を1点獲得できる。各ロープにリボンが巻かれている高さ(以下、リボンの高さと呼ぶ。)はあらかじめ決まっており、表1のとおりとなっている。ゴールに到達して最後のリボンの得点を加えたゲーム終了時の得点をできるだけ高くするため、Aさんは手続きを作成して、どのようにキャラクターを動かしたらよいか検討することにした。

(1)Aさんは手始めとして、全部で11本のロープで合計55m降りるのだから、各ロープを5mずつ降りるという動かし方を考えた。このゲームはロープの降り始めや降り終わりでもリボンに触れたとみなすので、1本目のロープで55mから50mまで降りるときは、55mの高さのリボンに触れたこととなり、1点獲得できる。2本目では50mから45mまで降りるが、ここではリボンに触れない。また、6本目では( アイ )mから( ウエ )mまで降りるが、ここでもリボンに触れない。
この動かし方での得点を求めるためにAさんが作成した手続きが図2である。なお、各ロープにおけるリボンの高さは配列Ribonに格納されており、Ribon[i]はi本目のロープのリボンの高さを表す。また、変数tokutenには得点を、変数takasaにはキャラクターが今いる高さを格納する。手続きを実行し、ゲーム終了時の得点は( キ )点であることがわかった。

図2 5mずつ降りるときの得点を求める手続き

(01)tokuten←0
(02)takasa←55
(03)iを1から11まで1ずつ増やしながら,
(04)│ もし( オ )ならば
(05)│  │ tokuten←tokutenn+1
(06)│ を実行する
(07)│ takasa←( カ )
(08)を繰り返す
(09)「得点は」とtokutenと「点」を表示する
問題文の画像
  • Ribon[i]≦takasa−5 かつ Ribon[i]≧takasa
  • Ribon[i]≦takasa−5 または Ribon[i]≧takasa
  • Ribon[i]≧takasa−5 かつ Ribon[i]≦takasa
  • Ribon[i]≧takasa−5 または Ribon[i]≦takasa

次の問題へ

正解!素晴らしいです

残念...

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

01

この条件式は、「そのロープを5m下りる間に、リボンの高さを通過したかどうか」を判定するためのものです。

この手続きでは、

 

降り始め(降下前)の高さが takasa

降り終わり(降下後)の高さが takasa − 5

となっています。

 

ロープを下りる途中(降下中)や、降下前・降下後でリボンに触れても得点になるため、
リボンの高さが「takasa から takasa−5 の範囲内」にあればよい ことになります。

 

つまり、リボンの高さ Ribon[i] は、

 

降下前の高さ以下(Ribon[i] ≦ takasa)

かつ、降下後の高さ以上(Ribon[i] ≧ takasa−5)

 

を同時に満たす必要があります。

したがって、条件式は

 

Ribon[i] ≧ takasa−5 かつ Ribon[i] ≦ takasa

 

となり、これが(オ)に入る式です。

選択肢1. Ribon[i]≦takasa−5 かつ Ribon[i]≧takasa

この条件式は「リボンの高さが takasa−5 以下 かつ takasa 以上」を表しています。

しかし、takasa−5 は takasa より小さいため、この条件を満たす高さは存在しません。

選択肢2. Ribon[i]≦takasa−5 または Ribon[i]≧takasa

この条件式は「リボンの高さが takasa−5 以下、または takasa 以上」を表しています。

takasa−5 以下の部分と takasa 以上の部分は、降下中の区間(takasa−5 から takasa の間)を含まないため、正しい条件式ではありません。

選択肢3. Ribon[i]≧takasa−5 かつ Ribon[i]≦takasa

この条件式は「リボンの高さが 降下後の高さ takasa−5 以上 かつ 降下前の高さ takasa 以下 」を表しています。

よって、この条件式が正しい判定条件となります。

選択肢4. Ribon[i]≧takasa−5 または Ribon[i]≦takasa

この条件式は「リボンの高さが 降下後の高さ takasa−5 以上 または 降下前の高さ takasa 以下 」を表しています。

つまり、リボンが降下前より低くても高くても条件を満たすことになり、正しい条件式ではありません。

まとめ

不等号の向きや論理演算子(かつ/または)を正しく理解して、条件を間違えないようにしましょう。

参考になった数0

02

この条件は「キャラクターがリボンの高さを通過したかどうか」を判定しています。

 ・降下前の高さ:takasa

 ・降下後の高さ:takasa − 5

したがって、
リボンの高さ Ribon[i] がこの区間内(上限の降下前かつ、下限の降下後)にあれば、
リボンに触れたことになります。

したがって、

 Ribon[i] ≦ takasa − 5 かつ Ribon[i] ≧ takasa

が回答になります。

参考になった数0