共通テスト 情報Ⅰ・4-5

条件分岐のトレースの一問一答

共通テスト「情報Ⅰ」の「アルゴリズムとプログラミング」から、条件分岐のトレースに関する4択問題を10問。「答えと解説を見る」を開くと、正解とその理由がその場で読めます。会員登録は不要です。

この分野の演習

全10問/解説付き・基本無料

アプリ形式で解く(全800問) アルゴリズムとプログラミングの要点解説を読む
問題

上から順に解いてみてください。答えは各問の下で確認できます。

問14-5・基礎

次のプログラムを実行したとき、表示される値はどれか。
x = 8 , y = 0
もし x >= 10 ならば:
| y = 1
そうでなければ:
⎿ y = 2
表示する(y)

  • ①2
  • ②1
  • ③0
  • ④3
答えと解説を見る
正解 ①2
解説
正解は「2」。8 >= 10 は偽なので、そうでなければ の側だけが実行されます。

なぜ
もし〜ならば の条件が真なら上の処理、偽なら そうでなければ の下の処理を、どちらか一方だけ行います。8 は 10 以上ではないので条件は偽で、y に 2 が入ります。

ひっかけ注意

・「1」…条件が真のときの処理。x が 10 以上(10、11 など)のときだけ y は 1 になる。
・「0」…どちらの処理も行われないと考えた誤り。そうでなければ があるので、必ずどちらか一方が実行される。
・「3」…両方の処理が行われ、1 と 2 が足されると考えた誤り。実行されるのは1か所だけ。
問24-5・基礎

次のプログラムを実行したとき、表示される内容はどれか。
tensu = 75
もし tensu >= 80 ならば:
| hyoka = "A"
そうでなくもし tensu >= 60 ならば:
| hyoka = "B"
そうでなければ:
⎿ hyoka = "C"
表示する(hyoka)

  • ①A
  • ②B
  • ③C
  • ④AB
答えと解説を見る
正解 ②B
解説
正解は「B」。1つ目の条件は偽、2つ目の条件 75 >= 60 が真なので B が入ります。

なぜ
そうでなくもし は、前の条件が偽だったときだけ次の条件を調べます。上から順に調べて、最初に真になったところの処理だけを行い、残りは飛ばします。

ひっかけ注意

・「A」…75 >= 80 は偽なので A にはならない。80 点以上のときだけ A。
・「C」…そうでなければ の処理は、上のどの条件も偽のとき(60 点未満)だけ行われる。
・「AB」…複数の処理が続けて行われると考えた誤り。実行されるのは最初に真になった1か所だけ。
問34-5・基礎

次のプログラムを実行したとき、表示される内容はどれか。
x = 4 , y = 9
もし x > 3 and y < 5 ならば:
| 表示する("はい")
そうでなければ:
⎿ 表示する("いいえ")

  • ①はい
  • ②はいいいえ
  • ③いいえ
  • ④何も表示されない
答えと解説を見る
正解 ③いいえ
解説
正解は「いいえ」。and は両方の条件が真のときだけ真になりますが、y < 5 が偽です。

なぜ
x > 3 は 4 > 3 で真です。しかし y < 5 は 9 < 5 で偽です。and(論理積)は片方でも偽なら全体が偽なので、そうでなければ の側が実行されます。

ひっかけ注意

・「はい」…and を or(どちらか一方が真なら真)と取り違えている。or なら 4 > 3 が真なので はい になる。
・「はいいいえ」…両方の処理が行われると考えた誤り。分岐ではどちらか一方だけ実行される。
・「何も表示されない」…そうでなければ があるので、条件が偽でも いいえ が表示される。
問44-5・基礎

次のプログラムを実行したとき、表示される値はどれか。
a = 3 , b = 12 , kekka = 0
もし a > 5 or b > 10 ならば:
⎿ kekka = a + b
表示する(kekka)

  • ①0
  • ②3
  • ③12
  • ④15
答えと解説を見る
正解 ④15
解説
正解は「15」。or はどちらか一方が真なら真になり、b > 10 が真です。

