วันศุกร์ที่ 26 กรกฎาคม พ.ศ. 2556

-Binary Display-(Plus)

size(270,100);
boolean[] a={true,true,true,false};   // เป็นการประกาศตัวแปลเป็นArray 
                                                       ชนิดboolean(เก็บค่า true,false)  ชื่อ a ซึ่งตัวแปลชนิดนี้
                                                      จะเก็บค่าได้หลายตัวโดยที่มีตำแหน่ง index เป็นตัวกำกับ
boolean[] b={true,true,false,false};
boolean[] ab=new boolean[a.length]; // เป็นการประกาศตัวแปลเป็นArray 
                                                        ชนิดboolean(เก็บค่า true,false)  ชื่อ ab ซึ่งตัวแปลชนิดนี้
                                                      จะเก็บค่าได้หลายตัวโดยที่มีตำแหน่ง index เป็นตัวกำกับ
                                                    (ในที่นี้ยังไม่กำหนดค่า แต่่กำหนดให้มีจำนวนข้อมูลเท่ากับ
                                                      ความกว้างของ array a  ในที่นี้คือ 4)
                                                       .ให้ตัวแปลนี้เก็บผลบวกของa และ b โดยไม่รวมตัวทด
boolean[] tod=new boolean[a.length+1]; //ให้ตัวแปลนี้เก็บค่าทดเลข
boolean[] sum=new boolean[a.length];  //ให้ตัวแปลนี้เก็บคำตอบ
int count=a.length-1;                     //a.length คือความกว้างของarray a ในที่นี้เท่ากับ 4
                                                    ดังนั้น count=4-1=3
int r=30,y=50,x=70;

while(count>=0){    //ลูปนี้ทำหน้าที่ในการหาผลบวกของa และ b โดยไม่รวมตัวทด
 if(a[count]==true&&b[count]==true){  //เงื่อนไขเทียบค่าaกับbในตำแหน่งเดียวกัน
                           เมื่อเงื่อนไขเป็นจริงจะทำตามคำสั่งด้านในทำหน้าที่คล้ายการบวก
    ab[count]=false;         //ตัวแปรabเก็บค่าผลบวกของa และ b โดยยังไม่รวมค่าทดเลข    
    tod[count]=true;        //ตัวแปรtodเก็บค่าทดที่ได้จากการบวกกัน
 }
 else if(a[count]==false&&b[count]==false){ //เงื่อนไขเทียบค่าaกับbในตำแหน่งเดียวกัน
                                            เมื่อเงื่อนไขเป็นจริงจะทำตามคำสั่งด้านในทำหน้าที่คล้ายการบวก
    ab[count]=false;
    tod[count]=false;
 }
 else{                                    //ในที่นี้คือเงื่อนไข a[count]==true&&b[count]==false
                                             และ a[count]==false&&b[count]==true  เป็น
                                             เงื่อนไขเทียบค่าaกับbในตำแหน่งเดียวกัน
                                            เมื่อเงื่อนไขเป็นจริงจะทำตามคำสั่งด้านในทำหน้าที่คล้ายการบวก
                                         
    ab[count]=true;
    tod[count]=false;
 }

 count=count-1;
}

if(tod[1]==true&&ab[0]!=false){  //เงื่อนไขในการปริ้นค่าตัวแรกที่เราจะปริ้นออกมา
  fill(127 ,255, 0);
  ellipse(x,y,r,r);
  text("true",x,y-20);

}
 if(tod[0]==true){            //เงื่อนไขในการปริ้นค่าตัวแรกที่เราจะปริ้นออกมา
   fill(127, 255, 0);
  ellipse(x,y,r,r);
  text("true",x,y-20);
}
x=x+40;        
count=0;                     //กำหนดค่าcount=0เพื่อใช้ในการวนลูปด้านล่าง
while(count<a.length){ //ลูปนี้ทำหน้าที่ในการรวมค่าabและค่าtodเข้าด้วยกัน
                                    เพื่อให้ได้คำตอบ
  if(ab[count]==true&&tod[count+1]==true){  //เงื่อนไขเทียบค่าabกับtodในตำแหน่งเดียวกัน
                                        เมื่อเงื่อนไขเป็นจริงจะทำตามคำสั่งด้านในทำหน้าที่คล้ายการบวก
    sum[count]=false;
  }
  else if(ab[count]==false&&tod[count+1]==false){ //เงื่อนไขเทียบค่าabกับtodในตำแหน่งเดียวกัน
                                        เมื่อเงื่อนไขเป็นจริงจะทำตามคำสั่งด้านในทำหน้าที่คล้ายการบวก
    sum[count]=false;
  }
  else {                          //เงื่อนไขเทียบค่าabกับtodในตำแหน่งเดียวกัน
                                        เมื่อเงื่อนไขเป็นจริงจะทำตามคำสั่งด้านในทำหน้าที่คล้ายการบวก
    sum[count]=true;
  }


 if(sum[count]==true){           //กำหนดเงื่อนไขในการใส่สี
   fill(127 ,255, 0);
  }
  else if(sum[count]==false){
    fill(255);
  }
  text(""+sum[count],x,y-20);
  ellipse(x,y,r,r);
   x=x+40;

  count=count+1;
}
fill(0);
text("Sum(+)=",5,y-20);     //เป็นคำสั่งแสดงข้อความโดยกำหนดดังนี้
                                   ("ข้อความ"+ค่าที่ต้องการแสดง,ตำแน่งแกนx,ตำแหน่งแกนy)

//อ้างอิงคำสั่งพื้นฐานต่างๆจาก 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

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

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