4.1. 条件分岐
条件分岐文は、 〈条件〉 が成り立つかどうかによって、実行する処理を切り替えます。
【共通テスト手順記述標準言語 (DNCL) 】
一般形 | 例 |
---|---|
もし 〈条件〉 ならば | 〈処理〉 を実行する |
もしx<3ならば | x ← x+ 1 | y ← y- 1 を実行する |
もし 〈条件〉 ならば 〈処理〉 を実行する
(※処理が1行しかない場合、|無しで書くこともできる) |
もしx<3ならばx ← x+1を実行する |
【JavaScript】
キーワードifの後ろに条件式(比較演算や論理演算の式)を書きます。条件式は、必ず小かっこ「( )」で囲みます。処理が1つだけなら中かっこ「{ }」で囲まないで書くこともできますが、ミスを防ぐため{ }で囲むことを推奨します。
DNCL | JavaScript | 実行結果 |
---|---|---|
もしx<3ならば | x ← x+ 1 | y ← y- 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 を実行する |
【JavaScript】
キーワードelseを用います。elseの後の処理は中かっこ{ }で囲みます。
DNCL | JavaScript | 実行結果 |
---|---|---|
もしx<3ならば | x ← x+ 1 を実行し,そうでなければ | x ← x- 1 を実行する |
|
xが3未満ならxに1を足し、そうでなければxから1を引く。 |
もしx<3ならば「3未満」を表示し,そうでなければ「3以上」を表示する |
※ |
xが3未満ならxに1を足し、そうでなければxから1を引く。
※JavaScriptは改行を特別扱いしないため、左の書き方から改行を取り除けば1行にすることができるが、読みにくいため推奨しない。 |
条件分岐の中で複数の条件で実行する処理を切り替えたい場合は、次のように『ならば』と『そうでなければ』 の間に『そうでなくもし』を使って条件を追加します。
【共通テスト手順記述標準言語 (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 を実行する |
【JavaScript】
キーワードelse ifを用います。else ifはいくつ使っても構いません。elseは、すべてのelse ifの後に使います。
DNCL | JavaScript | 実行結果 |
---|---|---|
もし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 ← x+1 を実行し,
そうでなくもしy>2ならば y ← y+1 を実行し, そうでなければ y ← y- 1 を実行する |
※ |
もしx=3ならば、xに1を足す。
そうでなく、yが2より大きければ、yに1を足す。 そうでなければ(xが3でなく、yが2以下)、yから1を引く
※JavaScriptは改行を特別扱いしないため、左の書き方から改行を取り除けば1行にすることができるが、読みにくいため推奨しない。 |
4.2. 反復(繰り返し)
【条件繰り返し文:前判定】
〈条件〉が成り立つ間、〈処理〉を繰り返し実行します。
〈処理〉を実行する前に 〈条件〉が成り立つかどうか判定されるため、〈処理〉が1回も実行されないこと があります。
【共通テスト手順記述標準言語 (DNCL) 】
一般形 | 例 |
---|---|
〈条件〉 の間, | 〈処理〉 を繰り返す |
x<10の間, | gokei ← gokei+ x | x ← x+ 1 を繰り返す |
【JavaScript】
DNCL | JavaScript | 実行結果 |
---|---|---|
x<10の間, | gokei ← gokei+ x | x ← x+ 1 を繰り返す |
|
最初のxの値が1で、gokeiが0だとすると、
1から9までの値の和を求める。
繰り返しを終えたとき、 変数xは10になっている。 変数gokeiは45になっている。 |
【条件繰り返し文:後判定】
〈条件〉 が成り立つまで、 〈処理〉 を繰り返し実行します。
〈処理〉を実行した後に 〈条件〉が成り立つかどうか判定されるため、〈処理〉は少なくとも1回は実行されます。
【共通テスト手順記述標準言語 (DNCL) 】
一般形 | 例 |
---|---|
繰り返し, | 〈処理〉 を, 〈条件〉 になるまで実行する |
繰り返し, | gokei ← gokei+ x | x ← x+ 1 を,x ≧ 10 になるまで実行する |
【JavaScript】
JavaScriptでは、「〜まで繰り返す(=〜になったら止める)」ではなく、「〜の間、繰り返す」という書き方なので、条件式の書き方がDNCLとは異なります。
DNCL | JavaScript | 実行結果 |
---|---|---|
繰り返し, | gokei ← gokei+ x | x ← x+ 1 を,x ≧ 10 になるまで実行する |
|
xに、1から9まで値を加えながら、それとgokeiの和を求める。 |
【順次繰り返し文】
順次繰返し文は, 〈変数〉 の値を増やしながら(または減らしながら)、〈処理〉 を繰返し実行します。
【共通テスト手順記述標準言語 (DNCL) 】
一般形 | 例 |
---|---|
〈変数〉 を 〈初期値〉 から 〈終了値〉 まで 〈差分〉 ずつ増やしながら, | 〈処理〉 を繰り返す |
xを1から10まで1ずつ増やしながら, | gokei ← gokei+ x を繰り返す |
【JavaScript】
範囲(range)という種類のデータを作る関数range()を用います。
DNCL | JavaScript | 実行結果 |
---|---|---|
xを1から10まで1ずつ増やしながら, | gokei ← gokei+ x を繰り返す |
|
1か9までxの値を変えながら、gokeiに足す。
開始時に変数gokeiが0なら、 終了時にgokeiは45になっている。 xは10になっている。 |