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

4.5 Nested statement

4.5 Nested statement 

โครงสร้างการทำงานของคำสั่ง Nested statement

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


1.1   รูปแบบคำสั่ง โครงสร้างการทำงานแบบ Nested statement มีรูปแบบคำสั่ง ดังนี้
                        if  <condition1> :

                               if <condition2>:
                  <statement1>
                              else:
                                          <statement2>
                  else:
                              if <conditon3> :
                                          <statement3>
                              else:
                                                        <statement4>

1.2  การทำงานของคำสั่ง เป็นคำสั่งเปรียบเทียบเงื่อนไขนิพจน์ทางตรรกะ โดยที่เงื่อนไขซ้อนเงื่อนไขเช่นในกรณีเปรียบเทียบเงื่อนไขแรก (condition1) แล้วปรากฏว่าเป็นจริง โปรแกรมจะเลือกทำคำสั่งหลังอักขระ : แต่หลังอักขระ : มีเงื่อนไขที่สอง (condition2) ที่ต้องตรวจสอบ เช่นเดียวกันถ้าเงื่อนไขตัวแรกเปรียบเทียบกันแล้วปรากฏว่าได้ผลลัพธ์ออกมาเป็นเท็จ โปรแกรมจะเลือกทำคำสั่งหลัง else : แต่ต้องไปพบกับเงื่อนไขที่สาม (condition3) ที่ซ้อนอยู่อีกเช่นกัน หลักการประมวลผลคำสั่งประเภทนี้มีหลักการง่าย ๆ ที่ผู้เขียนโปรแกรมควรทำความเข้าใจให้ชัดแจ้ง คือ ในกรณีที่ตรวจสอบเงื่อนไขแล้วเป็นจริง โปรแกรมจะดำเนินการทำงานในส่วนที่เป็น statement หลังเครื่องหมาย : เสมอ จะมีจำนวนคำสั่งหลาย statement ก็ได้ ซึ่ง statement ที่มีมากกว่าหนึ่งจะจัดย่อหน้าให้ตรงกันเสมอ ในทางตรงกันข้ามถ้าหากเมื่อตรวจเงื่อนไขแล้วเป็นเท็จ โปรแกรมจะประมวลผลหลัง else : เสมอ และจะประมวลผลทุก statement ที่อยู่ในย่อหน้าเดียวกัน เพราะฉะนั้นเมื่อมีเงื่อนไขภายในย่อยไปอีก จึงใช้หลักการนี้พิจารณาได้ต่อไปเรื่อย ๆ


ภาพที่ 4.16 แสดงผังงานของคำสั่ง Nested statement

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

1.4  ผังงาน จากตัวอย่างที่ 4.5 สามารถเขียนเป็นผังงานได้ดังภาพที่ 4.17


ภาพที่ 4.17  แสดงผังงานการแก้ปัญหาโจทย์


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



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

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

                        บรรทัดที่   2-4  เป็นคำสั่งแสดงข้อความ และรับตัวเลขจำนวนเต็มจากแป้นพิมพ์มาเก็บไว้ที่ตัวแปร A  B และ C
                        บรรทัดที่   5 เป็นคำสั่งเปรียบเทียบตัวแปร A >= B หรือไม่ ถ้าใช่ให้ประมวลผลที่บรรทัดที่ 6 ต่อไป ถ้าไม่ใช่ให้ข้ามไปประมวลผลบรรทัดที่ 10
                        บรรทัดที่   6  เป็นคำสั่งเปรียบเทียบตัวแปร A >= C หรือไม่ ถ้าใช่ให้ประมวลผลบรรทัดที่ 7 ต่อไป ถ้าไม่ใช่ให้ประมวลผลบรรทัดที่ 8
                        บรรทัดที่  7 เป็นคำสั่งที่ให้แสดงผลข้อความ “Max 1 = A” และค่าตัวเลขที่เก็บในตัวแปร A
                        บรรทัดที่ 8 เป็นคำสั่งที่จะประมวลผลเมื่อเงื่อนไขจาก บรรทัดที่ 6 เป็นเท็จ
                        บรรทัดที่ 9 เป็นคำสั่งที่ให้แสดงผลข้อความ “Max 3 = C” และค่าตัวเลขที่เก็บในตัวแปร C       
                        บรรทัดที่  10  เป็นคำสั่งที่จะประมวลผลเมื่อเงื่อนไขจาก บรรทัดที่ 5 เป็นเท็จ
                        บรรทัดที่  11 เป็นคำสั่งเปรียบเทียบตัวแปร B >= C หรือไม่ ถ้าเป็นจริงให้ประมวลผลบรรทัดที่ 12 ต่อไป ถ้าเป็นเท็จให้ประมวลผลบรรทัดที่ 13
                        บรรทัดที่ 12 เป็นคำสั่งที่ให้แสดงผลข้อความ “Max 2 = B” และค่าตัวเลขที่เก็บในตัวแปร B
                        บรรทัดที่ 13  เป็นคำสั่งที่จะให้ประมวลผลเมื่อเงื่อนไขจาก บรรทัดที่ 11 เป็นเท็จ
                        บรรทัดที่ 14 เป็นคำสั่งที่ให้แสดงผลข้อความ “Max 3 = C” และค่าตัวเลขที่เก็บในตัวแปร C

