คำสั่งควบคุม
- 3. 1. คำสั่งประเภทเงื่อนไข(Condition Statement) เป็นคำสั่งที่ใช้ในการตรวจสอบเงื่อนไขตามที่ได้เขียนไว้ในโปรแกรม เพื่อให้โปรแกรมทำงานตามข้อกำหนดที่เราต้องการ เมื่อโปรแกรมนำเอาเงื่อนไขมาทำการตรวจสอบ โดยการเปรียบเทียบค่าตามเงื่อนไข ซึ่งผลลัพธ์ที่ได้จะมีอยู่ 2 ค่าเท่านั้น คือ “จริง”(True) หรือ “เท็จ”(Flase) ถ้าผลลัพธ์ที่ได้เป็น “จริง”จะให้โปรแกรมทำคำสั่งอะไรต่อไป หรือถ้าผลลัพธ์เป็น “เท็จ”จะให้โปรแกรมทำอะไร
- 6. คำสั่งเงื่อนไขที่นำมาใช้ในการพัฒนาโปรแกรมควบคุมหุ่นยนต์ MicroCamp ได้แก่ คำสั่ง if-else , if-else-if รูปแบบ คำสั่ง if-else(แถวที่ I ,III และ IV) และ คำสั่ง if ซ้อน if(แถวที่ I -IV) Iif (เงื่อนไขเปรียบเทียบที่ 1) {คำสั่งที่ 1 ที่ต้องการให้กระทำ ถ้าผลเปรียบเทียบเป็นจริง คำสั่งที่ 2 ที่ต้องการให้กระทำ ถ้าผลเปรียบเทียบเป็นจริง } IIelse if (เงื่อนไขเปรียบเทียบที่ 2) //เมื่อเงื่อนไขที่ 1 ไม่เป็นจริงก็มาตรวจสอบเงื่อนไขที่ 2 ต่อ {คำสั่งที่ 3 ที่ต้องการให้กระทำ ถ้าผลเปรียบเทียบเป็นจริง คำสั่งที่ 4 ที่ต้องการให้กระทำ ถ้าผลเปรียบเทียบเป็นจริง } IIIelse { คำสั่งที่ 5 ต้องการให้กระทำ ถ้าผลเปรียบเทียบทุกกรณีเป็นเท็จ คำสั่งที่ 6 ต้องการให้กระทำ ถ้าผลเปรียบเทียบทุกกรณีเป็นเท็จ } IV คำสั่งที่ 7// เป็นคำสั่งปกติที่โปรแกรมจะทำต่อ เมื่อโปรแกรมหลุดออกจากคำสั่ง if
- 7. ตัวอย่างคำสั่ง if-else และ if-else-if (if ซ้อน if) #include <in_out.h> #include <motor.h> #include <sleep.h> Void main() { if (in_d(2)==0) // ผลจากการทดสอบบนหุ่นถ้าหากมีการกด { backward(100); ปุ่ม SW1 บนหุ่นจะทำให้เงื่อนไขเป็น “จริง” sleep(300); หุ่นยนต์จะเดินถอยหลังและเลี้ยวซ้ายและเดินต่อไปเรื่อยๆ s_left(50); } ถ้าไม่มีการกดปุ่ม sw1 แสดงว่าเงื่อนไขเป็น “เท็จ” ก็มา else if (in_d(3)==0) ตรวจสอบเงื่อนไขที่ 2 ว่ามีการกดปุ่ม sw2 หรือไม่ ถ้ามี { forward(100); แสดงว่าเงื่อนไขเป็น “จริง” หุ่นยนต์ก็จะเดินหน้าและเลี้ยวซ้าย sleep(300); ถ้าไม่มีการกดปุ่ม sw2 แสดงว่าเงื่อนไขเป็น “เท็จ” ก็มาทำ s_left(50); } คำสั่งใน else คือ หุ่นจะเลี้ยวขวา และโปรแกรมก็จะมาทำ else คำสั่งสุดท้ายหลังจบบล็อคคำสั่ง if คือหุ่นยนต์ก็จะหยุดเดิน { s_right(50); } นั่นเอง // motor_stop(); }