วันพุธที่ 7 สิงหาคม พ.ศ. 2556

-Barchart-




จังหวัดที่มีรถมอเตอร์ไซค์น้อยที่สุด 3 ลำดับ พ.ศ. 2552 - 2554

void setup() {
  size(210, 240);
  background(0);
  Barchart();
  maxmin();
}
float[][]stat= {           //สร้างตัวแปรอาเรย์2มิติ ชนิดจำนวนทศนิยม และกำหนดค่า
  {
    28.93, 34.84, 36.23
  }
  , {
    29.78, 34.37, 35.85
  }
  , {
    7.92, 43.7, 48.38
  }
};
String[][] j= {               //สร้างตัวแปรอาเรย์2มิติ ชนิดข้อความ และกำหนดค่า
  {
    "MaeHongSon", "SamutSongkhram", "Ranong"
  }
  , {
    "MaeHongSon", "SamutSongkhram", "Nonthaburi"
  }
  , {
    "Kna", "MaeHongSon", "SamutSongkhram"
  }
};
String[] year= {
  "2552", "2553", "2554"
};
int i=0;
int count=0;
void Barchart() {     //เป็นฟังก์ชันที่ใช้ในกาวาดBarchart
  int y=30;
  float avg=0;             //ตัวแปลที่ใช้ในการเก็บค่าเฉลี่ย
  while (count<=2) {         //กำหนดเงื่อนไขในกาวนลูป ใช้ในกาวาดรูปBarchart
    avg=(avg+stat[i][count]/stat[i].length);       //ใช้ในการคำนวนหาค่าเฉลี่ย โดยค่าที่นำมาคิดจะถูกเปลี่ยน                                                                 ไปทุกๆครั้งที่มีการวนลูป สังเกตได้จากตัวแปล i ที่อยู๋ใน[ ]
    rect(0, y, stat[i][count]*2, 10);
    text(j[i][count], 100, y+10);        
    y=y+10;
    count=count+1;                        
    if (count==3) {                              //โดยภายในเงื่อนไขนี้จะมีคำสั่งที่ใช้ในการวาด
                                                         Barchartขอค่าเฉลี่ย
      text("Year "+year[i], 10, y-30);         //แสดงข้อความออกมาที่Canvas
      fill(255, 0, 0);
      rect(0, y, (avg/3)*2, 5);
      fill(255);
      y=y+20;
      i=i+1;
      count=0;
      fill(255, 0, 0);
      text("average= "+avg+"%", 5, 190);  
      fill(255);
      avg=0;                                  //รีเซ็ตค่าให้เป็น0เพื่อนำกลับไปใช้คำนวนของปีต่อไปได้
      if (i==3) {
        break;
      }
    }
  }
}
void maxmin() {           //เป็นฟังก์ชันที่ใช้ในการหาค่า Max Min
  i=0;
  float max=stat[0][0];          //ตัวแปลที่ใช้ในการเก็บค่าMax
  float min=stat[0][0];            //ตัวแปลที่ใช้ในการเก็บค่าMax
  while (count<=2) {             //ลูปที่ใช้ในการวนหาค่ามาที่สุดและน้อยที่สุด
    if (max<stat[i][count]) {        //ใช้ในการเปลี่ยบเทียบค่าว่าค่าไหนมีค่ามากกว่ากัน
                                                ถ้าค่าstatมีค่ามากกว่าค่า max 
      max=stat[i][count];             ค่า maxก็จะเท่ากับค่าstatทันทีตามคำสั่งที่เขียนไว้
    }
    if (min>stat[i][count]) {          //ใช้ในการเปลี่ยบเทียบค่าว่าค่าในน้อยกว่ากัน
      min=stat[i][count];
    }
    count=count+1;
    if (count==3) {
      i=i+1;
      count=0;
      if (i==3) {
        break;
      }
    }
  }
  fill(0, 255, 0);
  text("max is SamutSongkhram= "+max+"%", 5, 210); //แสดงข้อความออกมาทางCanvas
  text("min is Kan="+min+"%", 10, 230);
}
//อ้างอิงคำสั่งพื้นฐานต่างๆจาก lab1 http://com5630043.blogspot.com/search/label/lab1
//อ้างอิงอธิบายฟังก์ชันจาก lab2 http://com5630043.blogspot.com/search/label/lab2

//อ้างอิงอธิบายเรื่องif-elseจาก lab3 http://com5630043.blogspot.com/search/label/lab3%20%3A%20Condition

ไม่มีความคิดเห็น:

แสดงความคิดเห็น