รายวิชา ไมโครโปรเซสเซอร์ในงานอุตสาหกรรม

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การสัมฤทธิ์ทางการเรียนวิชาห้องสมุดกับการรู้สารสนเทศของ นักศึกษาระดับชั้น ปวส.1 ด้วยการจัดการเรียนรู้โดยใช้สื่อประสม นางสาวพัชรี นาคทอง วิทยาลัยเทคโนโลยีหมู่บ้านครู
Advertisements

PHPPHP การเขียนโปรแกรมคอมพิวเตอร์ 1 สาขาวิชาระบบสารสนเทศ คณะเทคโนโลยีการจัดการ.
บทที่ 6 บทที่ 6 คำสั่งแก้ไขปัญหาแบบ เลือก (CONDITION)
บทที่ 5 การควบคุมทิศทางการทำงานของโปรแกรม
เทคนิคการเขียนข่าว การเขียนข่าวเพื่อการประชาสัมพันธ์เบื้องต้น มีโครงสร้างการเขียนข่าว ประกอบด้วย 1.พาดหัวข่าว (Headline) 2.ความนำ (Lead) 3.ส่วนเชื่อม (Neck/Bridge)
คณิตศาสตร์พื้นฐาน ค ชั้นมัธยมศึกษาปีที่ 3 โดย ครูชำนาญ ยันต์ทอง
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
บทที่ 4 คำสั่งควบคุม โปรแกรม. คำสั่งควบคุมโปรแกรมออกได้เป็น 2 ประเภท คือ คำสั่งแบบกำหนดเงื่อนไข (Conditional Statement) คำสั่งแบบทำงานซ้ำ (Repetitive.
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
การเขียนโปรแกรมภาษาปาสคาล โดยใช้โครงสร้างหลักทั้ง 3 โครงสร้าง
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
หน่วยที่ 5 การเวียนเกิด
การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
การเขียนผังงานเบื้องต้น (Flow chart)
หลักการโปรแกรม 1 Lecture 8: การทำซ้ำ (while, do-while)
ITERATION (LOOP) สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
โปรแกรมคำนวณคะแนน สหกรณ์ ตามเกณฑ์ดีเด่นแห่งชาติ กรมส่งเสริม สหกรณ์ กองพัฒนาสหกรณ์ด้านการเงิน และร้านค้า วิธีการใ ช้
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
1. รู้ถึงความต้องการของตัวเอง ก่อนก่อนเริ่มต้นออกแบบ เมื่อคุณเริ่มคิดจะออกแบบโบรชัวร์ออกมาอย่างไร ให้เริ่มต้น สอบถามลูกค้าของคุณก่อนว่าทำไม เค้าต้องการโบร์ชัวร์
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
ตอนที่ 2 โครงสร้างภาษา C Arduino เบื้องต้น
คำสั่งควบคุมการทำงาน
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
ผังงาน..(Flow Chart) หมายถึง...
เกม คณิตคิดเร็ว.
บทที่ 5 การใช้คำสั่ง Select Case , For Next และ Do While
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
หน่วยที่ 5 โปรแกรมแบบวนรอบทำซ้ำ
Chapter 4 ข้อความสั่ง เลือกทำ.
IP-Addressing and Subneting
โดย อ.อภิพงศ์ ปิงยศ รายวิชา สธ312 ระบบการจัดการฐานข้อมูลทางธุรกิจ
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
IP-Addressing and Subneting
บทที่ 3 การพัฒนาโปรแกรมโดยเขียนคำสั่ง VBA
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
สมการเชิงเส้น (Linear equation)
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Serial Communication.
โครงสร้างภาษา C Arduino
หน่วยการเรียนที่ 4 เรื่อง การควบคุมทิศทางการทำงาน
กลุ่มคำและประโยค ภาษาไทย ม. ๓
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
Control Statement เงื่อนไขคำสั่งในโปรแกรม ภาษา C
คำสั่ง Create , Insert, Delete, Update
สำนักพัฒนาระบบและรับรองมาตรฐานสินค้าปศุสัตว์ กรมปศุสัตว์
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
Data storage II Introduction to Computer Science ( )
บริษัท พัฒนาวิชาการ (2535) จำกัด
บทที่ 9 การทำซ้ำ (Loop).
บทที่ 3 Programming By Wathinee duangonnam
บทที่7 ทฤษฎีกราฟเบื้องต้น
คำสั่งวนรอบ (Loop).
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
Data storage II Introduction to Computer Science ( )
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
บทที่ 7 การประมวลผลอาร์เรย์
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
2 โครงสร้างข้อมูลแบบสแตก (STACK).
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
Chapter 3 : Array.
ฟังก์ชันของโปรแกรม Computer Game Programming
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
โครงการถ่ายทอดเทคโนโลยีถนนรีไซเคิลเพื่อลดขยะพลาสติกใน 4 ภูมิภาค
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
Decision: Single and Double Selection (if and if-else statement)
กระดาษทำการ (หลักการและภาคปฏิบัติ)
ใบสำเนางานนำเสนอ:

รายวิชา 9560206 ไมโครโปรเซสเซอร์ในงานอุตสาหกรรม รายวิชา 9560206   ไมโครโปรเซสเซอร์ในงานอุตสาหกรรม  อ.โสภณ มหาเจริญ บทที่ 3 หลักการเขียนและการใช้คำสั่งในภาษาซี

วัตถุประสงค์ 3.1 เพื่อให้ผู้เรียนเข้าใจรูปแบบของภาษาซี ในArduino 3.2 เพื่อให้ผู้เรียนเข้าใจการเขียนคำสั่งต่างๆ ในภาษาซีได้ 3.3 เพื่อให้ผู้เรียนเรียนรู้วิธีการใช้คำสั่งประเภทเงื่อนไขเพื่อการพัฒนาโปรแกรม

เนื้อหาประจำบท โครงสร้างภาษา ซี คำสั่งในโครงสร้างภาษา ซี รูปแบบและการใช้งานคำสั่ง if รูปแบบและการใช้งาน if else รูปแบบและการใช้งาน for รูปแบบและการใช้งาน while รูปแบบและการใช้งาน do while รูปแบบและการใช้งาน switch รูปแบบและการใช้งาน break

คำสั่งในภาษา C

คำสั่ง if คำสั่ง if เป็นคำสั่งสำหรับใช้ตรวจสอบเงื่อนไข เพื่อสั่งให้โปรแกรมเลือกทำงาน ตามผลลัพธ์ที่ได้จากการตรวจสอบเงื่อนไขของคำสั่ง โดยมีรูปแบบคำสั่งดังนี้ if (เงื่อนไข) { คำสั่งที่ต้องกระทำเมื่อเงื่อนไขเป็นจริง }

ตัวอย่างการใช้คำสั่ง if void setup() { Serial.begin(19200); //เปิดใช้งานพอร์ตอนุกรมด้วย baud 19200 Serial.println(“Press Any Key”); //พิมพ์ข้อความ “Press Any Key” } Void loop() if (Serial.available() > 0) //ถ้าจำนวนข้อมูลใน Buffer มากกว่า ศูนย์ int var = Serial.read(); //อ่านข้อมูลจาก Buffer มาไว้ในตัวแปรชื่อ var Serial.println(var.BYTE); //สั่งพิมพ์ค่าข้อมูลในตัวแปร var

ตัวอย่างการใช้คำสั่ง if การทำงานของโปรแกรมตัวอย่าง จะเห็นได้ว่า ในโปรแกรมใช้คำสั่ง if เพื่อตรวจสอบเงื่อนไขว่าจำนวนของข้อมูลใน buffer มีค่ามากกว่า ศูนย์หรือไม่ ซึ่งถ้าพบว่ามีจำนวนข้อมูลใน buffer มากกว่า ศูนย์ซึ่งหมายถึงมีการรับข้อมูลจากพอร์ตสื่อสารอนุกรมมาเก็บรอไว้ใน Buffer แล้ว โปรแกรมก็จะทำการสั่งอ่านข้อมูลออกมาจาก buffer แล้วสั่งพิมพ์ค่าข้อมูลที่รับได้นั้นกลับมาให้เห็นทางพอร์ตสื่อสารอนุกรมด้วย แต่ถ้าผลการตรวจสอบเงื่อนไขไม่เป็นจริง คือ จำนวนข้อมูลใน Buffer ยังเป็น ศูนย์ อยู่ โปรแกรมก็จะวนรอบตรวจสอบเงื่อนไขใหม่โดยไม่ทำอะไร

คำสั่ง if…else แบบ 2 ทางเลือก คำสั่ง if… else เป็นคำสั่งตรวจสอบเงื่อนไขเช่นเดียวกัน if แต่ใช้สำหรับการตรวจสอบเงื่อนไขที่มีเพิ่มขึ้นอีก 1 ทางเลือก โดยมีรูปแบบคำสั่งดังนี้ if (เงื่อนไข) { คำสั่งที่ต้องกระทำเมื่อเงื่อนไขเป็นจริง } else คำสั่งที่ต้องการให้ทำเมื่อเงื่อนไขเป็นเท็จ

คำสั่ง if…else แบบ 2 ทางเลือก

คำสั่ง if …else ตัวอย่างการใช้คำสั่ง if….else void setup() { Serial.begin(19200); //เปิดใช้งานพอร์ตอนุกรมด้วย baud 19200 Serial.println(“Press Any Key”); //พิมพ์ข้อความ “Press Any Key” } Void loop() if (Serial.available() > 0) //ถ้าจำนวนข้อมูลใน Buffer มากกว่า ศูนย์ int var = Serial.read(); //อ่านข้อมูลจาก Buffer มาไว้ในตัวแปรชื่อ var Serial.println(var.BYTE); //สั่งพิมพ์ค่าข้อมูลในตัวแปร var else

คำสั่ง if…else แบบหลายเงื่อนไข { คำสั่งที่ต้องกระทำเมื่อเงื่อนไขที่ 1 เป็นจริง } else if (เงื่อนไขที่ 2) คำสั่งที่ต้องการให้ทำเมื่อเงื่อนไขที่ 2 เป็นจริง . else if (เงื่อนไขที่ n ) คำสั่งที่ต้องกระทำเมื่อเงื่อนไขที่ n เป็นจริง else คำสั่งที่ต้องการให้ทำเมื่อเงื่อนไขเป็นเท็จ คำสั่ง if… else แบบหลายเงื่อนไข เป็นการสั่งตรวจสอบเงื่อนไขเช่นเดียวกัน if…else แต่ใช้สำหรับการตรวจสอบเงื่อนไขที่มีเงื่อนไขมากกว่า 1 เงื่อนไข โดยมีรูปแบบคำสั่งดังนี้

คำสั่ง if…else แบบหลายเงื่อนไข ซึ่งจากรูปแบบการใช้คำสั่ง if…else แบบนี้ มีความหมายเหมือนกับประโยคที่ว่า ถ้าเงื่อนไขที่ 1 เป็นจริง ให้ทำงานที่ 1 ไม่เช่นนั้นให้ตรวจสอบเงื่อนไขที่ 2 และถ้าเงื่อนไขที่ 2 เป็นจริง ให้ทำงานที่ 2 ไม่เช่นนั้นให้ตรวจสอบเงื่อนไขที่ 3 และถ้าเงื่อนไขที่ 3 เป็นจริง ให้ทำงานที่ 3 ไม่เช่นนั้นให้ตรวจสอบเงื่อนไขที่ n และถ้าเงื่อนไขที่ n เป็นจริงให้ทำงานที่ n ซึ่งจะเห็นได้ว่า เราสามารถที่จะทำการเพิ่มเติมเงื่อนไขให้กับโปรแกรมเพื่อใช้เป็นทางเลือกในการเลือกทำงานตามคำสั่งต่างๆ ตามความเหมาะสมได้หลายๆ ทางเลือก ตามความต้องการ ทำให้การเขียนโปรแกรมสามารถทำได้ง่ายและสะดวกมากยิ่งขึ้น

ตัวอย่าง คำสั่ง if…else แบบหลายเงื่อนไข void menu () //โปรแกรมย่อยพิมพ์เมนู { Serial.println(); //ขึ้นบรรทัดใหม่ Serial.println(“Number1 = 10”); //พิมพ์ข้อความ “Numner1 = 10” Serial.println(“Number2 = 5”); //พิมพ์ข้อความ “Numner2= 5” Serial.println(“1 = Number1 + Number2”); //พิมพ์ข้อความ “1 =Numner1 + Number2” Serial.println(“2 = Number1 - Number2”); //พิมพ์ข้อความ “2 =Numner1 - Number2” Serial.println(“3 = Number1 x Number2”); //พิมพ์ข้อความ “3=Numner1 xNumber2” Serial.println(“4= Number1 / Number2”); //พิมพ์ข้อความ “4=Numner1 /Number2” Serial.print(“Select..”); // พิมพ์ข้อความ “Select..” } void setup() Serial.begin(19200); //เปิดใช้งานพอร์ตอนุกรมด้วย baud 19200 menu(); //พิมพ์เมนู

ตัวอย่าง คำสั่ง if…else แบบหลายเงื่อนไข Void loop() { while(Serial.available() > 0 // รอจนกว่าจำนวนข้อมูลใน Buffer มากกว่า ศูนย์ int var = Serial.read(); //อ่านข้อมูลจาก Buffer มาไว้ในตัวแปรชื่อ var Serial.println(var.BYTE); //สั่งพิมพ์ค่าข้อมูลในตัวแปร var } if (var = = ‘1’) // ถ้าค่าใน val เท่ากับรหัส ASCII ของ ‘1’ Serial.print(“10 + 5 = “); //พิมพ์ข้อความ “10 + 5 =” Serial.print(10+5); //พิมพ์ค่า 10+5 else if(var == ‘2’) Serial.print(“10 - 5 = “); //พิมพ์ข้อความ “10 - 5 =” Serial.print(10 - 5); //พิมพ์ค่า 10-5 else if(var == ‘3’)

ตัวอย่าง คำสั่ง if…else แบบหลายเงื่อนไข { Serial.print(“10 x 5 = “); //พิมพ์ข้อความ “10 x 5 =” Serial.print(10*5); //พิมพ์ค่า 10x5 } else if(var == ‘4’) Serial.print(“10 / 5 = “); //พิมพ์ข้อความ “10 / 5 =” Serial.print(10 / 5); //พิมพ์ค่า 10 / 5 else Serial.println(“Select Number Error”); // พิมพ์ข้อความ “Select Number Error” menu(); // พิมพ์เมนู

ผลลัพธ์การทำงานคำสั่ง if…else แบบหลายเงื่อนไข Number 1 = 10 Number 2 = 5 1 = Number1 + Number2 2 = Number1 - Number2 3 = Number1 x Number2 4 = Number1 / Number2 Select..1 10 + 5 = 15 Select..5 Select Number Error Number 1 = 10 Number 2 = 5 1 = Number1 + Number2 2 = Number1 - Number2 3 = Number1 x Number2 4 = Number1 / Number2 Select..

คำสั่ง for คำสั่ง for เป็นคำสั่งสำหรับสั่งให้โปรแกรมวนรอบทำงาน โดยมีการกำหนดค่าเริ่มต้น และเงื่อนไขการสิ้นสุดที่แน่นอน โดยมีรูปแบบดังนี้ for (ค่าเริ่มต้น; เงื่อนไขการวนรอบ; การเพิ่มค่าหรือลดค่าตัวแปรในแต่ละรอบ) { คำสั่งที่ต้องการให้ทำ ถ้าเงื่อนไขการวนรอบยังไม่เสร็จ }

ตัวอย่างการใช้งานคำสั่ง for void setup () { Serial.begin(19200); //เปิดใช้งานพอร์ตอนุกรมด้วย Baud 19200 } void loop() Serial.println(“Test for”); //พิมพ์ข้อความ “Test for” for (int x =0; x < 10; x ++) //ให้วนรอบโดยกำหนดให้ x = 0 ถึง 9 Serial.print(“X= “); //พิมพ์ข้อความ “X =“ Serial.print(x); //พิมพ์ค่าของ x delay(50); // หน่วงเวลา 50ms

ตัวอย่างการใช้งานคำสั่ง for Test for X = 0 X = 1 X = 2 X = 3 X = 4 X = 5 X = 6 X = 7 X = 8 X = 9 . ผลลัพธ์การทำงาน

คำสั่ง switch / case คำสั่ง switch/case ใช้สำหรับสั่งตรวจสอบเงื่อนไข เพื่อเลือกให้โปรแกรมทำงานตามเงื่อนไขที่ต้องการเพียงเงื่อนไขเดียว ซึ่งผลของการทำงานของคำสั่ง จะเหมือนกันกับ if…else แบบหลายเงื่อนไขเพียงแต่มีรูปแบบการใช้งานที่เป็นระเบียบและใช้งานง่ายกว่า ซึ่งการทำงานของคำสั่งนี้จะเป็นการนำค่าในตัวแปรที่กำหนดให้ไปทำการเปรียบเทียบกับค่าคงที่ที่กำหนดไว้ ถ้าตรงกันก็จะให้เงื่อนไขเป็นจริงและโปรแกรมจะทำงานตามคำสั่งที่อยู่หลังเงื่อนไขการเปรียบเทียบค่านั้นๆ เมื่อตรวจสอบเสร็จก็จะไปตรวจสอบเงื่อนไขต่อไป จนถึงลำดับสุดท้าย ถ้าผลการเปรียบเทียบไม่ตรงกับเงื่อนไขใดเลย ก็จะไปทำงานตามคำสั่งที่อยู่ในส่วน default

คำสั่ง switch / case รูปแบบการใช้คำสั่ง { case ค่าคงที่ 1 : คำสั่งที่ต้องการให้ทำงานเมื่อการตรวจสอบค่าคงที่ 1 เป็นจริง case ค่าคงที่ 2 : คำสั่งที่ต้องการให้ทำงานเมื่อการตรวจสอบค่าคงที่ 2 เป็นจริง case ค่าคงที่ n : คำสั่งที่ต้องการให้ทำงานเมื่อการตรวจสอบค่าคงที่ n เป็นจริง default : คำสั่งที่ต้องการให้ทำงานเมื่อไม่ตรงกับเงื่อนไขใดๆ }

ตัวอย่างการใช้งานคำสั่ง switch/case void menu () //โปรแกรมย่อยพิมพ์เมนู { Serial.println(); //ขึ้นบรรทัดใหม่ Serial.println(“Number1 = 10”); //พิมพ์ข้อความ “Numner1 = 10” Serial.println(“Number2 = 5”); //พิมพ์ข้อความ “Numner2= 5” Serial.println(“1 = Number1 + Number2”); //พิมพ์ข้อความ “1 =Numner1 + Number2” Serial.println(“2 = Number1 - Number2”); //พิมพ์ข้อความ “2 =Numner1 - Number2” Serial.println(“3 = Number1 x Number2”); //พิมพ์ข้อความ “3=Numner1 xNumber2” Serial.println(“4= Number1 / Number2”); //พิมพ์ข้อความ “4=Numner1 /Number2” Serial.print(“Select..”); // พิมพ์ข้อความ “Select..” } void setup() Serial.begin(19200); //เปิดใช้งานพอร์ตอนุกรมด้วย baud 19200 menu(); //พิมพ์เมนู

ตัวอย่างการใช้งานคำสั่ง switch/case void loop () { while(Serial.available() >0) // รอจนกว่าจำนวนข้อมูลใน Buffer มากกว่า ศูนย์ int var = Serial.read(); // อ่านข้อมูลออกมาจาก Buffer Serial.println(var,BYTE); Switch(var) case ‘1’ : Serial.print(“10 + 5 = “); //พิมพ์ข้อความ “10 + 5 =“ Serial.println(10 + 5); //พิมพ์ค่า 10 + 5 break; //หยุดการตรวจสอบเงื่อนไข(จบคำสั่ง switch) case ‘2’ : Serial.print(“10 - 5 = “); //พิมพ์ข้อความ “10 - 5 =“ Serial.println(10 - 5); //พิมพ์ค่า 10 - 5

ตัวอย่างการใช้งานคำสั่ง switch/case case ‘3’ : Serial.print(“10 x 5 = “); //พิมพ์ข้อความ “10 x 5 =“ Serial.println(10 x 5); //พิมพ์ค่า 10 x 5 break; //หยุดการตรวจสอบเงื่อนไข(จบคำสั่ง switch) case ‘4’ : Serial.print(“10 / 5 = “); //พิมพ์ข้อความ “10 / 5 =“ Serial.println(10 / 5); //พิมพ์ค่า 10 / 5 default : Serial.println(“Select Number Error”); } menu(); // พิมพ์เมนู

ผลลัพธ์การทำงานคำสั่ง switch/case Number 1 = 10 Number 2 = 5 1 = Number1 + Number2 2 = Number1 - Number2 3 = Number1 x Number2 4 = Number1 / Number2 Select..1 10 + 5 = 15 Select..5 Select Number Error Number 1 = 10 Number 2 = 5 1 = Number1 + Number2 2 = Number1 - Number2 3 = Number1 x Number2 4 = Number1 / Number2 Select….

คำสั่ง while คำสั่ง while เป็นคำสั่งให้โปรแกรมวนรอบทำงานซ้ำๆ กัน (loop) เช่นเดียวกันกับคำสั่ง for แต่มีความแตกต่างกันที่ คำสั่ง for จะมีจำนวนรอบการทำงานที่แน่นอน แต่คำสั่ง while จะทำงานในวนรอบไม่รู้จบจนกว่าเงื่อนไขจะเป็นเท็จจึงจะสิ้นสุดการทำงานในวนรอบ

คำสั่ง while รูปแบบการใช้คำสั่ง { คำสั่งที่ต้องการให้ทำงานเมื่อเงื่อนไขยังเป็นจริงอยู่ } การทำงานของคำสั่งจะเริ่มต้นด้วยการตรวจสอบเงื่อนไขในวงเล็บก่อน ถ้าพบว่าเงื่อนไขยังเป็นจริงอยู่ ก็จะข้ามไปทำงานตามคำสั่งที่อยู่หลังเงื่อนไข เสร็จแล้วก็จะกลับมาตรวจสอบเงื่อนไขใหม่ โดยการทำงานจะวนเวียนซ้ำๆ อยู่เช่นนี้ไปตลอด จนกว่าเงื่อนไขจะเป็นเท็จจึงจะออกจากคำสั่ง

ตัวอย่างการใช้คำสั่ง while void setup() { Serial.begin(19200); //เปิดใช้งานพอร์ตอนุกรมด้วย baud 19200 } Void loop() Serial.println(“Test while”); //พิมพ์ข้อความ “Test while” int x = 0 ; //สร้างตัวแปรชื่อ x เป็นแบบ int while(x <=5) // วงรอบจนกว่า x มีค่ามากกว่า 5 Serial.print(“ x = “); // พิมพ์ข้อความ “x=“ Serial.println(x); // พิมพ์ค่าของ X x++; //เพิ่มค่า x = 1

ตัวอย่างการใช้คำสั่ง while ผลลัพธ์การทำงาน Test while X = 0 X = 1 X = 2 X = 3 X = 4 X = 5 .

คำสั่ง do…while คำสั่ง do…while ใช้สำหรับสั่งให้โปรแกรมวนรอบทำงาน เหมือนกับ for และ while แต่ลักษณะการทำงานจะแตกต่างกัน โดยคำสั่งนี้จะทำงานตามคำสั่งหลัง do ก่อน แล้วจึงตรวจสอบเงื่อนไข แต่ while จะตรวจสอบเงื่อนไขก่อนแล้วจึงทำงานตามคำสั่งที่อยู่หลังเงื่อนไข โดยถ้าผลการตรวจสอบเงื่อนไขยังเป็นจริงอยู่ก็จะกลับไปเริ่มต้นทำงานตามคำสั่งที่อยู่หลัง do อีก จนกว่าจะพบว่าเงื่อนไขเป็นเท็จจึงจะจบจากคำสั่ง

คำสั่ง do…while รูปแบบการใช้คำสั่ง do { คำสั่งที่ต้องการให้ทำงาน

ตัวอย่างการใช้คำสั่ง do…while void setup() { Serial.begin(19200); //เปิดใช้งานพอร์ตอนุกรมด้วย baud 19200 } Void loop() Serial.println(“Test while”); //พิมพ์ข้อความ “Test while” int x = 0 ; //สร้างตัวแปรชื่อ x เป็นแบบ int do Serial.print(“ x = “); // พิมพ์ข้อความ “x=“ Serial.println(x); // พิมพ์ค่าของ X x++; //เพิ่มค่า x = 1 } while(x <=5) // วงรอบจนกว่า x มีค่ามากกว่า 5

ตัวอย่างการใช้คำสั่ง do…while ผลลัพธ์การทำงาน Test do…while X = 0 X = 1 X = 2 X = 3 X = 4 X = 5 .

คำสั่ง break คำสั่ง break จะใช้ร่วมกับคำสั่งประเภทที่ทำงานแบบวนรอบ เช่น do, for, while เพื่อให้โปรแกรมหยุดการทำงานหรือจบการทำงานจากวงรอบโดยไม่สนใจเงื่อนไข นอกจากนี้แล้วยังใช้คำสั่ง break สำหรับสั่งให้โปรแกรมจบการทำงานของคำสั่ง switch เพื่อข้ามการตรวจสอบเงื่อนไขต่อไปในคำสั่งของ switch

ตัวอย่างการใช้งานคำสั่ง break void setup() { Serial.begin(19200); //เปิดใช้งานพอร์ตอนุกรมด้วย baud 19200 } Void loop() Serial.println(“Test break”); //พิมพ์ข้อความ “Test break” for(int x = 0; x< 10; x++) //ให้วนรอบโดยกำหนดให้ x = 0 ถึง 9 if (x>5) //ถ้า x มากกว่า 5 break; //จบการทำงานใน for โดยไม่สนใจเงื่อนไข Serial.print(“ x = “); // พิมพ์ข้อความ “x=“ Serial.println(x); // พิมพ์ค่าของ X delay(50); //หน่วงเวลา 50ms

ผลลัพธ์การใช้งานคำสั่ง break Test break X = 0 X = 1 X = 2 X = 3 X = 4 X = 5 . จากตัวอย่างนี้จะเห็นว่าค่าของ x จะถูกพิมพ์ออกมาแค่ 0 – 5 เท่านั้น เนื่องจากพอ x = 6 ก็จะทำให้โปรแกรมทำงานตามคำสั่ง break ซึ่งก็จะส่งผลให้โปรแกรมจบการทำงานในวงรอบของคำสั่ง for แล้วไปเริ่มต้นทำงานในวงรอบของ loop() ใหม่อีก แต่ถ้าลบคำสั่ง break ทิ้งไป ค่าของ x ก็จะถูกพิมพ์จนครบตามเงื่อนไขของคำสั่ง for คือ 0 ถึง 9

สรุปประจำบท ฟังชันคำสั่งประเภทเงื่อนไข ไม่ว่าจะเป็นคำสั่งใดๆ ก็ตามจะทำให้โปรแกรมความสามารถในการแก้ปัญหาได้อย่างมีเหตุผลที่ถูกต้อง การที่จะทำให้โปรแกรมสามารถแก้ปัญหาได้อย่างมีประสิทธิภาพ ผู้พัฒนาโปรแกรมมีความจำเป็นจะต้องศึกษาชุดคำสั่งต่างๆ และทำการฝึกการเขียนโปรแกรมจะทำให้โปรแกรมที่พัฒนาขึ้นมีความสามารถในการแก้ปัญหาได้อย่างมีประสิทธิภาพ

แบบฝึกหัด ให้นักศึกษาใช้ตัวอย่างคำสั่งเงื่อนไขในบทเรียนนี้ตอบคำถามดังนี้ ให้นักศึกษาอธิบายหลักการทำงานของเงื่อนไข if ให้นักศึกษาอธิบายหลักการทำงานของเงื่อนไข if else ให้นักศึกษาอธิบายหลักการทำงานของเงื่อนไข for ให้นักศึกษาอธิบายหลักการทำงานของเงื่อนไข while ให้นักศึกษาอธิบายหลักการทำงานของเงื่อนไข do while ให้นักศึกษาอธิบายหลักการทำงานของเงื่อนไข switch