วันอาทิตย์ที่ 26 กุมภาพันธ์ พ.ศ. 2560

5.3 While loop python

5.3 While loop

คำสั่งวนซ้ำโดยใช้ While loop

โครงสร้างการทำงานของคำสั่ง ประกอบด้วย รูปแบบคำสั่งและการทำงาน โจทย์ตัวอย่างและผังงาน และชุดคำสั่งโปรแกรม มีรายละเอียดดังต่อไปนี้
1.1  รูปแบบคำสั่ง   การเขียนโปรแกรมเพื่อให้มีการทำงานซ้ำ ๆ ที่มีจำนวนรอบที่ไม่แน่นอน มักจะใช้คำสั่ง While loop โดยมีรูปแบบคำสั่ง ดังนี้
                              while <condition>:
                                      <statement1>
                                      <ststement2>
1.2 การทำงานของคำสั่ง การเขียนคำสั่งเพื่อให้วนซ้ำโดยใช้ while loop เหมาะสำหรับใช้กับการทำงานซ้ำแบบจำนวนวนรอบไม่แน่นอน ได้แก่ การคำนวณค่าผลลัพธ์ จากการสร้างสมการต่าง ๆ ที่ต้องการวนซ้ำจนกระทั่งครบตามจำนวนที่เงื่อนไขกำหนด ซึ่งมีใช้ได้ยืดหยุ่นกว่า for loop แต่สำหรับการใช้ while loop สามารถเขียนแทนการใช้ for loop ได้ ดังนี้
                       x = 1
                       while x <= 100:
                                  print x
                                             x += 1

ผลการทำงานของโปรแกรมจะแสดงผลตัวเลขตั้งแต่เลข 1 ถึง 100 ผังงานของ While Loop เขียนได้ ดังภาพที่ 5.8
ภาพที่  5.8 แสดงผังงานของ while loop

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

1.3  ผังงาน จากตัวอย่างที่ 5.3 สามารถวิเคราะห์เขียนเป็นผังงานเพื่อแสดงวิธีการแก้ปัญหาดังภาพที่ 5.9 

ภาพที่ 5.9  แสดงผังงานการใช้ while loop แก้ปัญหาโจทย์ตัวอย่างที่ 5.3

1.4 ชุดคำสั่งโปรแกรม  จากผังงานในภาพที่ 5.9 สามารถเขียนเป็นคำสั่งภาษาไพธอนได้ดังภาพที่ 5.10

ภาพที่ 5.10  แสดงคำสั่งของโปรแกรม

1.5  คำอธิบายโปรแกรม มีดังนี้

                        บรรทัดที่ 2-3 เป็นการกำหนดค่าให้กับตัวแปร sum = 0.0 และ count = 0 เก็บไว้ในหน่วยความจำ 
                        บรรทัดที่ 4 เป็นคำสั่งแสดงข้อความ Enter number : แล้วรับตัวเลขจำนวนเต็มจากแป้นพิมพ์ไปเก็บไว้ที่ตัวแปร num เพื่อที่จะนำไปตรวจสอบเงื่อนไขของคำสั่ง while
                        บรรทัดที่ 5 เป็นฟังก์ชันเพื่อเปลี่ยนข้อมูลที่ป้อนให้เป็นตัวเลข
                        บรรทัดที่ 6 เป็นคำสั่ง while loop โดยจะมีการตรวจสอบเงื่อนไขก่อน ๆ ที่จะเข้าไปทำคำสั่งใน while loop ถ้าเงื่อนไขเป็นจริงจะเข้าไปประมวลผลคำสั่งใน loop แต่ถ้าเงื่อนไขเป็นเท็จจะไม่เข้าใน loop และจะไปทำคำสั่งต่อไปที่ถัดจาก loop คือบรรทัดที่ 12 เงื่อนไขในโปรแกรมนี้ คือ num > 0 จากตัวอย่างผลลัพธ์ของโปรแกรมด้านบนถ้า num ที่รับเข้ามาครั้งแรก คือ 5 เมื่อนำมาเปรียบเทียบกับเงื่อนไขจะได้ผลลัพธ์เป็นจริง คำสั่ง while loop จะให้ผ่านเข้าไปทำคำสั่งในตัวของ loop
                        บรรทัดที่ 7 คำสั่งหาผลรวมของตัวเลขที่รับเข้าไปทั้งหมดคือ sum += num หรือ sum = sum + num จะเป็นการนำค่าที่เก็บไว้ในตัวแปร sum ทางด้านขวา ไปบวกด้วยค่าที่เก็บไว้ในตัวแปร num แล้วนำผลบวกที่ได้ไปส่งค่าให้กับตัวแปร sum ทางด้านซ้าย ในกรณีนี้คือ  sum ทางด้านขวา คือ 0 บวกด้วย num คือ 5 รวมกันจะได้เท่ากับ 5 แล้วนำค่าที่ได้ส่งไปให้กับ  sum ทางด้านซ้ายมือ เพราะฉะนั้นจาก sum ที่เก็บ 0 เอาไว้ในหน่วยความจำ ก็จะเปลี่ยนมาเป็น  5 ทันที
                        บรรทัดที่ 8 เป็นคำสั่งหาจำนวนครั้งที่รับตัวเลขจากแป้นพิมพ์ คือ count = count  + 1 จะเป็นการเพิ่มค่าตัวแปร count ทางด้านซ้ายรอบละ 1 โดยในขณะนี้ในหน่วยความจำ       ตัวแปร count ทางซ้ายเก็บค่า 1 อยู่ ถ้าบวกอีก 1 จะได้เท่ากับ 2 แล้วส่งค่าไปเก็บในตัวแปร  count ทางด้านซ้าย count ในขณะนี้จะเก็บค่า 2 ในหน่วยความจำทันที 
                        บรรทัดที่ 9-10 เป็นคำสั่งแสดงข้อความ Enter number : แล้วรับตัวเลขจำนวนเต็มจากแป้นพิมพ์ไปเก็บไว้ที่ตัวแปร num ไม่ว่าตัวแปรตัวนี้จะเก็บค่าอะไรอยู่ก็ตาม แต่เมื่อประมวลผลคำสั่งนี้และรับตัวเลขจำนวนเต็มจากแป้นพิมพ์เข้าไป num จะเก็บค่าใหม่ทันที  หลังจากนั้น จะวนย้อนกลับไปประมวลผลที่ตัวคำสั่ง while loop ในบรรทัดที่ 6 ใหม่
                        บรรทัดที่ 12 เป็นการคำนวณหาค่าเฉลี่ยของตัวเลขที่รับเข้าไป โดยการนำผลรวมมาหารด้วยจำนวนครั้งที่รับเข้าไป แล้วไปเก็บไว้ที่ตัวแปร  avg
                        บรรทัดที่ 13 เป็นคำสั่งแสดงค่าที่เก็บไว้ในตัวแปร count sum และ avg แสดงทางจอภาพ ในกรณีที่ต้องการแสดงผลในบรรทัดเดียวกันให้ใช้ฟังก์ชัน str() เพื่อเปลี่ยนตัวเลขให้เป็นข้อความ

1.6  ผลลัพธ์ ได้จากคำสั่งของโปรแกรม เมื่อมีการ run โปรแกรมและทดลองป้อนข้อมูลจำนวน 5 จำนวน ผลที่ได้ดังภาพที่ 5.11

ภาพที่ 5.11  แสดงผลการทำงานของโปรแกรม

ไม่มีความคิดเห็น:

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

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...