なぜ
a > 5 は 3 > 5 で偽ですが、b > 10 は 12 > 10 で真です。or(論理和)は1つでも真があれば全体が真なので、kekka に 3 + 12 = 15 が入ります。

ひっかけ注意

・「0」…or を and(両方とも真のときだけ真)と取り違え、代入が行われないと考えた誤り。
・「3」…a の値をそのまま表示すると考えた誤り。kekka には a と b の和 3 + 12 = 15 が入る。
・「12」…b の値をそのまま表示すると考えた誤り。kekka = a + b なので 3 も足す。
問54-5・標準

次のプログラムは得点 tensu から評価を決める。tensu が 95 のとき、表示される内容はどれか。
tensu = 95
もし tensu >= 60 ならば:
| hyoka = "C"
そうでなくもし tensu >= 80 ならば:
| hyoka = "B"
そうでなくもし tensu >= 90 ならば:
| hyoka = "A"
そうでなければ:
⎿ hyoka = "D"
表示する(hyoka)

  • ①C
  • ②A
  • ③B
  • ④D
答えと解説を見る
正解 ①C
解説
正解は「C」。最初の条件 95 >= 60 が真なので、そこで決まり、後ろの条件は調べません。

なぜ
そうでなくもし は、前の条件がすべて偽のときだけ調べられます。このプログラムは、ゆるい条件(60 以上)を先に書いたため、60 点以上なら何点でも C になってしまいます。点数で分けるときは、厳しい条件(90 以上)から順に書く必要があります。

ひっかけ注意

・「A」…95 は 90 以上だが、1つ目の条件で決まるので、3つ目の条件まで調べが進まない。
・「B」…80 以上の条件も、1つ目で決まったため調べられない。
・「D」…そうでなければ は、どの条件も偽のとき(60 点未満)だけ実行される。
問64-5・標準

次のプログラムを実行したとき、表示される値はどれか。
x = 5
もし x > 3 ならば:
⎿ x = x - 3
もし x > 1 ならば:
⎿ x = x * 10
表示する(x)

  • ①2
  • ②20
  • ③50
  • ④5
答えと解説を見る
正解 ②20
解説
正解は「20」。2つの もし は別々の文なので、両方とも順に調べられます。

手順
①1つ目:5 > 3 は真なので、x は 5 − 3 = 2 になる。
②2つ目:書き換わった x = 2 で調べる。2 > 1 は真。
③x は 2 × 10 = 20 になる。

ひっかけ注意

・「2」…2つ目を そうでなくもし のように考え、1つ目が真なら2つ目は調べないとした誤り。⎿ で1つ目の文は終わっている。
・「50」…2つ目の計算に、書き換える前の 5 を使っている。2つ目を調べる時点で x は 2。
・「5」…どちらの処理も行われないと考えた誤り。5 > 3 は真なので1つ目の処理が行われる。
問74-5・標準

次のプログラムを実行したとき、表示される値はどれか。
a = 7 , b = 4
もし a > b ならば:
| もし a % 2 == 0 ならば:
| | kekka = a
| そうでなければ:
| ⎿ kekka = a + b
そうでなければ:
⎿ kekka = b
表示する(kekka)

  • ①7
  • ②4
  • ③11
  • ④3
答えと解説を見る
正解 ③11
解説
正解は「11」。外側の条件 7 > 4 が真、内側の条件 7 % 2 == 0 が偽なので、a + b が入ります。

手順
①外側:7 > 4 は真なので、字下げされた内側の分岐へ進む。
②内側:7 % 2 は 1 なので、1 == 0 は偽。
③内側の そうでなければ により、kekka = 7 + 4 = 11。
字下げの深さ(|の数)で、どの そうでなければ がどの もし に対応するかを読み取ります。

ひっかけ注意

・「7」…内側の条件を真と考えた誤り。7 は奇数なので 7 % 2 は 1 で、偽になる。
・「4」…外側の条件を偽と考えた誤り。7 > 4 は真なので外側の そうでなければ は実行されない。
・「3」…a − b を計算している。7 − 4 = 3 だが、このプログラムに引き算の処理は無い。
問84-5・標準

