SlideShare a Scribd company logo
1 of 17
หน่วยที่ 10
การทางานแบบมีทาซ้า
ประเภทของการทาซ้า
การทางานแบบวนซ้านั้น จะต้องมีการตรวจสอบเงื่อนไขอยู่ภายในลูปของ
การทาซ้าด้วย งานบางประเภทมีจานวนครั้งในการทาซ้าที่แน่นอน งานบางประเภทมี
จานวนครั้งในการทาซ้าไม่แน่นอน ขึ้นอยู่กับเงื่อนไขที่เขียนโปรแกรม ประเภทของการ
ทาซ้าจะแบ่งได้เป็นสามประเภทดังนี้
1. การทาซ้าแบบที่ทราบจานวนครั้งในการทาซ้า
2. การทาซ้าจนระบบมีเงื่อนไขอย่างหนึ่งจึงหยุด
3. การทาซ้าแบบถ้าเงื่อนไขเป็นจริงจะทาชุดคาสั่ง
B
การทาซ้าแบบแรกนั้น มักจะใช้กับงานที่ทราบจานวนครั้งในการทาซ้าที่
แน่นอน โดยในลูปจะมีตัวแปรสาหรับควบคุมการนับลูปอยู่ภายใน ส่วนการทาซ้าแบบ
ทาซ้าจนระบบมีเงื่อนไขอย่างหนึ่งจึงหยุดเมื่อโปรแกรมเข้าสู่ลูปการทาซ้า จะมีการ
ตรวจสอบเงื่อนไขที่ด้านท้ายของลูป ถ้าหากเงื่อนไขเป็นจริงก็จะออกจากลูปการทาซ้า
ส่วนการทาซ้าแบบถ้าเงื่อนไขเป็นจริงจะทาชุดคาสั่ง จะมีการตรวจสอบเงื่อนไขก่อน
การทาซ้าถ้าเงื่อนไขเป็นจริงจะทาชุดคาสั่งภายใน แต่ถ้าเงื่อนไขเป็นเท็จจะออกจาก
ลูปการทาซ้า
การทาซ้าแบบทราบจานวนครั้งในการทาซ้า
การทาซ้าในแบบนี้จะเริ่มต้นด้วยการกาหนดค่าเริ่มต้นให้กับตัวแปรที่ทา
หน้าที่เป็นตัวควบคุมลูปจากนั้นจะตรวจสอบเงื่อนไขว่าเป็นจริงหรือเท็จ ถ้าเป็นจริงจะ
ทากิจกรรมต่าง ๆ ที่อยู่ในลูป แต่ถ้าเป็นเท็จจะออกนอกลูป โดยภายในลูปนั้นจะมีการ
เพิ่มค่าหรือลดค่าตัวควบคุมลูปด้วย ดังตัวอย่างในรูปที่ 10.2
ตรวจสอบ
เงื่อนไข
กิจกรรมต่างๆ
ภายในลูป
เพิ่มค่าหรือลดค่า
ตัวแปรควบคุม
B
จริง
เท็จ
ตัวอย่างคาอธิบายการพิมพ์ค่าตัวเลข 1 ถึง 10
ภายในลูปของการทาซ้า จะประกอบด้วยชุดคาสั่งที่ต่อกันแบบลาดับก็ได้
หรือจะมีหลาย ๆ คาสั่งก็ได้
การทาซ้าประเภทนี้การอธิบายการทางานจะใช้คาว่า “ในขณะนี้” และคา
ว่า “ทา” เป็นคาที่ใช้อธิบายการทางาน โดยมีการตรวจเงื่อนไขอยู่ระหว่างคาว่า
“ในขณะที่” กับคาว่า “ทา” ดังตัวอย่างในรูปที่ 10.2
สาหรับการเขียนซูโดโค้ดจะใช้คาว่า “FOR” , “DO” และ “ENDFOR” โดย
มีรูปแบบดังนี้
ตัวอย่าง
จงเขียนผังงานสาหรับหาผลบวกของเลขยกกาลังสอง ถ้าหาก
ตัวเลขจานวนเต็มระหว่าง 1 ถึง 10 แล้วแสดงผลบวกออกทางจอภาพ
วิธีทา งานในลักษณะนี้จะทาจานวน 10 ครั้ง ดังนั้นจะกาหนดให้
sum เป็นตัวแปรสาหรับเก็บผลรวม
| เป็นตัวแปรที่ใช้นับลูป
การทางานของโปรแกรมจะเขียนได้ดังนี้
ถ้าหากต้องการรับตัวเลขจานวนเต็มระหว่าง 0 ถึง 100 เข้าไปจานวน 10 ค่า
และให้ระบบแสดงค่าสูงสุดและค่าต่าสุดออกมาทางจอภาพ จงวิเคราะห์งานของ
ปัญหานี้พร้อมทั้งเขียนผังงานและตัวอย่างโปรแกรมในภาษาปาสคาล
วิธีทา ต้องการอะไร ค่าสูงสุด (Max) , ค่าต่าสุด (Min)
ต้องการเอาต์พุตอย่างไร แสดงค่า Max และ Min ทางจอภาพ
ข้อมูลเข้า รับข้อมูลเลขจานวนเต็ม 10 ค่าทางแป้ นพิมพ์
วิธีการประมวลผล ให้ตัวแปร | เป็นตัวนับจานวนข้อมูล 10 ค่า
กาหนดให้ Max = 0 และ Min = 100
ให้ตัวแปร x เป็นค่าข้อมูลที่รับเข้าทาง
แป้ นพิมพ์แล้วให้เปรียบเทียบว่าค่านี้ควรเป็น
Mix หรือ Min
จากลักษณะของงานจะต้องมีการใช้คาสั่งเลือกทาอยู่ในลูปด้วย เพื่อ
ตรวจสอบว่าค่า x ที่รับเข้ามาเป็นค่าสูงสุดหรือค่าต่าสุด ซึ่งสามารถทาการเลือกทา
แบบทางเดียวมาใช้ได้ ดังนั้นสามารถเขียนคาอธิบายการทาขั้นตอนการทางานได้ดังนี้
การทาซ้าจนระบบมีเงื่อนไขอย่างหนึ่งจึงหยุด
การทาซ้าในลักษณะนี้เป็นการทาซ้าที่มีจานวนครั้งในการทาไม่แน่นอน เมื่อ
โปรแกรมเข้าสู่ลูปการทาซ้าจะมีการตรวจสอบเงื่อนไขอยู่ด้านท้ายของลูป ถ้าหาก
ตรวจสอบเงื่อนไขแล้วเป็นเท็จโปรแกรมจะกลับไปทากิจกรรมในลูปอีกครั้ง แต่ถ้า
ตรวจสอบเงื่อนไขแล้วเป็นจริงโปรแกรมจะออกนอกลูป ดังนั้นโปรแกรมจะต้องทา
กิจกรรมต่าง ๆ ภายลูปหนึ่งครั้งเสมอ การทางานในลักษณะนี้จะใช้คาอธิบายว่า
“จนกระทั่ง” และตามด้วยเงื่อนไขของการตรวจสอบ ส่วนซูโดโค้ดที่ใช้ในการเขียนการ
ทาซ้าแบบนี้ จะใช้คาว่า “REPEAT…UNTIL” หรือ “DO…UNTIL” ก็ได้ การทาซ้า
ในลักษณะนี้เขียนเป็นผังงานได้ดังรูป
Instruction
I
Instruction
B
T
F
ตัวอย่าง
ถ้าหากต้องการให้ระบบคอมพิวเตอร์รับค่าตัวเลขจานวนเต็มเข้าไปทีละค่า แล้ว
นาตัวเลขมารวมกันจนกระทั่งป้ อนตัวเลขเป็น 0 ให้หยุดรับค่าและแสดงผลรวมออกมาทาง
จอภาพ
จงวิเคราะห์ปัญหานี้พร้อมทั้งเขียนผังงาน ซูโดโค้ดและโปรแกรมตัวอย่างภาษา
ปาสคาล
วิธีทา ต้องการอะไร หาค่าผลรวมของตัวเลข
ต้องการเอาต์พุตอย่างไร แสดงผลรวมทางจอภาพ
ข้อมูลเข้า รับตัวเลขทีละค่า ถ้าตัวเลขเป็น 0 ให้จบโปรแกรม
วิธีการประมวลผล ต้องประกาศตัวแปรหนึ่งตัว (sum) สาหรับเก็บ
ผลรวมโดยเริ่มต้นให้ตัวแปรนี้มีค่าเป็น 0
รับข้อมูล (x) เข้ามาทีละค่าแล้วเอาไปรวมกับ
sumถ้าหาก x เป็น 0 ให้แสดงผลรวมแล้วออก
จากโปรแกรม
การทาซ้าแบบนี้จะไม่ทราบจานวนครั้งในการทาซ้าที่แน่นอน โดยจะทาไป
เรื่อยๆ จนกว่าข้อมูลที่รับเข้าไปจะเป็น 0 ดังนั้นสามารถเขียนคาอธิบายวิธีการทางาน
ได้ดังนี้
การทาซ้าแบบถ้าเงื่อนไขเป็นจริงจะทาชุดคาสั่ง
การทาซ้าแบบนี้จะมีการตรวจสอบเงื่อนไขก่อนเข้าสู่ลูป ถ้าหากเงื่อนไขเป็น
จริงจะทาในลูปแต่ถ้าหากเงื่อนไขเป็นเท็จจะออกจาการทาลูป ดังนั้นลูปแบบนี้อาจไม่
มีการทางานภายในลูปเลยก็ได้ถ้าหากเงื่อนไขเป็นเท็จ สาหรับคาอธิบายการทางาน
จะใช้คาว่า “ในขณะที่ทา” โดยระหว่างคาว่าขณะที่กับทาจะเป็นนิพจน์ที่ตรวจสอบ
เงื่อนไข สาหรับการเขียนซูโดโค้ดสาหรับการทาซ้าแบบนี้จะใช้คาว่า
“WHILE…ENDWHILE” ผังงานของการทาซ้าแบบนี้แสดงดังได้รูปที่ 10.5
ตัวอย่างเช่น ถ้าหากต้องการให้แสดงค่าเลขจานวนเต็มที่เก็บอยู่ในตัวแปร X ตั้งแต่ 1
ถึง 10 จะเขียนคาอธิบายได้ดังนี้

