第6回 条件繰り返し文

プログラミング

こんにちは!さんです。

高校で数学と情報を教えています!

「プログラミング準備室」では、共通テスト情報Ⅰで出題される、「プログラミング」について学べます。

今回は 「条件繰り返し文」 について解説していきます!

生徒
生徒

条件分岐文は理解できたよ!次は何を学ぶの?

さん
さん

次は 「条件繰り返し文」 について学んでいこう!

生徒
生徒

繰り返し?何を繰り返すの?

さん
さん

「ある条件を満たしている間、処理を繰り返す」 のが 条件繰り返し文 だよ!

さん
さん

勉強してるのに点が取れない人は、こっちも読んでみて!

条件繰り返し文とは?

条件繰り返し文とは、「○○の間は××する」 という仕組みのことです。

例えば、次のような場面を考えてみましょう。

条件繰り返し文の例
  • 「リンゴが残っている間、食べ続ける。」
  •  「テストの点数が80点未満の間、再試験を受け続ける。」
  •  「信号が赤の間、待ち続ける。」

こうした 「〜の間繰り返す」 をプログラムで書くために、 条件繰り返し文 を使います。

条件繰り返し文の書き方

共通テスト用プログラム表記の例示では、次のように書かれています。

条件繰り返し文は、次のように書きます。

条件分岐文の書き方

(条件式) の間繰り返す:
L (実行する処理)

生徒
生徒

だんだん、プログラムに慣れてきた気がする。なんとなく意味はわかるかも!

さん
さん

いいね!じゃあ実際に例を見てみよう!

例題:カウントダウンプログラム

条件繰り返し文を使って、 3から1までカウントダウンする プログラムは次のように書きます。

ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

実行結果

3
2
1

おお!数が減っていくね!

さん
さん

プログラムを順に追っていこう!


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

(1)行目で、変数 count に 3 を代入しています。


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

(2)行目から、条件繰り返し文に入っていきます。

変数 count が 0 以上の間、「 I 」や「 L 」の制御範囲を表す記号がある、(3)行目と(4)行目を実行し続けます。

count には 3 が入っており、条件式 count > 0 を満たしているので(True)、(3)行目と(4)行目を実行します。


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

(3)行目では、count の値を表示します。

count の中には 3 が入っているので、3 が表示されます。

実行結果

3


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

count に count – 1 の値を代入します。

さん
さん

ここは躓きやすいポイントだよ。

「 = 」は「代入する」という記号です。

数学で使う「 = 」とは異なります。

「( 左 ) = ( 右 )」は「( 右 )の値を、( 左 )に代入する」という意味になります。

ですので、「count – 1 の値を、count に代入」します。

今、count の中には 3 が入っていますので、3 – 1 の 2 が count の中に代入されます。

生徒
生徒

危ない、危ない。「代入する」って意識が抜けてた。

ここまでが、条件繰り返し文の制御範囲の終わり( L )です。

再び、(2)行目の条件式を確認します。


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

1週目の繰り返し(ループ)が終わりました。

(条件式)の確認です。

count には 2 が入っており、条件式 count > 0 を満たしているので(True)、再び制御範囲を実行します。


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

(3)行目では、count の値を表示します。

count の中には 2 が入っているので、2 が表示されます。

実行結果

3
2


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

count に count – 1 の値を代入します。

今、count の中には 2 が入っていますので、2 – 1 の 1 が count の中に代入されます。

再び、(2)行目の条件式を確認します。


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

2週目の繰り返し(ループ)が終わりました。

(条件式)の確認です。

count には 1 が入っており、条件式 count > 0 を満たしているので(True)、再び(3)行目と(4)行目を実行します。


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

(3)行目では、count の値を表示します。

count の中には 1 が入っているので、1 が表示されます。

実行結果

3
2
1


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

count に count – 1 の値を代入します。

今、count の中には 1 が入っていますので、1 – 1 の 0 が count の中に代入されます。

再び、(2)行目の条件式を確認します。


ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1

3週目の繰り返し(ループ)が終わりました。

(条件式)の確認です。

count には 0 が入っており、条件式 count > 0 を満たしていないので(False)、制御範囲は実行されません。


これで、このプログラムが終了します。

生徒
生徒

たった4行しかないのに、こんなに長いプログラムなんだ!

さん
さん

1行1行丁寧に、確認すると理解できるよ!

生徒
生徒

ループが終わったら、「終了!」って表示させたいときは、どうすればいいの?

さん
さん

ループの外に「表示する(“終了!”)」を付け加えればいいね。

ソースコード

(1) count = 3
(2) count > 0 の間繰り返す:
(3) I  表示する(count)
(4) L count = count – 1
(5) 表示する(“終了!”)

実行結果

3
2
1
終了!

さん
さん

練習問題で理解を深めよう!

スポンサーリンク

練習問題

練習問題

次のプログラムを実行したときに、表示されるものを答えなさい。

ソースコード

(1) num = 10
(2) num >= 5 の間繰り返す:
(3) I  表示する(num)
(4) L num = num – 2

生徒
生徒

問題解くのが楽しくなってきた!

10
8
6

まとめ

今回は、「条件繰り返し文」について解説しました。

  • 条件繰り返し文 は、 「ある条件を満たしている間、処理を繰り返す」 ための文法です。
  • 「(条件式) の間繰り返す:」を使って書きます。
さん
さん

次回は 「順次繰り返し文」 について学んでいくよ!

次に進む → 第7回 順次繰り返し文

コメント