Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

คำสั่งควบคุม

4,624 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

คำสั่งควบคุม

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

×