More Related Content

Viewers also liked

หน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานหน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานจูน นะค่ะ
 
หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำหน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำจูน นะค่ะ
 
บทที่ 9 การทำงานแบบมีทางเลือก
บทที่ 9 การทำงานแบบมีทางเลือกบทที่ 9 การทำงานแบบมีทางเลือก
บทที่ 9 การทำงานแบบมีทางเลือกจูน นะค่ะ
 
หน่วยที่ 8 การทำงานแบบลำดับ
หน่วยที่ 8 การทำงานแบบลำดับหน่วยที่ 8 การทำงานแบบลำดับ
หน่วยที่ 8 การทำงานแบบลำดับจูน นะค่ะ
 
หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำหน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำจูน นะค่ะ
 
หน่วยที่ 2 ตรรกศาสตร์
หน่วยที่ 2 ตรรกศาสตร์หน่วยที่ 2 ตรรกศาสตร์
หน่วยที่ 2 ตรรกศาสตร์จูน นะค่ะ
 
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์จูน นะค่ะ
 
บทที่ 9 การทำงานแบบมีทางเลือก
บทที่ 9 การทำงานแบบมีทางเลือกบทที่ 9 การทำงานแบบมีทางเลือก
บทที่ 9 การทำงานแบบมีทางเลือกจูน นะค่ะ
 
