4.1. 条件分岐
条件分岐文は、 〈条件〉 が成り立つかどうかによって、実行する処理を切り替えます。
【共通テスト手順記述標準言語 (DNCL)】
一般形 | 例 |
---|---|
もし 〈条件〉 ならば | 〈処理〉 を実行する |
もしx<3ならば | x ← x+ 1 | y ← y- 1 を実行する |
もし 〈条件〉 ならば 〈処理〉 を実行する
(※処理が1行しかない場合、|無しで書くこともできる) |
もしx<3ならばx ← x+1を実行する |
【Python】
キーワードifの後ろに条件式(比較演算や論理演算の式)を書きます。条件式の後ろには必ず『:』(コロン)を入れます。
DNCL | Python | 実行結果 |
---|---|---|
もしx<3ならば | x ← x+ 1 を実行する |
|
もし変数xの値が3より小さいなら、xに1を足す
(そうでなければ、何もしない) |
もしx<3ならばx ← x+1を実行する |
|
もし変数xの値が3より小さいなら、xに1を足す
(そうでなければ、何もしない) |
条件が成り立つときと成り立たないときで違う処理をする
〈条件〉 が成り立つときにある処理を実行し、〈条件〉 が成り立たないときに別の処理を実行する場合は、次のように『ならば』と『そうでなければ』を組み合わせて指定します。
【共通テスト手順記述標準言語 (DNCL)】
一般形 | 例 |
---|---|
もし 〈条件〉 ならば | 〈処理 1〉 を実行し,そうでなければ | 〈処理 2〉 を実行する |
もしx<3ならば | x ← x+ 1 を実行し,そうでなければ | x ← x- 1 を実行する |
もし 〈条件〉 ならば 〈処理 1〉 を実行し,そうでなければ 〈処理 2〉 を実行する
(※処理が1行しかない場合、|無しで書くこともできる) |
もしx<3ならば x ← x+1 を実行し,
そうでなければ x ← x- 1 を実行する |
【Python】
キーワードelseを用います。elseの直後に『:』(コロン)を付けます。
DNCL | Python | 実行結果 |
---|---|---|
もしx<3ならば | x ← x+ 1 を実行し,そうでなければ | x ← x- 1 を実行する |
|
xが3未満ならxに1を足し、そうでなければxから1を引く。 |
もしx<3ならば「3未満」を表示し,そうでなければ「3以上」を表示する |
|
xが3未満なら「3未満」を表示し、そうでなければ「3以上」を表示する。
この書き方では、実行できない処理・計算がある(代入など)。 |
複数の条件で実行する処理を切り替える
条件分岐の中で複数の条件で実行する処理を切り替えたい場合は、次のように『ならば』と『そうでなければ』 の間に『そうでなくもし』を使って条件を追加します。
【共通テスト手順記述標準言語 (DNCL)】
一般形 | 例 |
---|---|
もし 〈条件 1〉 ならば | 〈処理 1〉 を実行し,そうでなくもし 〈条件 2〉 ならば | 〈処理 2〉 を実行し,そうでなければ | 〈処理 3〉 を実行する |
もしx=3ならば | x ← x+ 1 を実行し,そうでなくもし y > 2 ならば | y ← y+ 1 を実行し,そうでなければ | y ← y- 1 を実行する |
もし 〈条件 1〉 ならば 〈処理 1〉 を実行し, そうでなくもし 〈条件 2〉 ならば 〈処理 2〉 を実行し, そうでなければ 〈処理 3〉 を実行する (※処理が1行しかない場合、|無しで書くこともできる) |
もしx=3ならばx ← x+1 を実行し, そうでなくもしy>2ならば y ← y+1 を実行し, そうでなければ y ← y- 1 を実行する |
【Python】
キーワードelifを用います。elifはいくつ使っても構いません。elseは、すべてのelifの後に使います。
DNCL | Python | 実行結果 |
---|---|---|
もしx=3ならば | x ← x+ 1 を実行し,そうでなくもし y > 2 ならば | y ← y+ 1 を実行し,そうでなければ | y ← y- 1 を実行する |
|
もしx=3ならば、xに1を足す。 そうでなく、yが2より大きければ、yに1を足す。 そうでなければ(xが3でなく、yが2以下)、yから1を引く |
もしx=3ならばxを表示し, そうでなくもしy>2ならばyを表示し, そうでなければx,yを表示する |
|
もしx=3ならばxを表示しする。
そうでなくもしy>2ならばyを表示する。 そうでなければx,yを表示する
この書き方では、実行できない処理・計算がある(代入など)。 |
4.2. 反復(繰り返し)
【条件繰り返し文:前判定】
〈条件〉が成り立つ間、〈処理〉を繰り返し実行します。
〈処理〉を実行する前に〈条件〉が成り立つかどうか判定されるため、〈処理〉が1回も実行されないこと があります。
【共通テスト手順記述標準言語 (DNCL)】
一般形 | 例 |
---|---|
〈条件〉 の間, | 〈処理〉 を繰り返す |
x<10の間, | gokei ← gokei+ x | x ← x+ 1 を繰り返す |
【Python】
DNCL | Python | 実行結果 |
---|---|---|
x<10の間, | gokei ← gokei+ x | x ← x+ 1 を繰り返す |
|
最初のxの値が1なら、
1から9までの値の和を求める。
繰り返しが終了したとき、 変数xは10になっている。 変数gokeiは45になっている。 |
【条件繰り返し文:後判定】
〈条件〉 が成り立つまで、 〈処理〉 を繰り返し実行します。
〈処理〉を実行した後に 〈条件〉が成り立つかどうか判定されるため、〈処理〉は少なくとも1回は実行さ れます。
【共通テスト手順記述標準言語 (DNCL)】
一般形 | 例 |
---|---|
繰り返し, | 〈処理〉 を, 〈条件〉 になるまで実行する |
繰り返し, | gokei ← gokei+ x | x ← x+ 1 を,x ≧ 10 になるまで実行する |
【Python】
Pythonには後判定の繰り返しのための記法は無いため、以下のような書き方で代わりにします。
DNCL | Python | 実行結果 |
---|---|---|
繰り返し, | gokei ← gokei+ x | x ← x+ 1 を,x ≧ 10 になるまで実行する |
|
xに1を加えながら、xとgokeiの和を求める。
開始時にxが1、gokeiが0なら、終了時に変数xは10になっている。変数gokeiは45になっている。 必ず1回は実行するためにwhile True:とし、繰り返しの最後に条件を指定して繰り返しから抜け出す(break)ようにする。 |
【順次繰り返し文】
順次繰返し文は, 〈変数〉 の値を増やしながら(または減らしながら)、〈処理〉 を繰返し実行します。
【共通テスト手順記述標準言語 (DNCL)】
一般形 | 例 |
---|---|
〈変数〉 を 〈初期値〉 から 〈終了値〉 まで 〈差分〉 ずつ増やしながら, | 〈処理〉 を繰り返す |
xを1から10まで1ずつ増やしながら, | gokei ← gokei+ x を繰り返す |
【Python】
範囲(range)という種類のデータを作る関数range()を用います。
DNCL | Python | 実行結果 |
---|---|---|
xを1から10まで1ずつ増やしながら, | gokei ← gokei+ x を繰り返す |
|
1から10までの値の和を、gokeiに加える。
繰り返しが終了したとき、変数xは10になっている。変数gokeiは55になっている。
range()の括弧の中の1つ目の1が開始の値。3つ目の1が「1ずつ」の値。 |