戻る

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

数える

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

繰り返しと変数

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

void setup()
{
	pinMode(13, OUTPUT);

	for(int i=0; i<10; i=i+1) {
	   digitalWrite(13, HIGH);
	   delay(1000);
	   digitalWrite(13, LOW);
	   delay(1000);
	}
}

void loop()
{

}
for文のところに注目してください。変数はないでしょうか。「i」がありますね。 これで回数を数えています。

for文とカウンタ変数

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

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

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

Arduino IDEのシリアルモニタ(右上のボタン)を開くと

0
1
2
3
4
5
6
7
8
9
が表示されます(Arduinoからパソコンへ文字を送っているのをシリアルモニタで見る)。まずiの値が1ずつ増えていることがわかります。

ほかの数え方

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

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


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