HSP講座

コンテンツ

作成中...

Google Ads

トップページ > HSP講座 トップ > 第12章 繰り返し その2

第12章 繰り返し その2

今回も「繰り返し」についてですが、今回はもうちょっと違うタイプの物になってきます。

前回言ったように、繰り返しはプログラム中で同じ処理を何回か繰り返したい場合に使用します。
同じ処理を何回も行わせる時に、同じプログラムを連続して記述していく方法もあります。
しかし、そうするとプログラムの文章自体が長くなってしまうため、通常はプログラムをスッキリさせるために使用します。

今回は、前回扱った「repeat - loop」命令以外の繰り返し処理について説明します。
そう、「repeat - loop」命令の次に簡単な「while - wend」命令と「do - until」命令です。

はじめに書いておきますが、今回の繰り返し処理中ではあらかじめカウンタ用の変数を自分で用意しておかなければいけないので、繰り返し用のカウンタ変数「a」を用意してあります。
この変数は自分の好きな名前をつけてもかまいません。
「repeat - loop」命令の時に使用した「cnt」というシステム変数は使用できないので注意してください。

ではまず「while - wend」命令について説明します。

1|
2|
3|
4|
5|
6|
7|
8|
9|
10|
11|
12|
13|
14|
15|
16|
17|
18|
19|
20|
21|
22|
23|
24|
; while - wend文を使った繰り返し処理

; while命令を使う前に繰り返し処理中で使うカウンタを
; あらかじめ初期化しておく(無くてもいい)
a = 0

; while命令を使って処理をスタートさせる
while ( a < 10 )

    ; 現在のカウンタの数値を表示させる
    mes "繰り返し処理 " + a + " 回目です。"

    ; カウンタを増やす(通常は1ずつ、またカウンタを
    ; 増やさないと無限ループになるので注意する)
    a = a + 1

; 繰り返し処理はここまで、wend命令を使う
wend


; stop命令を使用してプログラムを終了する
stop

[EOF]

このスクリプトを実行すると、画面に「繰り返し処理 0 回目です。」から「繰り返し処理 9 回目です。」まで、今回はカウンタの数値を1ずつ増やしているので、合計10回文章が表示されると思います。

「while」命令の条件式のため、カウンタ用の変数aが10より小さい時のみ「繰り返し処理 何 回目」と表示されるようになっています。
「repeat - loop」命令との違いは「パラメータのところに条件式を設定することができる点」です。
条件式については「if」命令の所で説明してあると思います。
また、条件式を書かなかった場合は無限ループになるので注意してください。

次に「do - until」命令について説明します。

1|
2|
3|
4|
5|
6|
7|
8|
9|
10|
11|
12|
13|
14|
15|
16|
17|
18|
19|
20|
21|
22|
23|
; do - until文を使った繰り返し処理

; until命令を使う前に繰り返し処理中で使うカウンタを
; あらかじめ初期化しておく(無くてもいい)
a = 0

; do命令を使って処理をスタートさせる
do

    ; 現在のカウンタの数値を表示させる
    mes "繰り返し処理 " + a + " 回目です。"

    ; カウンタを増やす(通常は1ずつ)
    a = a + 1

; 繰り返し処理はここまで、until命令を使う
until ( a > 10 )


; stop命令を使用してプログラムを終了する
stop

[EOF]

このスクリプトを実行すると、画面に「繰り返し処理 0 回目です。」から「繰り返し処理 10 回目です。」まで、今回はカウンタの数値を1ずつ増やしているので、合計11回文章が表示されると思います。

「until」命令の条件式のため、カウンタ用の変数aが10より小さい時のみ「繰り返し処理 何 回目」と表示されるようになっています。
「repeat - loop」命令との違いは「パラメータのところに条件式を設定することができる点」です。
条件式については「if」命令の所で説明してあると思います。
また、あらかじめ条件が満たされていても一度だけ実行され、条件式を書かなかった場合は繰り返し処理が実行されません。

ここで、「あれ?」と思われた方もいらっしゃると思うので少し説明します。
「while - wend」命令では10回、「do - until」命令では11回文章が表示されましたが、これは「while - wend」命令では繰り返し処理の最初に条件式を判断しているのに対し、「do - until」命令では繰り返し処理の最後に条件式を判断しているためです。
また、「while - wend」命令では条件式を満たしているあいだ繰り返すのに対し、「do - until」命令では条件式を満たすまで繰り返すためです。

そのほかにも繰り返し命令は存在しますが、これ以上やるとさすがに混乱してしまうのでこの辺で止めておきます。

今回は以上です。次回は「変数と配列変数」をやろうと思います。


[ ← 前へ ] [ 戻る ] [ 次へ → ]

Copyright (C)2006-2007 はむ / AHD  All Rights Reserved.