条件分岐

テーマ

プログラミング · 条件分岐 · QUESTION 001

次のプログラムの実行した際の表示結果を答えよ。

(1)x = 7
(2)もし x < 10 ならば:
(3)| 表示する("xに10を加える。")
(4)⎿ x = x + 10
(5)表示する("xの値は", x)
答えと解説を見る

答えxに10を加える。 xの値は17

解説x=7では条件x<10が成り立つため、まず「xに10を加える。
」と表示します。
続いてxを7+10=17へ更新し、分岐の外で「xの値は17」と表示します。

プログラミング · 条件分岐 · QUESTION 002

次のプログラムの実行した際の表示結果を答えよ。

(1)x = 11
(2)もし x < 10 ならば:
(3)| 表示する("xに10を加える。")
(4)⎿ x = x + 10
(5)表示する("xの値は", x)
答えと解説を見る

答えxの値は11

解説x<10が偽なら、条件の中の加算処理は実行されません。
xが11なら、そのまま11が残ります。

プログラミング · 条件分岐 · QUESTION 003

次のプログラムでageに17と入力したときの実行した際の表示結果を答えよ。

(1)age = 【外部からの入力】 #17と入力
(2)もし age >= 18 ならば:
(3)⎿ 表示する("成人です。")
答えと解説を見る

答え※ なにも表示されない。

解説条件が偽で、elseもない場合は、どの分岐の処理も実行されません。
条件式の真偽と、用意された分岐の数を分けて考えます。

プログラミング · 条件分岐 · QUESTION 004

次のプログラムの実行した際の表示結果を答えよ。

(1)x = 7
(2)もし x > 10 ならば:
(3)| 表示する("xは10より大きいです。")
(4)そうでなければ:
(5)⎿ 表示する("xは10以下です。")
答えと解説を見る

答えxは10以下です。

解説x>10が偽のときは、xが10以下であることが分かります。
else側では、その条件に対応する処理が行われます。

プログラミング · 条件分岐 · QUESTION 005

次のプログラムでageに17と入力したときの実行した際の表示結果を答えよ。

(1)age = 【外部からの入力】 #17と入力
(2)もし age >= 18 ならば:
(3)| 表示する("成人です。")
(4)そうでなければ:
(5)⎿ 表示する("未成年です。")
答えと解説を見る

答え未成年です。

解説年齢が18歳以上かを判定し、偽ならelse側を実行します。
17歳では成人の分岐に入らず、未成年側の処理になります。

プログラミング · 条件分岐 · QUESTION 006

次のプログラムの実行した際の表示結果を答えよ。

(1)x = 10
(2)もし x % 2 == 0 ならば:
(3)| 表示する("xは偶数です。")
(4)そうでなければ:
(5)⎿ 表示する("xは奇数です。")
答えと解説を見る

答えxは偶数です。

解説2で割った余りが0なら偶数です。
10%2は0なので、10は偶数と判定されます。

プログラミング · 条件分岐 · QUESTION 007

次のプログラムの実行した際の表示結果を答えよ。

(1)x = 123
(2)もし x % 2 == 0 ならば:
(3)| x = x / 2
(4)そうでなければ:
(5)⎿ x = 3 * x + 1
(6)表示する("xの値は", x)
答えと解説を見る

答えxの値は370

解説奇数なら3倍して1を加える処理です。
123は奇数なので、3×123+1を計算して370になります。

プログラミング · 条件分岐 · QUESTION 008

次のプログラムの実行した際の表示結果を答えよ。

(1)x = 13
(2)もし x % 3 != 0 ならば:
(3)⎿ x = x + 3 - (x % 3)
(4)表示する("xの値は", x)
答えと解説を見る

答えxの値は15

解説13を3で割った余りは1です。
余りが0になるまでに不足している2を加えると、次の3の倍数15になります。

プログラミング · 条件分岐 · QUESTION 009

次のプログラムの実行した際の表示結果を答えよ。

(1)x = 7
(2)もし x > 10 ならば:
(3)| 表示する("xは10より大きいです。")
(4)そうでなくもし x > 5 ならば:
(5)| 表示する("xは5より大きく10以下です。")
(6)そうでなければ:
(7)⎿ 表示する("xは5以下です。")
答えと解説を見る

答えxは5より大きく10以下です。

解説条件を上から順に調べ、最初に真になった分岐だけを実行します。
7は10より大きくありませんが、5より大きいので中央の分岐です。

プログラミング · 条件分岐 · QUESTION 010

次のプログラムでageに17と入力したときの実行した際の表示結果を答えよ。

(1)age = 【外部からの入力】 #17と入力
(2)もし age >= 18 ならば:
(3)| 表示する("成人です。")
(4)そうでなくもし age >= 6 ならば:
(5)| 表示する("未成年です。")
(6)そうでなければ:
(7)⎿ 表示する("未就学児です。")
答えと解説を見る

答え未成年です。

解説年齢17は18歳以上ではないため、次の6歳以上の条件を調べます。
そこが真なので、該当する年齢区分の処理を行います。

プログラミング · 条件分岐 · QUESTION 011

次のプログラムでnumberに9と入力したときの実行した際の表示結果を答えよ。

(1)number = 【外部からの入力】 #9と入力
(2)もし number % 6 == 0 ならば:
(3)| 表示する("6の倍数")
(4)そうでなくもし number % 2 == 0 ならば:
(5)| 表示する("2の倍数だが3の倍数でない")
(6)そうでなくもし number % 3 == 0 ならば:
(7)| 表示する("3の倍数だが2の倍数でない")
(8)そうでなければ:
(9)⎿ 表示する("2の倍数でも3の倍数でもない")
答えと解説を見る

答え3の倍数だが2の倍数でない