整数 y について、次の条件式が真になるものはどれか。
(y % 4 == 0 and y % 100 != 0) or y % 400 == 0

  • ①1900
  • ②2100
  • ③1800
  • ④2000
答えと解説を見る
正解 ④2000
解説
正解は「2000」。2000 は 400 で割り切れるので、or の右側が真になります。

手順
①かっこの中は、4 で割り切れて、しかも 100 で割り切れないときに真。
②4つの数はどれも 100 で割り切れるので、かっこの中はすべて偽。
③残るのは y % 400 == 0 だけ。400 で割り切れるのは 2000 だけ(2000 = 400 × 5)。

ひっかけ注意

・「1900」…4 で割り切れるが 100 でも割り切れ、400 で割ると余り 300 なので偽。
・「2100」…100 で割り切れ、400 で割ると余り 100 なので偽。
・「1800」…400 で割ると余りが 200 になるので偽。
問94-5・標準

「x が 10 以上 20 未満のときだけ」処理を行いたい。もし の条件として正しいものはどれか。

  • ①x >= 10 and x < 20
  • ②x >= 10 or x < 20
  • ③x > 10 and x <= 20
  • ④x > 10 or x <= 20
答えと解説を見る
正解 ①x >= 10 and x < 20
解説
正解は「x >= 10 and x < 20」。以上は >=、未満は < で表し、両方を満たすので and でつなぎます。

なぜ
以上と以下はその数を含み、より大きい・未満はその数を含みません。10 以上 20 未満は、10 を含み 20 を含みません。範囲の内側を表すときは、両方の条件を同時に満たす and を使います。

ひっかけ注意

・「x >= 10 or x < 20」…どんな x もどちらかを満たすので、いつも真になる(例:x = 100 でも x >= 10 が真)。
・「x > 10 and x <= 20」…10 を含まず 20 を含む範囲。x = 10 で偽、x = 20 で真になり逆。
・「x > 10 or x <= 20」…これもどんな x でもどちらかを満たし、いつも真になる(例:x = 5 でも x <= 20 が真)。
問104-5・標準

条件式 not (x > 0 and y > 0) と、どの整数 x、y についても真偽が同じになる条件式はどれか。

  • ①x <= 0 and y <= 0
  • ②x <= 0 or y <= 0
  • ③x < 0 or y < 0
  • ④x < 0 and y < 0
答えと解説を見る
正解 ②x <= 0 or y <= 0
解説
正解は「x <= 0 or y <= 0」。両方が正、の否定は、少なくとも一方が 0 以下、になります。

なぜ
x > 0 and y > 0 は、x と y がともに正のときだけ真です。それを not で否定すると、どちらか一方でも正でないときに真になります。x > 0 の否定は x <= 0 です(0 も含む)。and の否定は、それぞれを否定して or でつないだ形になります(ド・モルガンの法則)。

ひっかけ注意

・「x <= 0 and y <= 0」…x = 1、y = 0 のとき偽になるが、元の式は真。and と or が逆。
・「x < 0 or y < 0」…x = 0、y = 1 のとき偽になるが、元の式は真(0 は正ではない)。
・「x < 0 and y < 0」…両方とも負のときしか真にならず、x = 0、y = 5 などを取りこぼす。

当サイトは、独立行政法人 大学入試センターとは一切関係のない、非公式の学習サイトです。試験に関する最新情報は、大学入試センターの公式サイトでご確認ください。

共通テスト 情報Ⅰ 基礎完全対策(全800問)に戻る

※本ページでは、アクセス解析(Googleアナリティクス)と、広告の配信・成果の計測(A8.net)のためにCookie等を利用し、閲覧に関する情報をGoogle LLC・株式会社ファンコミュニケーションズへ送信しています。詳しくはプライバシーポリシーをご覧ください。

※本ページの問題・解説は、生成AI(人工知能)を活用して作成しています。

【PR】