<演習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 ); // 点を描画する
  }
}