1.7  ผลลัพธ์ของโปรแกรม  ผลลัพธ์ที่ได้จากการสั่งประมวลผลโปรแกรมจากภาพที่ 4.18 ได้ผลลัพธ์ดังภาพที่ 4.19



ภาพที่ 4.19  แสดงผลลัพธ์ของโปรแกรม


บทสรุป

                การเขียนคำสั่งเพื่อควบคุมการทำงานด้วยการใช้เงื่อนไขนั้น ทุก ๆ โปรแกรมจำเป็นต้องใช้ ซึ่งถือได้ว่าเป็นหัวใจสำคัญของการเขียนโปรแกรมในทุก ๆ ภาษา ดังนั้นถ้าหากมีประสบการณ์จากภาษาอื่น ๆ มาบ้างแล้วจะทำให้เข้าใจได้ง่ายยิ่งขึ้น หลักการเขียนโปรแกรมแบบนี้จะมีลักษณะคล้ายคลึงกับภาษาอื่น ๆ ได้แก่ การใช้โครงสร้าง if  สำหรับตรวจสอบตามเงื่อนไข ซึ่งมีผลลัพธ์เป็นจริงกับเท็จ กรณีนี้จะเขียนคำสั่งให้กระทำในกรณีที่เป็นจริงเท่านั้น     การใช้โครงสร้าง  if…else…สำหรับให้ทำงานทั้งกรณีที่เงื่อนไขเป็นจริงและเป็นเท็จ ดังนั้นการเขียนคำสั่งจะต้องเกิดขึ้นทั้งกรณีเป็นจริงและเป็นเท็จ และโครงสร้าง elif  ใช้สำหรับสร้างมีเงื่อนไขย่อย ๆ ต่อไปอีกเรื่อย ๆ ถ้าในกรณีที่เป็นเท็จ จนหมดเงื่อนไข และโครงสร้างสุดท้ายได้แก่ nested statement เป็นการสร้างเงื่อนไขย่อย ๆ ทั้งด้านที่เป็นจริงและสร้างเงื่อนไขด้านที่เป็นเท็จ ภาษาไพธอนจะแตกต่างกับภาษาอื่น ๆ ในด้านการวางตำแหน่งและรายละเอียดเล็ก ๆ น้อย ๆ ในบทนี้จึงได้นำเอาผังงานซึ่งเป็นมาตรฐานในการเขียนคำสั่งมาประกอบการอธิบาย เพื่อให้ผู้ที่เริ่มเรียนภาษาไพธอนเป็นภาษาแรกได้มีความเข้าใจ และได้มีคำอธิบายแต่ละคำสั่งเป็นรายบรรทัด เพื่อเพิ่มความเข้าใจให้แก่ผู้อ่านมากยิ่งขึ้น

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

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

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