大学入学共通テスト(数学) 過去問
令和6年度(2024年度)追・試験
問152 (情報関係基礎(第3問) 問13)

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

問題

大学入学共通テスト(数学)試験 令和6年度(2024年度)追・試験 問152(情報関係基礎(第3問) 問13) (訂正依頼・報告はこちら)

次の文章を読み、問いに答えよ。

Aさんはゲーム会社に勤務しており、複数のプレイヤーが参加するゲームでのプレイヤーの順番(以下、手番と呼ぶ。)を管理するプログラムを開発している。ここでは図1に示すように、「高橋」を先頭として「高橋」→「石村」→「天野」→「小池」→「渡辺」の順で時計回りに手番が進み、最後の「渡辺」の次は「高橋」に戻り、再び同じ順で手番が繰り返される例について考える。

このゲームでは、プレイヤーがゲームに新たに参加したり抜けたりすることがある。図3・図4は、図1で示した手番の並びでの例である。Aさんは、プレイヤーを手番の並びに追加する手続きを考えた。図3では、「高橋」と「石村」の間に「三田」が新たに追加されている。この場合、「三田」の次のプレイヤーは「高橋」の次のプレイヤーである( オ )になり、「高橋」の次のプレイヤーは( カ )になる。つまり、あるプレイヤー(行番号x)の次に新たなプレイヤー(行番号tuika)を追加する手順は、図5のように、配列Playerにおいてそれぞれの列2の値を変更する手続きになる。(03)行目ではゲームの参加者数nの値を変更している。

図5 プレイヤーを手番の並びに追加する手続き
(01)Player[tuika,2]←( キ )
(02)Player[x,2]←( ク )
(03)n←( ケ )

次に、Aさんは任意のプレイヤーが手番の並びから抜ける手続きの作成にとりかかった。抜けるプレイヤーを配列から削除するのではなく、手番の並びを変更し、そのプレイヤーにたどり着かないようにする手順を考えた。図4は、図1で示した手番の並びから「渡辺」が抜ける例である。この場合、「渡辺」の前
にいる「小池」の次のプレイヤーは( コ )になる。そこで、手番の並びから抜
けるプレイヤー(行番号nuke)の前にいるプレイヤーを特定し、そのプレイヤーの列2の値を変更する手続きを図6のように書いた。問1と同じく、変数sentoは先頭のプレイヤーの行番号を格納している。変数pを用いて先頭から手番の並びをたどりながら、抜けるプレイヤーの前にいるプレイヤーの行番号を求め、(05)行目でそのプレイヤーの列2の値を変更している。(06)行目では、ゲームの参加者数nの値を変更している。この手続きでは、先頭のプレイヤーが抜けた場合の変数sentoの値の変更処理は省略している。

図6 プレイヤーが手番の並びから抜ける手続き
(01)p←sento
(02)( サ )の間,
(03)¦p←( エ )
(04)を繰り返す
(05)Player[p,2]←( シ )
(06)n←( ス )

( ス )にあてはまるものを1つ選べ。
  • Player[x,2]
  • Player[nuke,2]
  • Player[tuika,2]
  • n
  • n+1
  • n−1
  • tuika
  • tuika+1
  • tuika−1
  • nuke
  • nuke+1
  • nuke−1

次の問題へ

正解!素晴らしいです

残念...

この過去問の解説

まだ、解説がありません。