| <演習1>の解答例 |
| void setup() { int r; for(int i=0;i<10;i++){ r = (int)random(1,7); // 1~6の乱数を発生 print( " " + r ); } } |
| <演習2>の解答例 |
| void setup() { int n = 8; // #の個数 int i = 0; while( i<n ){ print("#"); i++; } print(" " + n ); } |
| <演習3>の解答例 |
| void setup() { size(400,400); for(int i=0;i<8;i++){ for(int j=0;j<8;j++){ if( (i+j)%2==0 ){ fill(255); }else{ fill(0); } rect(j*50,i*50, 50,50); } } } |
| <演習4>の解答例 |
| void setup() { size(400,100); background( 255 ); for(int i=0;i<20;i++){ if( i>=6 && i<14 ){ fill(255,0,0); // 赤色 }else{ fill(0,0,255); // 青色 } ellipse(i*20+10,50, 20,20); } } |
| <演習5>の解答例 |
| void setup() { int i = 0; int sum = 0; while(true){ if( prime(i)==true ){ sum += i; print(" " + i ); if( sum>10000 ) break; } i++; } println("\n素数 = " + i + " (合計 = " + sum + ")" ); } // int n が素数のとき true、素数でないとき false を返す関数 boolean prime( int n ) { int i; boolean ret = false; // 2以上の数と n の他で、割り切れる数があるか調べる for(i=2;i<=n/2;i++){ if( n%i==0 ){ // 割り切れた break; } } if( i==(n/2)+1 ){ // ループ終了までbreakしなかった ret = true; } return ret; } |
| <演習6>の解答例 |
| void setup() { int x,y; size( 400, 400 ); background(0); for(int i=0;i<50000;i++){ x = (int)random(0,400); // x座標の値 y = (int)random(0,400); // y座標の値 if( x<200 ){ // 点の位置が左半分だった stroke( 0,255,0 ); // 緑色 }else{ stroke( 255,255,0 ); // 黄色 } point( x,y ); // 点を描画する } } |