戻る

変数(へんすう)で回数を数える

数える

縄とびを何回とんだか、何人の人がお店に入っていったか、紙の枚数が何枚か、回数や人数など1ずつ増やして数えることはよくあります。数えている途中に、別のことをすると数が分からなくなってしまいます。どうしてでしょうか。どこまで数えたか分からなくなるからですね。つまり、数えるには記憶が必要なのです。

繰り返しと変数

4番のプログラム例をみてみましょう。このプログラムは、Arduinoボード上のLEDを10回点滅させます。

pinMode(13, OUTPUT);
for(i=0; i<10; i=i+1) {
   digitalWrite(13, HIGH);
   delay(1000);
   digitalWrite(13, LOW);
   delay(1000);
}
for文のところに注目してください。変数はないでしょうか。「i」がありますね。 これで回数を数えています。iArduinoTerminalを使うと実行中に変数 i の値が0, 1, 2, 3, ..., 10と変わっていくのを観察できます。

for文とカウンタ変数

回数を数えるために使う変数のことをカウンタ変数といいます。さきのプログラムだとiがカウンタ変数です。for文の行に注目してみましょう。

for(i=0; i<10; i=i+1) {
一つ目の
i=0
は、繰り返しの前に i に 0 を代入するという意味です。 二つ目の
i<10
は、{と}で囲まれた部分を実行する条件です。i<10のとき、つまりiが10未満の時に実行します。 三つ目の
i=i+1
は {と}で囲まれた部分を実行した後にする計算です。いまのiの値に1を足してからiに代入しているので、iが1増えます。

次のプログラムを実行してみましょう。

ターミナルに

0
1
2
3
4
5
6
7
8
9
が表示されます。まずiの値が1ずつ増えていることがわかります。 iArduinoTerminalで変数の値を見るとプログラムの終了時にiの値は10になっていて、i<10を満たさないのでiが10のときには{と}の間が実行されていないことも分かります。

ほかの数え方

つぎのプログラムでは0, 10, 20, ..., 90と数えて10回繰り返します。

for(i=0; i<100; i=i+10) {
  print(i);
}
つぎのプログラムでは10, 9, 8, 7, ..., 1 と数えて10回繰り返します。
for(i=10; i>0; i=i-1) {
  print(i);
}
つぎのプログラムでは2, 4, 6, 8, 10, ..., 20と数えて10回繰り返します。
for(i=2; i<=20; i=i+2) {
  print(i);
}


戻る
(c) 2014 N. Mitsunaga
サンプルプログラムの著作権を放棄します。