หน่วยที่ 1 พื้นฐานเกี่ยวกับเซต
หน่วยที่ 1 พื้นฐานเกี่ยวกับเซตหน่วยที่ 1 พื้นฐานเกี่ยวกับเซต
หน่วยที่ 1 พื้นฐานเกี่ยวกับเซตจูน นะค่ะ
 

Viewers also liked (10)

หน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานหน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงาน
 
หน่วยที่ 7
หน่วยที่ 7หน่วยที่ 7
หน่วยที่ 7
 
หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำหน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
 
บทที่ 9 การทำงานแบบมีทางเลือก
บทที่ 9 การทำงานแบบมีทางเลือกบทที่ 9 การทำงานแบบมีทางเลือก
บทที่ 9 การทำงานแบบมีทางเลือก
 
หน่วยที่ 8 การทำงานแบบลำดับ
หน่วยที่ 8 การทำงานแบบลำดับหน่วยที่ 8 การทำงานแบบลำดับ
หน่วยที่ 8 การทำงานแบบลำดับ
 
หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำหน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
 
หน่วยที่ 2 ตรรกศาสตร์
หน่วยที่ 2 ตรรกศาสตร์หน่วยที่ 2 ตรรกศาสตร์
หน่วยที่ 2 ตรรกศาสตร์
 
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
 
บทที่ 9 การทำงานแบบมีทางเลือก
บทที่ 9 การทำงานแบบมีทางเลือกบทที่ 9 การทำงานแบบมีทางเลือก
บทที่ 9 การทำงานแบบมีทางเลือก
 
หน่วยที่ 1 พื้นฐานเกี่ยวกับเซต
หน่วยที่ 1 พื้นฐานเกี่ยวกับเซตหน่วยที่ 1 พื้นฐานเกี่ยวกับเซต
หน่วยที่ 1 พื้นฐานเกี่ยวกับเซต
 

More from จูน นะค่ะ

หน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานหน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานจูน นะค่ะ
 
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์จูน นะค่ะ
 
หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำหน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำจูน นะค่ะ
 
หน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานหน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานจูน นะค่ะ
 
หน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานหน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานจูน นะค่ะ
 
หน่วยที่ 2 ตรรกศาสตร์
หน่วยที่ 2 ตรรกศาสตร์หน่วยที่ 2 ตรรกศาสตร์
หน่วยที่ 2 ตรรกศาสตร์จูน นะค่ะ
 

More from จูน นะค่ะ (9)

หน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานหน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงาน
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
หน่วยที่ 4
หน่วยที่ 4หน่วยที่ 4
หน่วยที่ 4
 
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
หน่วยที่ 3 การคำนวณของคอมพิวเตอร์
 
หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำหน่วยที่ 10 การทำงานแบบมีทำซ้ำ
หน่วยที่ 10 การทำงานแบบมีทำซ้ำ
 
หน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานหน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงาน
 
หน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงานหน่วยที่ 6 ผังงาน
หน่วยที่ 6 ผังงาน
 
หน่วยที่ 2 ตรรกศาสตร์
หน่วยที่ 2 ตรรกศาสตร์หน่วยที่ 2 ตรรกศาสตร์
หน่วยที่ 2 ตรรกศาสตร์
 
หน่วยที่ 1
หน่วยที่ 1หน่วยที่ 1
หน่วยที่ 1
 

หน่วยที่ 10 การทำงานแบบมีทำซ้ำ