Processing lesson(7) 大量生産(while)

Note
教材を使用される方は、“lesson資料のご利用について”のご一読をお願いします。

Learning Objectives

  • 反復構造について実際に書いてみる
  • 反復構造とは何か、なぜ便利かを理解する

講義

(外部サイト)ZERO-PDE (大量生産: While文)


例1-1: While文を書かない場合

void setup(){
  size(600,600);
  background(255);
  noFill();
  stroke(0);
}

void mousePressed(){
  ellipse(mouseX, mouseY, 10, 10);
  ellipse(mouseX, mouseY, 20, 20); // 1行ずつ記述する
  ellipse(mouseX, mouseY, 30, 30); // 1行ずつ記述する 
  ellipse(mouseX, mouseY, 40, 40); // 1行ずつ記述する 
  ellipse(mouseX, mouseY, 50, 50); // 1行ずつ記述する   
  ellipse(mouseX, mouseY, 60, 60); // 1行ずつ記述する。もう疲れた・・
}

void draw(){
}

例1-2: While文を使う場合

void setup(){
  size(600,600);
  background(255);
  noFill();
  stroke(0);
}

void mousePressed(){
  int i = 1;
  int sizeX = 10;
  int sizeY = 10;
  while (i < 11){  // iが11未満である場合に繰り返す
    ellipse(mouseX, mouseY, sizeX, sizeY);
    i = i + 1;  // 1つの処理が終わるとiに1を足す
    sizeX = sizeX +10; // sizeXに10を足す
    sizeY = sizeY +10; // sizeYに10を足す
  }
}

void draw(){
}

iの数を変更するだけで、何重にも繰り返し処理を行うことができる!

../../images/lesson/2020/09/スクリーンショット-2020-09-30-13.13.02-983x1024.png
クリックした場所に多重の同心円を描く


While文をフローチャートで表すと・・

../../images/lesson/2020/09/スクリーンショット-2020-09-30-13.09.34.png
反復構造のフローチャート