Lesson.19 繰り返し処理(2) 間隔をあける繰り返し
飛ばして繰り返す。
前回は1づつ数を上げました。
しかし、世の中には1づつではなく、2づつ進むものもありますよね。
そんな時は、「step」を使います。
次の例は偶数2から10までの和を求めるプログラムです。
例:
Dim i, s
s = 0
for i = 2 to 10 step 2
s = s + 2
next
msgbox s
s = 0
for i = 2 to 10 step 2
s = s + 2
next
msgbox s
前回をしっかり学んでいれば特に難しいことは無いかと思います。
では次の例では何をしているかわかりますか?
例:
Dim i, s
s = 1
for i = 1 to 9 step 2
s = s * i
next
msgbox s
s = 1
for i = 1 to 9 step 2
s = s * i
next
msgbox s
この例は1から9までの奇数をすべてかけたものを計算するプログラムです。
これがわかれば問題ないと思います。
ちなみに2行目で今回は0ではなく1を入れたのは、掛け算の場合、
はじめが0だと計算結果が0になってしまうからです。
それから、余談なのですが、皆さんの中にはforに使う変数をなぜiばかりに
している疑問に思われたかたがいるかと思います。
決して決まりではないのですが、一般的にforを使う繰り返し処理の場合、
それに使う変数はiを使うのが慣例となっています。もちろん皆さんはこの変数を
aやbに変えてもまったく問題ありません。
ちなみにsには特に意味がありません。合計を表す英語「s」の頭文字をとっただけです。
練習
1から21までの奇数の和を計算するプログラムを書け。
解答
Dim i, s
s = 0
for i = 1 to 21 step 2
s = s + i
next
msgbox s
s = 0
for i = 1 to 21 step 2
s = s + i
next
msgbox s