P5

for 文

for 文

for 文とは、ブロック内の処理を指定した条件が満たされるまで繰り返し実行する命令です。Processing における for 文の書き方を以下に示します。

size( 400, 400 );
background( 240 );

for( int i = 0; i < 40; i++ ){
  stroke( color(255, 100, 100) );
  line( i*10, 0, 0, 400 );
  stroke( color(100, 100, 255) );
  line( 400, 400, i*10, 0 );
}


実行例

for 文の箇所は以下のようになっている。

 for( int i = 0; i < 40; i++ )
 for( ループ変数の初期化; ループの継続条件; ループごとに実行される計算 )

変数 i をループ変数として用い、ループを1回繰り返すごとに i の値をインクリメント(1を足す)しています。i の値は 0 からスタートしてループごとに 1 増えて行き、i が 40となった時点で for ループの処理は終了します(iが40である時の処理は実行されない)。このようにして、計40回、for文内の処理が繰り返される。line関数の引数として i を用いているので、ループごとに異なる線分が引かれることになります。

上記の例で、for文のループごとに実行される計算を以下のように変更してみます。

 for( int i = 0; i < 40; i+=2 )

i はループごとに2づつ加算されることになります。すると for 文の繰り返し回数は 20 回になるので、次のような実行結果が得られます。


実行例

for 文のネスト

for 文の中に for 文を書くことで、より複雑な処理が実現できます。

size( 400, 400 );
background( 0 );
colorMode( HSB, 100 );
noStroke();

for( int i = 0; i < 10; i++ ){
  for( int j = 0; j < 10; j++){
    fill( j*10, i*10, 90 );
    ellipse( 20+i*40, 20+j*40, 30, 30 );
  }
}


実行例

コメント

Copied title and URL