大学入学共通テスト(数学) 過去問
令和4年度(2022年度)本試験
問161 (情報関係基礎(第3問) 問4)

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

問題

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

Kさんは、あみだくじを表示するプログラムを作ろうと考えた。どの文字も同じ幅で表示されることを仮定して、記号の「┃」・「┣」・「┫」という文字と改行を使うことにした。文字の左右および行間に隙間のない表示をすれば、これらの記号がつながって、あみだくじの線に見える。
あみだくじには縦線が2本以上、横線が1本以上ある。プログラムを簡単にするため、横線は隣り合う縦線の間のみを結ぶとし、一つの行にはちょうど1本だけ横線があるとした。
例えば、縦線が3本で横線が4本であるあみだくじを、図1のように4行で表示する。この図で点線は文字の枠を示しており、各行の右端で改行している。このあみだくじの一番上の横線は左から2本目と3本目の縦線を結んでおり、「┃」・「┣」・「┫」と改行をこの順に表示することで1行目を出力できる。上から2番目の横線は左から1本目と2本目の縦線を結んでおり、1行目の表示に続けて「┃」・「┣」・「┫」と改行をこの順に表示することで2行目を出力できる。3行目と4行目も同様である。

次の文章を読み、空欄( エ )に最も適当なものを、後の解答群のうちから一つ選べ。

表示したいあみだくじを指定するために、縦線の本数を変数tateに、横線の位置の情報を整数の配列Yokosenに、横線の本数を変数yokoに入れることにした。配列の要素Yokosen[y]がxであることは、上からy番目の横線が左からx番目の縦線とx+1番目の縦線を結ぶことを表す。
例えば、図1のあみだくじを表示するには、tateを( ア ),yokoを4と設定し、Yokosen[1]←2,Yokosen[2]←1,Yokosen[3]←( イ ),Yokosen[4]←( ウ )と設定する。以下では、配列の要素の並びを[ ]でくくって配列全体を表すことがある。例えば、上記のように設定されたYokosenは[2,1,( イ ),( ウ )]と表せる。
このようにtate,yoko,Yokosenが設定されているとき、あみだくじを表示する手続きとして、図2を作成した。

図2 あみだくじを表示する手続き

(01)yを1からyokoまで1ずつ増やしながら、
(02)│  x←1
(03)│  x≦tateの間、
(04)│  │  もし( エ )ならば
(05)│  │  │  「┣」を改行なしで表示する
(06)│  │  │  「┫」を改行なしで表示する
(07)│  │  │  ( オ )
(08)│  │  を実行し、そうでなければ
(09)│  │  │  「┃」を改行なしで表示する
(10)│  │  │  x←x+1
(11)│  │  を実行する
(12)│  を繰り返す
(13)│  改行を表示する
(14)を繰り返す
  • Yokosen[x]≠y
  • Yokosen[x]=y
  • Yokosen[x]<y
  • Yokosen[y]≠x
  • Yokosen[y]=x
  • Yokosen[y]<x
  • Yokosen[x]≠x
  • Yokosen[x]=x
  • Yokosen[x]<x

次の問題へ

正解!素晴らしいです

残念...

この過去問の解説

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