第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

countcount – 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

countcount – 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

countcount – 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回 順次繰り返し文

コメント

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