アルゴリズムの要!「分岐」と「繰返し」をマスターしよう

プログラミングの学習において、もっとも大切で、かつもっとも面白いのがこの「分岐」「繰返し」です。これらを使うことで、コンピュータに「もし〜なら、こうして」と判断させたり、「同じことを100回やって」と命令したりできるようになります。 最初は難しく感じるかもしれませんが、共通テストで使われる「独自のプログラム表記」のルールさえ掴めば、パズルのように解けるようになりますよ!

1. プログラムの「判断」:条件分岐

条件分岐(じょうけんぶんき)とは、ある条件が「成り立つか、成り立たないか」によって、次に行う処理を分ける仕組みのことです。共通テストのプログラム表記では、次のように書きます。

もし 条件 ならば:
| 実行する処理

この「|(縦線)」と「L」で囲まれた部分が、条件が合ったときだけ実行される「ブロック」です。

比較に使う記号(比較演算子)

条件を決めるときには、数学でもおなじみの記号を使います。

  • \( a = b \) : \( a \) と \( b \) が等しい
  • \( a > b \) : \( a \) は \( b \) より大きい
  • \( a < b \) : \( a \) は \( b \) より小さい
  • \( a \ge b \) : \( a \) は \( b \) 以上
  • \( a \le b \) : \( a \) は \( b \) 以下

【ポイント】
多くのプログラミング言語(Pythonなど)では、等しいことを表すのに「==」を使いますが、共通テストの表記では数学と同じ「\( = \)」を使います。ここは間違いやすいので注意しましょう!

「そうでなければ」の処理

条件に合わなかった場合の処理も書くことができます。

もし score \(\ge\) 80 ならば:
| 表示する("合格!")
そうでなければ:
| 表示する("もう少し!")

豆知識:
コンピュータは「Yes (真:しん)」か「No (偽:ぎ)」の2択でしか判断できません。複雑な条件も、結局はこの2択の組み合わせでできています。

2. プログラムの「根気」:繰返し

繰返し(くりかえし)は、同じ処理を何度も自動で行わせる仕組みです。人間なら飽きてしまうような1万回の計算も、コンピュータなら一瞬です!

共通テストでは、主に次のような書き方をします。

変数名 を 初期値 から 終了値 まで 増分 ずつ増やしながら繰り返す:
| 実行する処理

例えば、1から5まで表示したいときはこうなります:
i を 1 から 5 まで 1 ずつ増やしながら繰り返す:
| 表示する(i)

【よくある間違い】
「5まで」と書いた場合、5を含むのか含まないのか迷うことがあります。共通テストの表記では、基本的に終了値(この場合は5)まで含めて処理を行います。 また、「1ずつ増やしながら」を忘れると、ずっと同じ数字のまま終わらない(無限ループ)になってしまうイメージですが、共通テストの問題では書き方が決まっているので、落ち着いて「どこからどこまでか」を確認しましょう。

豆知識:
増分を「2」にすれば、1, 3, 5, 7...と飛ばして数えることもできますし、「1 ずつ減らしながら」と書けばカウントダウンもできます。

3. 応用:分岐と繰返しを組み合わせる

実際の試験では、これらを組み合わせて使います。例えば、「1から100までの数字の中で、3の倍数だけを表示する」といったプログラムです。

(1) i を 1 から 100 まで 1 ずつ増やしながら繰り返す:
(2) | もし i % 3 \( = \) 0 ならば:
(3) | | 表示する(i)
(4) | L
(5) L

【演算子の復習】
ここで使った「%」は、割り算の余りを求める記号です。 \( i \% 3 = 0 \) というのは、「\( i \) を 3 で割った余りが 0 (つまり3の倍数)」という意味になります。これも頻出のテクニックです!

ポイント:
プログラムの中にさらに別のプログラムが入っている構造を「入れ子(ネスト)」と呼びます。縦線「|」の数を見ることで、今どのブロックの中にいるのかを確認するのがコツです。

4. まとめ:解く時のコツ

「分岐と繰返し」の問題に出会ったら、以下のステップで考えましょう。

  1. 変数の変化を追いかける: 表の端っこに、変数の今の値をメモしながら解きましょう(これを「トレース」と呼びます)。
  2. 条件を日本語に直す: \( i \% 2 = 1 \) なら「\( i \) が奇数のとき」といったように、言葉に置き換えるとミスが減ります。
  3. 終わりの数に注目: 繰返しが「どこまで」行われるのか、最後の1回が実行されるかを確認しましょう。

最初は少し複雑に見えるかもしれませんが、やっていることは「もし〜なら」と「〜の間繰り返す」の2つだけです。たくさんの問題に触れて、コンピュータの考え方に慣れていきましょう。応援しています!