学校よりやさしい!高校生のためのプログラミング【反復構造】

学校よりやさしい!高校生のためのプログラミング【反復構造】 プログラミング

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

「情報Ⅰ」の共通テストや定期テスト対策に役立つ内容を丁寧に解説しています。

反復構造とは何かをわかりやすく説明し、具体例や演習問題を通して基礎をしっかり学べます。

難しい概念もシンプルなコード例で学びやすく、初心者でも取り組める工夫が満載!

さらに、発展問題に挑戦することで理解を深めることができます。

さあ、プログラミングの第一歩として、勉強を始めましょう!

反復構造とは?

みなさん、「反復構造」という言葉を聞いたことがありますか?

反復構造とは、同じ処理を繰り返し実行する仕組みのことです。

プログラミングにおいては、特定の条件を満たす間、または決められた回数だけ命令を繰り返す場合に使われます。

今回は、反復構造を解説していきます。

反復構造の具体例

例えば、毎日「おはよう」と言うのを10回繰り返すとしたら、どうしますか?

これをPythonで表現すると、次のようになります。

for i in range(10):
    print("おはよう")

このコードでは、print("おはよう")という命令が10回実行されます。これが反復構造の基本です。

実際にやってみよう

それでは、簡単な例題を試してみましょう。

例題:1から5までの数字を表示するプログラム

for i in range(1, 6):
    print(i)

このプログラムでは、1から5までの数字が順番に表示されます。出力は以下のようになります:

1
2
3
4
5
コードの解説
  1. for i in range(1, 6):
    • range(1, 6)は「1から5まで」の数字を順番に作り出します。
    • iという変数には、その数字が1つずつ入ります。
  2. print(i)
    • iに入っている数字を画面に表示します。

while文を使った反復構造

Pythonではfor文だけでなく、while文も使って反復構造を実現できます。

例えば、1から5までの数字をwhile文で表示する場合は次のように書きます。

num = 1
while num <= 5:
    print(num)
    num += 1

出力はfor文と同じく:

1
2
3
4
5

ここで、num += 1num = num + 1と同じ意味で、変数numを1ずつ増やしています。

こちらもチェック
while文を使った反復構造の解説をさらに丁寧に

演習問題

それでは、みなさんの力を試してみましょう!

演習1:2の倍数を表示するプログラム

1から10までの中で、2の倍数だけを表示するプログラムを書いてみてください。

答え
for i in range(1, 11):
    if i % 2 == 0:
        print(i)

プログラムの動き

  1. for i in range(1, 11):で、1から10までの数字を1つずつ変数iに代入します。
  2. if i % 2 == 0:は、iが2で割り切れるかどうかを判定する条件式です。割り切れる場合は条件が真となり、print(i)が実行されます。
  3. 条件を満たさない場合は何もせず、次のiに進みます。

出力:

2
4
6
8
10

演習2:while文でカウントダウン

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

答え
num = 10
while num > 0:
    print(num)
    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
発射!

発展問題

発展問題:九九を表示するプログラム

1から9までの掛け算の結果をすべて表示するプログラムを作成してください。

答え
for i in range(1, 10):
    for j in range(1, 10):
        print(f"{i} × {j} = {i * j}")

プログラムの解説

  1. 外側のループ
    for i in range(1, 10):
    • iが1から9まで変化します。
    • このループは「九九の段」を表しています(例:1の段、2の段…)。
  2. 内側のループ
    for j in range(1, 10):
    • jも1から9まで変化します。
    • iが固定されている間に、jが1から9まで変化してすべての掛け算を計算します。
  3. 掛け算の計算と表示
    print(f"{i} × {j} = {i * j}")
    • i * jで掛け算を計算し、その結果を表示します。
    • f文字列(f-string)を使うことで、わかりやすくフォーマットされた出力が可能になります。
  4. 改行
    print()
    • 内側のループが終わるごとに空行を挿入して、次の段と区切りをつけています。

出力:

1 × 1 = 1
1 × 2 = 2
1 × 3 = 3
...
9 × 9 = 81

まとめ

反復構造を使うと、同じ処理を効率よく繰り返すことができます。

今回学んだfor文やwhile文は、プログラムを書く上でとても重要な要素です。

次回は、さらに応用的なプログラムに挑戦してみましょう!

コメント

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