毎週金曜日、プログラミングのちょっとした講座を記しています。
ここでは、小学校から「プログラミング」が必須項目になってしまったため、お父さん・お母さん・おじいちゃん・おねえちゃんが子供に「プログラミング」教えることができるように、ここでこっそりと勉強してしまおうという企画です。
今週は「繰り返し処理」の続きとなります。
まずはOKボタン押したときに「Hallo World!」を表示させるプログラムを作ってみましょう。
OKボタンを押すプログラムの部分は次の通りです。
この部分の使い方は詳しく次週説明しますので、今週はとりあえずこれをコピペしてください。
これを使ってOKボタン押したときに「Hallo World!」を表示させるプログラムは次の通りです。
このようになりますね。これを使って今回は繰り返し処理を説明します。まずは指定回数だけ表示させる繰り返し処理を説明します。指定回数だけ表示させるには「For~next」文となります。
この命令の使い方は
となります。例えば 「hensu01」という変数が1から5までの時に処理する場合は
となります。また、「hensu01」という変数が3から5までの時に処理する場合は
となります。これを踏まえて、一番最初に作ったをプログラムを使って、OKボタン5回押した後に「Hallo World!」を表示させてみましょう。
OKボタンを押す命令はForの中に入れて繰り返しさせなければなりません。また、5回押した後に「Hallo World!」を表示させるのはFor文から抜け出したところに置かなければなりません。
ということで、次のようになります。カウントの変数は「hensu01」を使用します。
となります。
次に「条件が成立するまで繰り返し処理」を説明します。条件が成立するまで繰り返し処理は「Do until」です。
この命令の使い方は
となります。
例えば、「hensu01」という変数が5までの時に処理する場合は
となります。つまり、「Do until 」の場合は「繰り返し処理から抜ける条件」となります。
一番最初の講座から順番に読んでいる人は「おやっ?」と思うかもしれません。そうです。前回似た命令を勉強しました。前回は「Do while」を勉強しました。この「Do while」は「条件が成立している間」となります。「Do while」で「hensu01」という変数が5までの時に処理する場合は
それに対し、先ほどの「Do until 」では
つまり、同じ処理でも「Do while」と「Do until 」では変数の使い方が全く正反対になります。
繰り返し処理の説明をあえて2週に分けたのはこのためで、一気に覚えると頭が混乱すると思い、週を分けて説明しております。
それでは、「For next」の時と同じように「Do until 」を使ってOKボン5回押した後に「Hallo World!」を表示させてみましょう。
となります。
このプログラムで、「Do until」の代わりに「Do While」文を使用すると、
となります。
なぜ、「Do while」と「Do until 」があるのか、使い分けはどうするのか?ということになりますが、「Do while」はループ内実行後に条件式の判定を実行するため、最低は一回はループ内の処理が実行されます。それに対し、「Do until 」はループを実行する前に条件の判定を行うところが大きな違いになります。
例えば
貯金箱に500円たまるまで毎日10円ずつ貯金すると仮定しましょう。
OKボタンを押すプログラムの部分は次の通りです。
Call MsgBox(”OKを押してください。”, vbOKOnly + vbCritical, "テストです。")
この部分の使い方は詳しく次週説明しますので、今週はとりあえずこれをコピペしてください。
これを使ってOKボタン押したときに「Hallo World!」を表示させるプログラムは次の通りです。
Sub 表示1()dim moi01 as stringmoji01 = "Hallo word!"Call MsgBox(”OKを押してください。”, vbOKOnly + vbCritical, "テストです。")
MsgBox moji01
end sub
このようになりますね。これを使って今回は繰り返し処理を説明します。まずは指定回数だけ表示させる繰り返し処理を説明します。指定回数だけ表示させるには「For~next」文となります。
この命令の使い方は
For 指定される最初の回数の条件 to 終わりの回数処理next
となります。例えば 「hensu01」という変数が1から5までの時に処理する場合は
For hensu01 = 1 to 5処理next
となります。また、「hensu01」という変数が3から5までの時に処理する場合は
For hensu01 > 2 to 5処理next
となります。これを踏まえて、一番最初に作ったをプログラムを使って、OKボタン5回押した後に「Hallo World!」を表示させてみましょう。
OKボタンを押す命令はForの中に入れて繰り返しさせなければなりません。また、5回押した後に「Hallo World!」を表示させるのはFor文から抜け出したところに置かなければなりません。
ということで、次のようになります。カウントの変数は「hensu01」を使用します。
Sub 表示1()dim moi01 as stringdim hensu01 as integermoji01 = "Hallo word!"hensu01 = 1for hensu01 = 1 to 5Call MsgBox(”OKを押してください。”, vbOKOnly + vbCritical, "テストです。")hensu01 = hensu01 +1nextMsgBox moji01end sub
となります。
次に「条件が成立するまで繰り返し処理」を説明します。条件が成立するまで繰り返し処理は「Do until」です。
この命令の使い方は
Do until 繰り返し処理が終わるための成立する条件処理Loop
となります。
例えば、「hensu01」という変数が5までの時に処理する場合は
Do until hensu01 > 5処理loop
となります。つまり、「Do until 」の場合は「繰り返し処理から抜ける条件」となります。
一番最初の講座から順番に読んでいる人は「おやっ?」と思うかもしれません。そうです。前回似た命令を勉強しました。前回は「Do while」を勉強しました。この「Do while」は「条件が成立している間」となります。「Do while」で「hensu01」という変数が5までの時に処理する場合は
Do while hensu01 < 6処理loop
それに対し、先ほどの「Do until 」では
Do until hensu01 > 5処理loop
つまり、同じ処理でも「Do while」と「Do until 」では変数の使い方が全く正反対になります。
繰り返し処理の説明をあえて2週に分けたのはこのためで、一気に覚えると頭が混乱すると思い、週を分けて説明しております。
それでは、「For next」の時と同じように「Do until 」を使ってOKボン5回押した後に「Hallo World!」を表示させてみましょう。
Sub 表示1()dim moi01 as stringdim hensu01 as integermoji01 = "Hallo word!"hensu01 = 1do until hensu01 > 5Call MsgBox(”OKを押してください。”, vbOKOnly + vbCritical, "テストです。")hensu01 = hensu01 +1nextMsgBox moji01end sub
となります。
このプログラムで、「Do until」の代わりに「Do While」文を使用すると、
Sub 表示1()dim moi01 as stringdim hensu01 as integermoji01 = "Hallo word!"hensu01 = 1do while hensu01 < 6Call MsgBox(”OKを押してください。”, vbOKOnly + vbCritical, "テストです。")hensu01 = hensu01 +1nextMsgBox moji01end sub
となります。
なぜ、「Do while」と「Do until 」があるのか、使い分けはどうするのか?ということになりますが、「Do while」はループ内実行後に条件式の判定を実行するため、最低は一回はループ内の処理が実行されます。それに対し、「Do until 」はループを実行する前に条件の判定を行うところが大きな違いになります。
例えば
貯金箱に500円たまるまで毎日10円ずつ貯金すると仮定しましょう。
用意した貯金箱が空の状態からスタートした場合、一番最初に10円を入れなければならないので「Do while」
それに対し
すでにある程度お金が入っている貯金箱を用意して貯金する場合、用意した貯金箱がすでに500円以上入っているかもしれないので「Do until」
となります。
このように、繰り返し処理で使用する変数の初期の状態によって、その繰り返し処理が必要かどうかで「Do while」と「Do until 」を使い分けます。
ということで、2週にわたって繰り返し処理を説明しました。次週は入力やOKボタンなどの命令を説明します。
このように、繰り返し処理で使用する変数の初期の状態によって、その繰り返し処理が必要かどうかで「Do while」と「Do until 」を使い分けます。
ということで、2週にわたって繰り返し処理を説明しました。次週は入力やOKボタンなどの命令を説明します。
コメント