解説9は6で割り切れず、次の2でも割り切れませんが、3で割った余りは0です。
上から6、2、3の順に条件を調べるため、3番目の分岐が実行され、「3の倍数だが2の倍数でない」と表示されます。

プログラミング · 条件分岐 · QUESTION 012

次のプログラムでageに19、is_studentにYesと入力した場合の実行した際の表示結果を答えよ。

(1)age = 【外部からの入力】 #19と入力
(2)is_student = 【外部からの入力】 #Yesと入力
(3)もし age <= 18 ならば:
(4)| 表示する("25%の割引")
(5)そうでなければ:
(6)| もし is_student == "Yes" ならば:
(7)| | 表示する("20%の割引")
(8)| そうでなければ:
(9)⎿ ⎿ 表示する("割引なし")
答えと解説を見る

答え20%の割引

解説年齢条件で対象外になった後、学生かどうかを調べます。
19歳の学生なら、学生向けの20%割引の条件に該当します。

プログラミング · 条件分岐 · QUESTION 013

次のプログラムでweatherに晴れ、timeに午後を入力した場合の実行した際の表示結果を答えよ。

(1)weather = 【外部からの入力】#晴れと入力
(2)time = 【外部からの入力】#午後と入力
(3)もし weather == "晴れ" ならば:
(4)| もし time == "午前" ならば:
(5)| | 表示する("ピクニックしよう!")
(6)| そうでなければ:
(7)| ⎿ 表示する("散歩に出かけよう!")
(8)そうでなければ:
(9)⎿ 表示する("読書を楽しもう!")
答えと解説を見る

答え散歩に出かけよう!

解説天気と時刻の条件を組み合わせ、両方が真のときだけ処理を選びます。
晴れでも午前でなければ、午前向けの分岐には入りません。

プログラミング · 条件分岐 · QUESTION 014

次のプログラムでageに19、is_studentにYesと入力した場合の実行した際の表示結果を答えよ。

(1)age = 【外部からの入力】 #19と入力
(2)is_student = 【外部からの入力】 #Yesと入力
(3)もし age <= 18 or age >= 65 ならば:
(4)| price = 1200
(5)そうでなくもし age <= 25 and is_student == "Yes" ならば:
(6)|  price = 1500
(7)そうでなければ:
(8)⎿  price = 1800
(9)表示する(price, "円です。")
答えと解説を見る

答え1500円です。

解説19歳は最初の「18歳以下または65歳以上」に当てはまりません。
次の「25歳以下かつ学生」が成立するためpriceへ1500が直接代入され、「1500円です。
」と表示されます。
割引率を計算する処理はありません。

プログラミング · 条件分岐 · QUESTION 015

5のつく日(5日、15日、25日)が「10%割引」と表示されるプログラムを作成する。
空欄に入る最も適切なものを選べ。

(1)date = 【外部からの入力】 #1から31を入力
(2)もし (   ) ならば:
(3)| 表示する("10%割引")
(4)そうでなければ:
(5)⎿ 表示する("割引なし")

① date % 5 == 0
② date % 10 == 5
③ date ÷ 5 == 0
④ date ÷ 10 == 5
答えと解説を見る

答え② date % 10 == 5

解説日付の一の位は、10で割った余りで取り出せます。
date%10==5とすれば、末尾が5の日だけを選べます。

プログラミング · 条件分岐 · QUESTION 016

入力された整数の逆数を計算し表示するプログラムである。
ただし、0と入力されたときは、そのまま0を返すことにする。
空欄に入る最も適切なものを選べ。

(1)x = 【外部からの入力】 #整数を入力
(2)もし (   ) ならば:
(3)⎿ x = 1 / x
(4)表示する("計算結果:", x)
① x == 0
② x != 0
③ x >= 0
④ x > 0
答えと解説を見る

答え② x != 0

解説逆数は1/xで求められますが、xが0のときは0で割ることになります。
先にxが0でないことを条件にして安全に計算します。

プログラミング · 条件分岐 · QUESTION 017

入力された年齢が18歳以下または65歳以上の場合「割引があります」と表示し、それら以外では「割引はありません」と表示するプログラムを作成する。
空欄に入る最も適切なものを選べ。

(1)age = 【外部からの入力】 #年齢を整数で入力
(2)もし (   ) ならば:
(3)| 表示する("割引があります")
(4)そうでなければ:
(5)⎿ 表示する("割引はありません")
① age <= 18 or age >= 65
② age <= 18 and age >= 65
③ age > 18 or age < 65
④ age > 18 and age < 65
答えと解説を見る

答え① age <= 18 or age >= 65

解説18歳以下または65歳以上を選ぶ条件は、age<=18 と age>=65 を論理和ORで結びます。
どちらか一方を満たせば該当します。

プログラミング · 条件分岐 · QUESTION 018

ある映画館のチケット代は1800円だが、18歳以下なら1000円、60歳以上なら1200円に値引きされる。
入力された年齢に応じて適切な金額を表示するプログラムとなるように、空欄に入る最も適切なものを選べ。

(1)age = 【外部からの入力】 # 年齢を整数で入力
(2)もし age <= 18 ならば:
(3)| 表示する("チケット代は1000円です。")
(4)そうでなくもし (   ) ならば:
(5)| 表示する("チケット代は1800円です。")
(6)そうでなければ:
(7)⎿ 表示する("チケット代は1200円です。")
① age > 18 or age <= 60
② age > 18 and age <= 60
③ age > 18
④ age < 60
答えと解説を見る

答え④ age < 60

解説2番目の条件を調べる時点では、最初の分岐で18歳以下が除かれているため、年齢はすでに19歳以上です。
そこでage < 60だけを確認すれば19~59歳が通常料金となり、それ以外の60歳以上は最後の分岐へ進みます。

分野