[実験 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 件のコメント:
コメントを投稿