こんにちは。高校情報の未来予想図です。
「情報Ⅰ」の共通テストや定期テスト対策に役立つ内容を丁寧に解説しています。
反復構造とは何かをわかりやすく説明し、具体例や演習問題を通して基礎をしっかり学べます。
難しい概念もシンプルなコード例で学びやすく、初心者でも取り組める工夫が満載!
さらに、発展問題に挑戦することで理解を深めることができます。
さあ、プログラミングの第一歩として、勉強を始めましょう!
反復構造とは?
みなさん、「反復構造」という言葉を聞いたことがありますか?
反復構造とは、同じ処理を繰り返し実行する仕組みのことです。
プログラミングにおいては、特定の条件を満たす間、または決められた回数だけ命令を繰り返す場合に使われます。
今回は、反復構造を解説していきます。
反復構造の具体例
例えば、毎日「おはよう」と言うのを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
コードの解説
for i in range(1, 6):
range(1, 6)
は「1から5まで」の数字を順番に作り出します。i
という変数には、その数字が1つずつ入ります。
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 += 1
はnum = num + 1
と同じ意味で、変数num
を1ずつ増やしています。
こちらもチェック
while文を使った反復構造の解説をさらに丁寧に
演習問題
それでは、みなさんの力を試してみましょう!
演習1:2の倍数を表示するプログラム
1から10までの中で、2の倍数だけを表示するプログラムを書いてみてください。
答え
for i in range(1, 11):
if i % 2 == 0:
print(i)
プログラムの動き
for i in range(1, 11):
で、1から10までの数字を1つずつ変数i
に代入します。if i % 2 == 0:
は、i
が2で割り切れるかどうかを判定する条件式です。割り切れる場合は条件が真となり、print(i)
が実行されます。- 条件を満たさない場合は何もせず、次の
i
に進みます。
出力:
2
4
6
8
10
演習2:while文でカウントダウン
10から1までカウントダウンして、最後に「発射!」と表示するプログラムを書いてみてください。
答え
num = 10
while num > 0:
print(num)
num -= 1
print("発射!")
プログラムの動き
- 最初に変数
num
に10
を代入します。これがカウントダウンのスタート地点です。 while num > 0
という条件をチェックします。ここでは、「num
が0より大きい間だけ繰り返し処理を実行する」という意味です。- 条件が
True
(つまり、num
が0より大きい)である場合:print(num)
でnum
を表示します。num -= 1
でnum
を1減らします。
- 条件が
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}")
プログラムの解説
- 外側のループ
for i in range(1, 10):
i
が1から9まで変化します。- このループは「九九の段」を表しています(例:1の段、2の段…)。
- 内側のループ
for j in range(1, 10):
j
も1から9まで変化します。i
が固定されている間に、j
が1から9まで変化してすべての掛け算を計算します。
- 掛け算の計算と表示
print(f"{i} × {j} = {i * j}")
i * j
で掛け算を計算し、その結果を表示します。- f文字列(f-string)を使うことで、わかりやすくフォーマットされた出力が可能になります。
- 改行
print()
- 内側のループが終わるごとに空行を挿入して、次の段と区切りをつけています。
出力:
1 × 1 = 1
1 × 2 = 2
1 × 3 = 3
...
9 × 9 = 81
まとめ
反復構造を使うと、同じ処理を効率よく繰り返すことができます。
今回学んだfor
文やwhile
文は、プログラムを書く上でとても重要な要素です。
次回は、さらに応用的なプログラムに挑戦してみましょう!
コメント