ݺߣ
Submit Search
บทที่ 5
•
Download as PPTX, PDF
•
0 likes
•
188 views
W
Wittaya Kaewchat
Follow
.....
Read less
Read more
1 of 9
Download now
Download to read offline
More Related Content
บทที่ 5
2.
การเขียนโปรแกรมควบคุมทิศทางแบบวนซ้า (Loop) ในภาษาซีหมายถึง การทาคาสั่งซ้าๆ
กันหลายครั้งตามเงื่อนไขที่กาหนดไว้ ในการตรวจสอบเงื่อนไข จะมี รูปแบบของการตรวจสอบเงื่อนไขอยู่ 2 แบบ คือ ตรวจสอบก่อนการวนซ้า รูปแบบนี้จะตรวจสอบเงื่อนไขว่าเป็นจริงหรือเป็นเท็จ ถ้าเป็นจริงก็จะไปทางานตามคาสั่งที่กาหนดไว้ และเมื่อทางานเสร็จก็จะกลับมาทาการ ตรวจสอบเงื่อนไขอีกครั้ง ทาเช่นนี้ไปเรื่อยๆจนกระทั่งเงื่อนไขได้ค่าเป็นเท็จ ก็จบการวน ซ้า ตรวจสอบหลังการวนซ้า รูปแบบนี้จะทาคาสั่งก่อน ทาคาสั่งเสร็จแล้วจึงค่อยมา ตรวจสอบเงื่อนไขว่าเป็นจริงหรือเป็นเท็จ ถ้าเป็นจริงก็จะกลับไปทาคาสั่งเดิมอีกครั้ง ทา เช่นนี้ไปเรื่อยๆ จนกว่าเงื่อนไขที่ได้เป็นเท็จ
3.
องค์ประกอบพื้นฐานของการวนซ้ามี ดังนี้ การกาหนดค่าเริ่มต้นของตัวแปรต่าง ๆ
ก่อนวนซ้า เงื่อนไขที่จะให้ทาวนซ้า (จะอยู่ก่อนหรืออยู่ด้านหลังคาสั่งที่อยากทาก็ได้) งานที่ต้องการทาวนซ้า การปรับค่าตัวแปรเงื่อนไขการวนซ้า (คือการเปลี่ยนค่าตัวแปรที่เกี่ยวพันกับเงื่อนไขที่จะ ให้ทาหรือจบการวนซ้า) การวนซ้าในภาษาซีมีอยู่ 3 รูปแบบ คือ คาสั่ง while ( ) { .... } คาสั่ง do { .... } while ( ); คาสั่ง for ( ) { .... } คาสั่ง while()
4.
while เป็นแบบการตรวจสอบก่อนการวนซ้า มีการตรวจสอบเงื่อนไขก่อน การวนซ้า
ถ้าเป็นจริงจึงจะเข้าไปทางานตามคาสั่งที่กาหนดไว้ แต่ถ้าเป็นเท็จก็จะจบการ วนซ้า มีรูปแบบดังต่อไปนี้ รูปแบบการทางาน while ( เงื่อนไข ) { งานที่ต้องการทาซ้า; การปรับค่าตัวแปรเงื่อนไขการทางาน ; }
5.
จากรูปแบบคาสั่ง while สามารถเขียนเป็นผังงานได้ตามภาพต่อไปนี้
6.
รูปที่ 1 ผังงานข้อความสั่ง
while หมายเหตุ เช่นเดียวกับคาสั่ง if พบว่า กิจกรรมของ while มีได้เพียงคาสั่ง เดียว นั่นหมายความว่าถ้าต้องการเขียนมากกว่า 1 กิจกรรมต้องใช้เครื่องหมาย { } ตัวอย่างที่ 1 เขียนโปรแกรมแสดงตัวเลขตั้งแต่ 1 ถึง 10 เมื่อสั่งรันโปรแกรมจะปรากฏหน้าจอดังนี้
7.
ตัวอย่างที่ 2 เขียนโปรแกรมรับคะแนนที่ป้อนเข้ามาจากคีย์บอร์ด ถ้าคะแนนมากกว่าหรือ เท่ากับ
50 ซึ่งทาให้เงื่อนไขของข้อความสั่ง if เป็นจริง จะแสดงข้อความ Pass ปรากฏ ออกทางจอภาพ โปรแกรมสามารถวนซ้าทางานไปเรื่อยๆ ได้จนกว่าผู้ใช้ป้อนคะแนนเท่ากับ 0 จึงจะจบการวนซ้า
8.
เมื่อสั่งรันโปรแกรมจะปรากฏหน้าจอดังนี้ คําสั่งหยุดการวนซํ้า (break) บางครั้งเราต้องการออกจากลูปจากช่วงตรงกลาง แทนที่จะการออกจากลูปจาก การตรวจเงื่อนไขของคาสั่ง
while การใช้คาสั่ง break; คาสั่ง break; โดยตัวของมันเองเป็นการออกจากลูปอย่างไม่มีเงื่อนไข ถ้าเราใช้ตรง ๆ ก็จะหยุดลูปทุกครั้งไป ลูปจะไม่มีการวนซ้าเพราะโดนคาสั่ง break ; สั่งหยุดทางานทุกครั้ง เช่น
9.
ตัวอย่างที่ 3 ผลลัพธ์ หมายเหตุ จะเห็นได้ว่าคาสั่ง
break; อยู่ในลูปโดยไม่อยู่ใต้เงื่อนไขของ while ดังนั้นโปรแกรมนี้หลังจากรับค่าจากผู้ใช้มาเก็บไว้ ก็จะออกจากลูปทันทีไม่มีการ วนทาซ้า
Download