top of page

3.3 คำสั่งวนซ้ำ

       

              

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

การใช้คำสั่ง Loop มีสองแบบได้แก่

  1. แบบที่รู้จำนวนครั้งในการทำซ้ำแน่นอน เรียกว่า definite loop

  2. แบบที่ไม่รู้จำนวนครั้งในการทำซ้ำ เรียกว่า indefinite loop จำเป็นต้องตั้งเงื่อนไขในการทำงาน ถ้าเงื่อนไขในการทำงานเป็นเท็จก็จะหยุดทำงาน

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

3.3.1 การวนซ้ำด้วยคำสั่ง for

       

            

for.jpg
for1.jpg

ในpython นิยม ใช้ for loop ร่วมกับ range()  

    ตัวอย่าง

        for i in range(2):

               print("ปิงปอง")

จากตัวอย่างเป็นการแสดงผล ปิงปอง 2 ครั้ง

 

range เป็นการกำหนดจำนวนรอบ แบบ index  โดยมีค่าเริ่มต้น i =0 จนถึงก่อน 2

    ตัวอย่าง

        for i in range(10):
               print("%d"%i)

3.3.1 การวนซ้ำด้วยคำสั่ง while

       

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

คำสั่ง while.PNG
คำสั่ง while-2.PNG

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

ตัวอย่างที่ 3.5 การใช้คำสั่ง while เมื่อทราบจำนวนรอบการวนซ้ำที่แน่นอน

เขียนโปรแกรมรับจำนวนเต็มบวกชุดหนึ่งที่ไม่ทราบล่วงหน้าว่ามีกี่จำนวน แล้วหาผลรวมและค่ามากที่สุด

3.5-ตย.PNG

ตัวอย่างที่ 3.5 อธิบายได้ดังนี้

             1.  บรรทัดที่ 1 รับข้อมูลจํานวนเต็มบวกตัวแรก เก็บไว้ในตัวแปร x โดยผู้ใช้จะป้อน 0 หากไม่มีข้อมูลแล้ว                                    เนื่องจากข้อมูลที่ต้องการให้หาผลลัพธ์เป็นจํานวนเต็มบวกเท่านั้น จึงใช้เลข 0 เป็นเงื่อนไขในการตรวจ                                  สอบว่าหมดชุดข้อมูลแล้ว 

             2. บรรทัดที่ 2 ถึง 4 กําหนดค่าเริ่มต้นให้กับตัวแปรที่จะใช้เก็บค่าผลรวม (sum) ค่ามากที่สุด (max) และจํานวน

                 ข้อมูล (n) 

             3. บรรทัดที่ 5 เป็นคําสั่ง while และกําหนดเงื่อนไขตรวจสอบการวนซ้ํา คือ x ต้องเป็นจํานวนเต็มบวก 

             4. บรรทัดที่ 6 ถึง 10 เป็นชุดคําสั่งภายใต้บล็อก while โดยบรรทัดที่ 6 นับจํานวนข้อมูลเก็บไว้ในตัวแปร n บรรทัด                     ที่ 7 เก็บผลรวมข้อมูลไว้ในตัวแปร sum บรรทัดที่ 8 ถึง 9 หาค่ามากที่สุดจากข้อมูลทั้งหมด และบรรทัดที่ 10 รับ                   ข้อมูลตัวถัดไป 

             5. บรรทัดที่ 11 ถึง 12 ถ้ามีข้อมูลตั้งแต่ 1 ตัวขึ้นไป ให้พิมพ์ผลลัพธ์ที่หาได้

3.5-ชวนคิด.PNG

ใบกิจกรรมที่ 3.3 เรื่อง การเก็บรวบรวมข้อมูล

2066457.png

อ้างอิงจาก หนังสือเรียนรายวิชาพื้นฐานวิทยาศาสตร์  เทคโนโลยี (วิทยาการคำนวณ)

                  สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี กระทรวงศึกษาธิการ

bottom of page