第5回 配列(その1)
 
 
 演習
 
<演習1>

 以下の<修正前のソース>forを使った処理に修正する。/*空欄*/ を埋めて、<修正後のソース>のプログラムを完成させなさい。

 <修正前のソース>
void setup()
{
  int [] x = { 6,1,7,5 };
 
  print( " " + x[0] );
  print( " " + x[1] );
  print( " " + x[2] );
  print( " " + x[3] );
}

 
 <修正後のソース>
void setup()
{
  int [] x = { 6,1,7,5 };
 
  for(int i=0;i<4;i++){ 
   
/*空欄*/
  }
}
 
 <実行例>
    
  
 
 
<演習2>

 以下の<修正前のソース>forを使った処理に修正する。/*空欄(複数行)*/ を埋めて、<修正後のソース>のプログラムを完成させなさい。

 <修正前のソース>
void setup()
{
  String [] s = {"one","two","three","four"};
 
  println( s[0] );
  println( s[1] );
  println( s[2] );
  println( s[3] );
}

 
 <修正後のソース>
void setup()
{
  String [] s = {"one","two","three","four"};

  /*空欄(複数行)*/
 
}

 
 <実行例>
    
 
 
 
<演習3>

 5,3,8,2 の4つの値を配列変数 int [] x; に格納して合計を計算・表示する。
 以下ソースの /*空欄(1行)*/ を埋めて、プログラムを完成させなさい。

 <ソース>
void setup()
{
  int [] x = { 5,3,8,2 };
  int sum;
 
  /*空欄(1行)*/

  println( "合計 = " + sum );
}

 
   
  
<演習4>
 
 double [] d = { 3.5, 2.8, 5.7, 9.2 }; の合計を計算して表示しなさい。
 以下のソースでforを利用して、/*空欄(複数行)*/ を埋めて完成させなさい。

 <ソース>
void setup()
{
  double [] d = { 3.5, 2.8, 5.7, 9.2 };

 
/*空欄(複数行)*/
 
}

 
 <実行例>
    
 
 
 
<演習5>
 
 int [] x = new int[9];9個の配列変数に、1の2乗、2の2乗・・・9の2乗を代入して、その後にそれらを表示する。
 以下のソースで、/*空欄(複数行)*/ を埋めて完成させなさい。
  
 <ソース>
void setup()
{
  int [] x = new int[9];
 
  /*空欄(複数行)*/
 
}
 
 <実行例>
    
 

 
<演習6>
 
 1~99乱数10個の配列変数に格納して、それを表示しなさい。
 次に、それらの中で最も大きい値を求めて表示しなさい。
 下記のソースの/*空欄(複数行)*/を埋めて完成させなさい。

 <ソース>
void setup()
{
  int [] x = new int[10]; // 10個の配列変数
  int i;
  int max; // 最大値を探すときに使う
 
  for(i=0;i<10;i++){ // 乱数の代入
    /*空欄*/ // 1~99の乱数
  }
  for(i=0;i<10;i++){ // 表示
   
/*空欄*/
  }

  // 最大値を探す

 
/*空欄(複数行)*/

  println("\n 最大値 = " + max);
}

 
 <実行例>
    
 
 
 
<演習7>
 
 1~9乱数を発生させて、30個の配列変数に格納し、その後、30個の数値を表示しなさい。
 次に、奇数個目のものだけを表示、続けて偶数個目だけのものを表示しなさい。
 下記のソースの/*空欄(複数行)*/を埋めて完成させなさい。

 <ソース>
void setup()
{
  int [] x = new int[30];

  /*空欄(複数行)*/

}
 
 <実行例>
    
   
 
  
<演習8>
 
 実行例のように int [] x ={ 2,8,12,14,19 };x[n]個(n=0,1,…,4)のを描画したい。
 下記のソースの/*空欄*/を埋めて完成させなさい。

 <ソース>
void setup()
{
  int [] x = { 2,8,12,14,19 };
  int j;
  size(400,200);
  background(255);
 
  for(j=0;j</*空欄*/;j++) ellipse( 10+j*20, 10+0*20, 20,20 );
  for(j=0;j<
/*空欄*/;j++) ellipse( 10+j*20, 10+1*20, 20,20 );
  for(j=0;j<
/*空欄*/;j++) ellipse( 10+j*20, 10+2*20, 20,20 );
  for(j=0;j<
/*空欄*/;j++) ellipse( 10+j*20, 10+3*20, 20,20 );
  for(j=0;j<
/*空欄*/;j++) ellipse( 10+j*20, 10+4*20, 20,20 );
}

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

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


のように保存してから提出すること。
提出物には学籍番号と氏名を必ず記載しておくこと。
 
 
<提出ファイルの作成例>
第5回演習問題の回答  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 ); // 長方形
     :
     :