Translate

2009年10月20日火曜日

回数指定ループでLEDの点滅(6) while(count--){ }

[実験 MikroC Pro PIC16F84A_LED_0016]

0.1秒間隔で下記のパターンで4回LEDを点滅させなさい。
(1)while文(2)do~while文は、while(count-- ) を使って
(3)for文は、for(i=0; i < count; i++)を使って3つ考えなさい。


○○○○○○○●
○○○○○○●●
○○○○○●●○
○○○○●●○○
○○○●●○○○
○○●●○○○○
○●●○○○○○
●●○○○○○○
●○○○○○○○





(1)while文の回数指定ループ




(2)do~while文の回数指定ループ





(3)for文の回数指定ループ





while(count-- )
4,3,2,1,0,-1,-2,-3….とデクリメントされて、あれ?無限ループ?
そんな気になってきます。


前回の実験では、while(count-- >0 )だったので0より大きい間は繰り返す。
解りやすかったですね。

でも今回は、条件が間違えている、または、不足しているのでは。

無限ループ(1)でお話しましたが、見えない条件が隠れています。
while( )の中の制御文は、0か非0を常に判定しています。
0(false)、非0(true)。
ですから、count=0になった時、繰り返しをやめます。
つまり、4,3,2,1と4回繰り返して5回目に0になり繰り返しを止めることになります。








mikroC PRO for PIC

0 件のコメント:

コメントを投稿