takashi42332007-05-15

Example->Control->Conditionals1 and 2
この前で,Colorのカテゴリーが終わったので今日からはControlを読んで行きます.今回のテーマであるConditionalsとは,「条件文」の意味です.

条件文とは質問のようなものです.条件文では,もしその質問が「真」(正しい)であった場合に行う一つのアクションを決定させます.もちろん「偽」(間違ってる)であった場合のアクションも定義する事が可能です.その質問(条件文)は,一般的に,論理式(i == 0)や不等号(i >= 0)で決めます.


いわゆる,プログラムの3つの流れ(順次進行・繰り返し・条件分岐)の1つのお話です.


Conditionals 1

size(200, 200);
background(0);

for(int i=10; i<width; i+=10) {
  // もし'i'が20で割り切れれば最初のラインを描き,
  //そうでなければ,2つめのラインを描きます
  if(i%20 == 0) {
    stroke(153);
    line(i, 40, i, height/2);
  } else {   //そうでなければ,以下を実行
    stroke(102);
    line(i, 20, i, 180); 
  }
}


Conditionals 2
ここではelseの後にも,if (条件文)を書けば,また違ったアクションを設定する事が可能だと言う事をしめしています.

if (条件文1) {
  action1();
}else if(条件文2) {
  action2();
}else {
  actin3();
} 
size(200, 200);
background(0);

for(int i=2; i<width-2; i+=2) {
  //もし'i'が20で割り切れれば最初のラインを,もし'i'が10で割れれば2つめのラインを, 
  //もしいずれでもなければ3つめのラインを描きます.
  if(i%20 == 0) {
    stroke(255); //白い線
    line(i, 40, i, height/2);
  } else if (i%10 == 0) {
    stroke(153); //長い線
    line(i, 20, i, 180); 
  } else {
    stroke(102); //細い線
    line(i, height/2, i, height-40);
  }
}