size(240,100);
boolean[] a={true,false,true,false}; // เป็นการประกาศตัวแปลเป็นArray
ชนิดboolean(เก็บค่า true,false) ชื่อ a ซึ่งตัวแปลชนิดนี้
จะเก็บค่าได้หลายตัวโดยที่มีตำแหน่ง index เป็นตัวกำกับ
boolean[] b={true,true,false,true};
boolean[] sum=new boolean[a.length]; // เป็นการประกาศตัวแปลเป็นArray
ชนิดboolean(เก็บค่า true,false) ชื่อ sum ซึ่งตัวแปลชนิดนี้
จะเก็บค่าได้หลายตัวโดยที่มีตำแหน่ง index เป็นตัวกำกับ
(ในที่นี้ยังไม่กำหนดค่า แต่่กำหนดให้มีจำนวนข้อมูลเท่ากับ
ความกว้างของ array a ในที่นี้คือ 4)
int count=a.length-1; //a.length คือความกว้างของarray a ในที่นี้เท่ากับ 4
ดังนั้น count=4-1=3
int j=1;
int r=30,y=50,x=60;
while(count>0){ //ลูปนี้ทำงานคล้ายกับการลบเลข
if(a[count]==false&&b[count]==true){ //เงื่อนไขเทียบค่าaกับbในตำแหน่งเดียวกันเมื่อ
เมื่อเงื่อนไขเป็นจริงจะทำตามคำสั่งด้านในทำหน้าที่คล้ายการลบ
sum[count]=true; //ให้sumเก็บคำตอบที่ได้ในตำแหน่งเดียวกับa และ b
a[count-1]=!a[count-1]; //เป็นการเปลี่ยนตัวหน้าให้เป็นตัวเลขตรงกันข้าม
คล้ายกับการ ลบ เลขฐาน10(การยืมค่า)
if(a[0]==false && b[0]==true){
sum[0]=true;
}
if(a[count-1]==true){ //เป็นการเปลี่ยนเช็คค่าที่เปลี่ยนไป ถ้าค่าที่เปลี่ยนเป็นtrue
แสดงว่าค่าเดิมเป็นfalseจะต้องทำการยืมค่าไปเรื่อยๆ
while(a[count-j]==true){ //ลูปนี้ทำงานเหมือนการยืมค่าไปเรื่อยๆจะออกจากลูป
เมื่อค่าa[count-j]==false
if(a[0]==true){
break; //เป็นคำสั่งหยุดการทำงาน
}
j=j+1;
a[count-j]=!a[count-j]; //เป็นการเปลี่ยนตัวหน้าให้เป็นตัวเลขตรงกันข้าม
คล้ายกับการ ลบ เลขฐาน10(การยืมค่า)ถ้าa[count-j]=true
ค่า!a[count-j]=false จะหยุดการทำงาน
}
}
}
else if(a[count]==true&&b[count]==false){ //เงื่อนไขเทียบค่าaกับbในตำแหน่งเดียวกัน
เมื่อเงื่อนไขเป็นจริงจะทำตามคำสั่งด้านในทำหน้าที่คล้ายการลบ
sum[count]=true;
}
else{ //เงื่อนไขเทียบค่าaกับbในตำแหน่งเดียวกันเมื่อ
เมื่อเงื่อนไขเป็นจริงจะทำตามคำสั่งด้านในทำหน้าที่คล้ายการลบ
sum[count]=false;
}
count=count-1; //ให้ค่าcount-1 เรื่ีอยๆเพื่อให้ออกจากลูป
}
count=0; //กำหนดค่าcount=0เพื่อใช้ในการวนลูปด้านล่าง
while(count<a.length){ //ลูปนี้ทำหน้าที่ในการแสดงผลลบที่เก็บไว้ในsumออกมา
if(sum[count]==true){
fill(127 ,255, 0);
}
else {
fill(255);
}
text(""+sum[count],x,y-20); //เป็นคำสั่งแสดงข้อความโดยกำหนดดังนี้
("ข้อความ"+ค่าที่ต้องการแสดง,ตำแน่งแกนx,ตำแหน่งแกนy)
ellipse(x,y,r,r);
x=x+40;
count=count+1;
}
fill(0);
text("Sum(-)=",5,y-20);
//อ้างอิงคำสั่งพื้นฐานต่างๆจาก 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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น