Translate

2009年10月13日火曜日

無限ループでLEDの点滅(8) 乱数 rand,srand,if,break,goto

[実験 MikroC Pro PIC16F84A_LED_0010]

0.2秒間隔でrand( )、srand( )関数 を使って0から19の乱数を作りLEDを点滅させ、もし、0になったら無限ループを抜け出しLEDを全部点灯させなさい。

break文とgoto文の2つ考えなさい。




break文の場合




goto文の場合





[srand( )の書式 ]

void srand(unsigned x);


srand( )は、乱数rand( )のseed(種)にしたいunsigned int型の引数。
rand( )を使用するとき、srand( )が無いプログラムはsrand(1)と同じです。






while(1){ ・・・}
do{ ・・・}while( ) ;
for( ;; ){・・・ }


無限ループから抜け出すにはbreak文かgoto文を使います。


break文は、1つの繰り返しから抜けます。
goto文は、複数の繰り返しから抜け出せます。





if(a == 0) break;
if(a == 0) goto end; // goto文+ラベル名


[ if文の書式 ]


if ( 制御式) 
もし、制御式成立するならば次のを実行しなさい。」 

if の後の( )の中の 制御式は、

下記のような等価演算子や関係演算子を使います。
今回のプログラムでは、「乱数を20で割った余りが0つまり割り切れたとき、無限ループを抜けなさい。」ということになります。












mikroC PRO for PIC

0 件のコメント:

コメントを投稿