while文を使った反復構造の解説をさらに丁寧に

while文を使った反復構造の解説をさらに丁寧に プログラミング

こんにちは。高校情報の未来予想図です。

「反復構造」のwhile文をしっかり理解できていますか?

この記事では、プログラミングの基本であるwhile文を初心者にもわかりやすく解説します。

効率よく繰り返し処理を学べば、プログラムの幅が広がること間違いなし。

定期テストや共通テストの対策にも役立ててください!

while文ってなに?

while文は、指定した条件が「True」の間、繰り返し処理を実行するための構文です。

「何回繰り返すか分からないけれど、ある条件を満たすまで処理を続けたい」ときに便利です。

while文の基本構文

while 条件:
繰り返したい処理
  • 条件がTrueの間、処理が実行されます。
  • 条件がFalseになると、while文は終了します。

具体例:1から5までの数字を表示する

次に、while文を使って1から5までの数字を表示してみます。

num = 1
while num <= 5: # 条件: numが5以下である間
print(num) # numを表示する
num += 1 # numを1増やす

コードの動き

  1. 最初にnumの値は1です。
  2. num <= 5の条件をチェックします。最初はTrueなので処理を実行します。
  3. print(num)で1が表示されます。
  4. num += 1numが2になります。
  5. 再び条件をチェックし、Trueなので次の処理を実行します。
  6. この繰り返しを続け、最後にnumが6になった時点で条件がFalseとなり、ループが終了します。

出力結果

1
2
3
4
5

while文のポイント

  • 条件がFalseにならないと永遠にループし続けるので注意してください。(無限ループといいます)
  • 例えば、num += 1を忘れると、numがずっと1のままで無限ループになります。

while文の演習問題

演習1:10から1までのカウントダウン

10から1までカウントダウンし、最後に「発射!」と表示するプログラムを書いてみましょう。

答え
num = 10
while num > 0: # numが0より大きい間繰り返す
print(num) # numを表示
num -= 1 # numを1減らす
print("発射!") # ループが終了したら表示
プログラムの動き
  1. 最初に変数num10を代入します。これがカウントダウンのスタート地点です。
  2. while num > 0という条件をチェックします。ここでは、「numが0より大きい間だけ繰り返し処理を実行する」という意味です。
  3. 条件がTrue(つまり、numが0より大きい)である場合:
    • print(num)numを表示します。
    • num -= 1numを1減らします。
  4. 条件がFalse(つまり、numが0以下)になると、while文のループが終了し、次のprint("発射!")が実行されます。

出力結果:

10
9
8
7
6
5
4
3
2
1
発射!

演習2:合計を計算するプログラム

1から10までの合計を計算して表示するプログラムを書いてみましょう。

答え
num = 1
total = 0
while num <= 10:
total += num # totalにnumを足す
num += 1 # numを1増やす
print("合計:", total)
プログラムの動き
  1. 初期値の設定
    • num = 1: 繰り返し処理のカウンタとしてnumを1に設定します。
    • total = 0: 合計を保存するための変数totalを0に設定します。
  2. 条件のチェック
    • while num <= 10:で、numが10以下である間だけ処理を繰り返します。
  3. 累積加算
    • total += numは、total = total + numと同じ意味です。
    • 現在のnumの値をtotalに加えて、合計を更新します。
  4. カウンタの更新
    • num += 1で、次のループに進むためにnumを1増やします。
  5. 最終結果の表示
    • ループが終了した後、printで合計値を表示します。

出力結果:

合計: 55

発展問題

発展問題:条件付きの数列表示

1から100までの数字のうち、3の倍数だけを表示するプログラムを作りましょう。

答え
num = 1
while num <= 100: # 100以下の間繰り返す
if num % 3 == 0: # 3で割り切れる場合
print(num) # 表示
num += 1 # numを1増やす
プログラムの動き
  1. 初期値の設定
    num = 1で、変数numに1を代入します。ここがスタート地点になります。
  2. 条件のチェック
    while num <= 100:で、numが100以下である間だけ処理を繰り返します。条件が満たされなくなったらループが終了します。
  3. 条件判定
    if num % 3 == 0:で、numが3で割り切れるかを確認します。この部分が条件式です。
  4. 出力
    条件が満たされた場合にprint(num)で現在のnumを表示します。
  5. 変数の更新
    num += 1で、次のループに進むためにnumを1増やします。

出力結果:

3
6
9
...
96
99

まとめ

  • while文は「条件がTrueの間、処理を繰り返す」というループです。
  • 使い所: ループの終了条件が事前に決まっていない場合や、条件を柔軟に設定したい場合に便利です。

while文とfor文を使い分けながらプログラムを作る練習をしてみましょう!

コメント

タイトルとURLをコピーしました