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

5.5 โจทย์ตัวอย่าง while loop python

5.5 โจทย์ตัวอย่าง

1.1 โจทย์ตัวอย่าง  จงเขียนโปรแกรมรับตัวเลขจำนวนเต็มจากแป้นพิมพ์ แล้วให้แสดงค่า factorial ของเลขจำนวนนั้น แสดงออกทางจอภาพ

1.2  ผังงาน จากโจทย์ตัวอย่างสามารถเขียนเป็นผังงานเพื่อแก้ปัญหาได้ดังภาพที่ 5.15

ภาพที่ 5.15  แสดงผังงานการหาค่า factorial

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


ภาพที่ 5.16  แสดงชุดคำสั่งหาค่า factorial



1.4  คำอธิบายโปรแกรม  
                บรรทัดที่ 1 เป็นการกำหนดค่าให้กับตัวแปร factorial = 1  เก็บไว้ในหน่วยความจำ
                บรรทัดที่ 2 เป็นคำสั่งแสดงข้อความ Enter number: แล้วรับข้อมูลแล้วจึงแปลงเป็นตัวเลขจำนวนเต็ม จากแป้นพิมพ์ไปเก็บไว้ที่ตัวแปร  num
                บรรทัดที่ 3 เป็นคำสั่ง while loop โดยจะมีการตรวจสอบเงื่อนไขก่อน ๆ ที่จะเข้าไปประมวลผลคำสั่งใน while loop ถ้าเงื่อนไขเป็นจริง จะเข้าไปประมวลผลคำสั่งภายใน loop  แต่ถ้าเงื่อนไขเป็นเท็จ จะไม่เข้าไปประมวลผลคำสั่งภายใน loop และจะไปกระทำคำสั่งต่อไป  ที่ต่อจาก loop ได้แก่ บรรทัดสุดท้าย เงื่อนไขในโปรแกรมนี้ คือ num > 1 หรือไม่ จากตัวอย่างของผลลัพธ์ดังภาพที่ 5.17 ถ้าผู้ใช้ป้อนเลข 5 จากแป้นพิมพ์ไปเก็บไว้ที่ตัวแปร  num เมื่อนำมาเปรียบเทียบทางตรรกะกับเงื่อนไข จะได้ผลลัพธ์เป็นจริง เพราะฉะนั้นโครงสร้างคำสั่ง while loop จะให้ผ่านเข้าไปประมวลผลคำสั่งในตัวของ loop ต่อไป
                บรรทัดที่ 4 เป็นคำสั่ง factorial *= num หรือ factorial = factorial * num  เป็นการนำค่าที่เก็บไว้ในตัวแปร factorial ทางด้านขวา ไปคูณด้วยค่าที่เก็บไว้ในตัวแปร num แล้วนำ ผลคูณที่ได้ไปส่งค่าให้กับตัวแปร factorial ทางด้านซ้าย ในกรณีนี้ คือ factorial ทางด้านขวา คือ 1 คูณด้วย num คือ 5 จะได้ผลลัพธ์เท่ากับ 5 แล้วนำค่าที่ได้ไปเก็บในตัวแปรชื่อเดียวกัน คือ  factorial ทางด้านซ้ายมือ เพราะฉะนั้นจาก factorial ที่เก็บ 1 เอาไว้ในหน่วยความจำ จะเปลี่ยนมาเก็บค่า 5
                บรรทัดที่ 5 เป็นคำสั่ง num  =  num - 1 คือ ลดค่าตัวแปร num ทางด้านซ้ายทีละ 1  โดยในขณะนี้ในหน่วยความจำตัวแปร num ทางซ้ายเก็บ 5 อยู่ ถ้าลบอีก 1 จะได้เท่ากับ 4 แล้วส่งค่าไปให้ตัวแปร num ทางด้านซ้าย num จะเก็บค่า 4 ในหน่วยความจำทันที หลังจากนั้นจะวนซ้ำกลับไปทำที่คำสั่ง while loop ใหม่ ตรงตำแหน่งบรรทัดที่ 3 อีกครั้งเพื่อตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะเข้าสู่กระบวนการวนซ้ำ แต่ถ้าเงื่อนไขเป็นเท็จ โปรแกรมจะประมวลผลคำสั่งที่บรรทัดที่ 6 ซึ่งเป็นบรรทัดที่อยู่ภายนอก while loop
                บรรทัดที่ 6 เป็นคำสั่งให้แสดงค่าที่เก็บไว้ในตัวแปร factorial โดยแสดงทางจอภาพ
1.5 ผลลัพธ์ของโปรแกรม จากชุดคำสั่งในภาพที่ 5.16 เมื่อนำมาประมวลผลจะได้ผลลัพธ์ดังภาพที่ 5.17
ภาพที่ 5.17 แสดงผลลัพธ์ค่า factorial

บทสรุป

                ในบทนี้ได้นำเอาหลักการเขียนโปรแกรมแบบการวนซ้ำ ซึ่งเป็นหัวใจสำคัญของการเขียนโปรแกรมในทุก ๆ ภาษา โดยหลักการเขียนโปรแกรมแบบนี้จะมีลักษณะเดียวกับภาษาอื่น ๆ แต่รูปแบบการวางตำแหน่งและรายละเอียดเล็ก ๆ น้อย ๆ ต่างกันบ้าง จึงได้นำเอาผังงานซึ่งเป็นมาตรฐานในการเขียนคำสั่งมาประกอบการอธิบาย เพื่อให้ผู้ที่เริ่มเรียนภาษา     ไพธอนเป็นภาษาแรกได้มีความเข้าใจ จึงได้มีคำอธิบายแต่ละคำสั่งเป็นรายบรรทัด เพื่อเพิ่มความเข้าใจให้แก่ผู้อ่านมากยิ่งขึ้น การเขียนแบบวนซ้ำมี 2 คำสั่งหลัก ๆ ได้แก่ for loop และ while loop ภาษาไพธอนไม่มีคำสั่ง Do-while หรือ repeat-until เหมือนกับภาษาอื่น ๆ แต่ยังคงความสามารถทำงานได้ทุกอย่างเช่นเดียวกับภาษาอื่น ๆ

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

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

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...