第4回 繰り返し

 
 演習
 
<演習1>

 1〜6の乱数10個発生させて表示する。
 以下のソースで/*空欄(複数行)*/ を埋めて、プログラムを完成させなさい。

 <ソース>
void setup()
{
 
 
/*空欄(複数行)*/
 
}
 
 <実行例>
    
  
 
 
<演習2>

 以下のソースで、 n 個の '#' を表示するプログラムを作成したい。
 ただし、繰り返しの処理は while() を用いること。
 /*空欄(複数行)*/ を埋めて、プログラムを完成させなさい。

 <ソース>
void setup()
{
  int n = 8; // #の個数

 
/*空欄(複数行)*/

}

 
 <実行例>
    
 
 
 
<演習3>

 以下ソースの /*空欄(複数行)*/ を埋めて、下図の実行例のような描画をしなさい。
 白黒の1個の正方形の大きさは 50x50 とする。

 <ソース>
void setup()
{
  size(400,400);
 
  /*空欄(複数行)*/

}
 
 <実行例>
    
 
 
 
<演習4>
 
 以下のソースでfor20個を描画するものとし、7個目から14個目赤色、それ以外は青色
 となるように、/*空欄(複数行)*/ を埋めて完成させなさい。
 なお、〇のサイズは、20x20である。

 <ソース>
void setup()
{
  size(400,100);
  background( 255 );
 
  for(int i=0;i<20;i++){
    /*空欄(複数行)*/
  }
}

 
 <実行例>
    
 
 
 
<演習5>
 
 素数を小さいものから加算していき、合計10,000を超えたときの素数とその合計を表示したい。
 途中の素数も表示する。
 下のソースで、/*空欄(複数行)*/ を埋めて完成させなさい。
 また、boolean prime( int n ) は 引数 n が素数のとき true、素数でないとき false を返す関数である。
  
 <ソース>
void setup()
{
 
  /*空欄(複数行)*/
 
}

// 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>
 
 下図の実行例のように、400x400の画面にランダムに点を打って、左半分は緑色、右半分は黄色にする。
 点の個数は50,000個とし、背景は黒色とする。
 下記のソースの/*空欄(複数行)*/を埋めて完成させなさい。
 なお、点描画はProcessingの point(x,y); 関数を、点の色指定は関数 stroke( R,G,B ); 関数を使いなさい。

 <ソース>
void setup()
{

 
/*空欄(複数行)*/

}
 
 <実行例>
    
 
 
 
 
演習問題の提出について
演習1演習6のプログラムソースの内容をTextファイルに記述して、Cerezoから提出しなさい。
わからない問題は、飛ばしてもよい。
上記の内容をすべて1個のTextファイルにまとめ、ファイル名は

   [自分の学籍番号]+"_演習04.txt"  
  (例:"5412016_演習04.txt"、"5412003_演習04.txt" など


のように保存してから提出すること。
提出物には学籍番号と氏名を必ず記載しておくこと。
 
 
<提出ファイルの作成例>
第4回演習問題の回答  5412099 福山太郎

- 演習1 -----------------------------------------
size( 400, 400 );
background(255);
 
ellipse( 200, 200, 100, 100 );


- 演習2 -----------------------------------------
size( 320, 120 );
background( 255 );
fill(255); // 白色で内部を塗りつぶす
rect( 20, 10, 140, 100 ); // 長方形
noFill(); // 内部を塗りつぶさない
rect( 170, 10, 140, 100 ); // 長方形
     :
     :