CODE
int [] a = {55,35,45,80,20}; //สร้าง Array ชื่อ a ที่มีข้อมูล 5 ตัว เพื่อเก็บค่าตัวเลขในแต่ละลำดับ
int x = 25; //ตัวแปร x เท่ากับ 25
int y = 350; //ตัวแปร y เท่ากับ 350
int i = 0; //ตัวแปร i เท่ากับ 0 (ลำดับที่ 0 ใน Array)
void setup(){
size(325,460);
background(0);
//แสดงคำอธิบาย
fill(247,32,36); //red
text("-Maximum",x,400);
fill(25,96,245); //blue
text("-Minimum",x,420);
fill(252,252,5); //yellow
text("-Average",x,440);
while(i<a.length){ //ถ้าค่าตัวแปร i น้อยกว่าความยาวของ Array ชื่อ a (ซึ่งเท่ากับ 5)
//แสดงแท่งแผนภูมิที่เป็นค่าสูงสุด
if(a[i] == max(a)){ //ถ้า Array ชื่อ a ในลำดับ i มีค่าเท่ากับ ค่าสูงสุดใน Array ชื่อ a
fill(247,32,36); //red
println("Max = " + a[i]);
textSize(15);
text(a[i],x,y+20);
}
else if(a[i] == min(a)){ //ถ้า Array ชื่อ a ในลำดับ i มีค่าเท่ากับ ค่าต่ำสุดใน Array ชื่อ a
//แสดงแท่งแผนภูมิที่เป็นค่าต่ำสุด
fill(25,96,245); //blue
println("Min = " + a[i]);
textSize(15);
text(a[i],x,y+20);
}
//แสดงแท่งแผนภูมิอื่นๆที่ไม่เป็นค่าสูงสุดและค่าต่ำสุด
else{ //กรณีอื่นๆ ที่ Array ชื่อ a ในลำดับ i ที่มีค่าไม่เท่ากับ ค่าสูงสุดและต่ำสุดใน Array ชื่อ a
fill(49,245,25); //green
textSize(15);
text(a[i],x,y+20);
}
noStroke();
rect(x,y,20,(-4)*a[i]);
i = i + 1;
x = x + 50;
}
//แสดงแท่งแผนภูมิที่เป็นค่าเฉลี่ย
int avra = (a[0]+a[1]+a[2]+a[3]+a[4])/a.length; //ตัวแปร avra มีค่าเท่ากับ Array ชื่อ a ที่มีลำดับตั้งแต่ 0 ถึง 4 นำมารวมกันแล้วหารด้วยความยาวของ Array ชื่อ a (ซึ่งมีค่าเท่ากับ 5)
noStroke();
fill(252,252,5); //yellow
rect(x,y,20,avra*(-4));
println("Avr = " + avra);
textSize(15);
text(avra,x,y+20);
}
จากโค้ด ถ้าเปลี่ยนค่าใน Array ชื่อ a จาก int [] a = {55,35,45,80,20}; เป็น int [] a = {50,45,20,10,5}; จะได้ดังรูป
int x = 25; //ตัวแปร x เท่ากับ 25
int y = 350; //ตัวแปร y เท่ากับ 350
int i = 0; //ตัวแปร i เท่ากับ 0 (ลำดับที่ 0 ใน Array)
void setup(){
size(325,460);
background(0);
//แสดงคำอธิบาย
fill(247,32,36); //red
text("-Maximum",x,400);
fill(25,96,245); //blue
text("-Minimum",x,420);
fill(252,252,5); //yellow
text("-Average",x,440);
while(i<a.length){ //ถ้าค่าตัวแปร i น้อยกว่าความยาวของ Array ชื่อ a (ซึ่งเท่ากับ 5)
//แสดงแท่งแผนภูมิที่เป็นค่าสูงสุด
if(a[i] == max(a)){ //ถ้า Array ชื่อ a ในลำดับ i มีค่าเท่ากับ ค่าสูงสุดใน Array ชื่อ a
fill(247,32,36); //red
println("Max = " + a[i]);
textSize(15);
text(a[i],x,y+20);
}
else if(a[i] == min(a)){ //ถ้า Array ชื่อ a ในลำดับ i มีค่าเท่ากับ ค่าต่ำสุดใน Array ชื่อ a
//แสดงแท่งแผนภูมิที่เป็นค่าต่ำสุด
fill(25,96,245); //blue
println("Min = " + a[i]);
textSize(15);
text(a[i],x,y+20);
}
//แสดงแท่งแผนภูมิอื่นๆที่ไม่เป็นค่าสูงสุดและค่าต่ำสุด
else{ //กรณีอื่นๆ ที่ Array ชื่อ a ในลำดับ i ที่มีค่าไม่เท่ากับ ค่าสูงสุดและต่ำสุดใน Array ชื่อ a
fill(49,245,25); //green
textSize(15);
text(a[i],x,y+20);
}
noStroke();
rect(x,y,20,(-4)*a[i]);
i = i + 1;
x = x + 50;
}
//แสดงแท่งแผนภูมิที่เป็นค่าเฉลี่ย
int avra = (a[0]+a[1]+a[2]+a[3]+a[4])/a.length; //ตัวแปร avra มีค่าเท่ากับ Array ชื่อ a ที่มีลำดับตั้งแต่ 0 ถึง 4 นำมารวมกันแล้วหารด้วยความยาวของ Array ชื่อ a (ซึ่งมีค่าเท่ากับ 5)
noStroke();
fill(252,252,5); //yellow
rect(x,y,20,avra*(-4));
println("Avr = " + avra);
textSize(15);
text(avra,x,y+20);
}
จากโค้ด ถ้าเปลี่ยนค่าใน Array ชื่อ a จาก int [] a = {55,35,45,80,20}; เป็น int [] a = {50,45,20,10,5}; จะได้ดังรูป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น