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

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

รูปแบบการใช้งาน

while loop syntax [Image of Python while loop flowchart]

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

ทดลองเขียนโปรแกรม

1. เปิดโปรแกรม JetBrains PyCharm Edu ขึ้นมา

2. พิมพ์ชุดคำสั่งสำหรับคำนวณหาผลรวมและค่ามากที่สุด:

1x = int(input('ป้อนจำนวนเต็มบวก หรือป้อนเลข 0 ถ้าไม่ต้องป้อนข้อมูลตัวต่อไป'))
2sum = 0
3max = 0
4n = 0
5while x > 0:
6n = n + 1
7sum = sum + x
8if (x > max):
9max = x
10x = int(input('ป้อนจำนวนเต็มบวก หรือป้อนเลข 0 ถ้าไม่ต้องป้อนข้อมูลตัวต่อไป'))
11if n > 0:
12print('ผลรวม', sum, 'และค่ามากที่สุด', max)

3. ผลลัพธ์การทำงาน

Program output result

อธิบายโปรแกรม

บรรทัดที่ 1: รับข้อมูลจำนวนเต็มบวกตัวแรกเก็บไว้ใน x
บรรทัดที่ 2-4: ประกาศตัวแปรสำหรับเก็บค่าสะสม (sum, max, n)
บรรทัดที่ 5-9: ส่วนของการวนซ้ำ (จะทำงานเมื่อ x > 0 เท่านั้น)
บรรทัดที่ 10: รับข้อมูล x ตัวถัดไปภายในลูป
บรรทัดที่ 11-12: ตรวจสอบว่ามีข้อมูลถูกป้อนเข้ามาไหม ถ้ามีให้แสดงผลรวมและค่ามากที่สุด
อ้างอิง: สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี (วิทยาการคำนวณ)”, 2562 หน้า 32

🐍 ภารกิจวิเคราะห์ลูป (While Loop Challenge)

sum = 0
x = 5
while x > 0:
    sum = sum + x
    x = x - 2
จากโค้ดด้านบน ในรอบที่ 1 โปรแกรมจะทำคำสั่ง sum = sum + x จะได้ค่า sum เป็นเท่าใด?
เมื่อจบรอบที่ 1 ค่าของ x จะเหลือเท่าใด (จากคำสั่ง x = x - 2)?
ลูปนี้จะทำงานวนซ้ำทั้งหมดกี่รอบ จนกว่าเงื่อนไข x > 0 จะเป็นเท็จ?

0/3

แสดงความคิดเห็น

0 ความคิดเห็น

แสดงความคิดเห็น (0)