1. การใช้ประโยคคำสั่ง If

การใช้ประโยคคำสั่ง If

       จากโปรแกรมที่ผ่านมา ในโปรแกรมย่อยแต่ละส่วนเป็นการทำงานทีละคำสั่งตามลำดับ

      ผังงาน ( Flowchart ) ใช้สำหรับแสดงลำดับขั้นตอนการทำงานของโปรแกรมหรือการทำงานของแต่ละฟังก์ชั่นโดยใช้สัญลักษณ์แทน โดยเขียนจากบนลงล่าง และใช้เส้นลูกศรแสดงทิศทาง ซึ่งอาจมีทั้งซ้ายไปขวา หรือ ขวาไปซ้าย แลอาจจะมีล่างขึ้นบนก็ได้ โดยเส้นทางทั้งหมดจะเป็นไปในแนวนอนหรือแนวตั้งเท่านั้น


สัญลักษณ์ที่ใช้เขียนผังงานและความหมายตามมาตรฐาน IOS บางส่วนที่ควรทราบมีดังภาพ 5-2

สัญลักษณ์ที่ใช้ในการเขียนผังงาน


ภาพ 5-2 สัญลักษณ์ที่ใช้ในการเขียนผังงาน

สัญลักษณ์ที่เกี่ยวกับข้อมูลเข้าออก ดังภาพ 5-3

สัญลักษณ์ที่เกี่ยวกับข้อมูลเข้า/ออก

ภาพ 5-3 สัญลักษณ์ที่เกี่ยวกับข้อมูลเข้า/ออก

        ผังงานตามภาพ 5-1 แสดงการทำงานของโปรแกรม โดยเริ่มจากทำตามคำสั่งที่ 1 ก่อน เมื่อเสร็จแล้วก็ทำตามคำสั่งที่ 2 และ 3 ตามลำดับ แล้วจบการทำงาน

        แต่ในการทำงานทั่วไปแล้วบางขั้นตอนจะมีเงื่อนไขการทำงานต่างๆซึ่งจะต้องทำการทดสอบเงื่อนไขเพื่อแยกแยะการทำงานให้เป็นไปตามความต้องการ ถ้าเงื่อนไขเป็นจริง (True) จะให้ทำอะไร ถ้าเงื่อนไขเป็นเท็จ (False) จะให้ทำอะไร และเมื่อจบการทดสอบเงื่อนไขแล้วจะทำอะไรต่อไป เขียนเป็นผังงานได้ดังภาพ 5-4

ภาพ 5-4 ผังงานแสดงการทำงานตามเงื่อนไข

การทดสอบเงื่อนไขที่ใช้ประโยคคำสั่ง If  มี 4 รูปแบบดังนี้

1.ประโยคคำสั่ง If … Then … Else … End  If

2.ประโยคคำสั่ง If … Then … End  If

3.ประโยคคำสั่ง If … Then …

4.ประโยคคำสั่ง If … Then … ElseIf … Then … Else … End  If


1.ประโยคคำสั่ง If … Then … Else … End If

ใช้สำหรับทดสอบเงื่อนไข ถ้าผลของการทดสอบเงื่อนไขเป็นจริง ให้ทำงานตามประโยคคำสั่งหลัง Then (ซึ่งอาจมีหลายประโยคคำสั่งก็ได้) แต่ถ้าผลของการทดสอบเงื่อนไขเป็นเท็จ ให้ทำตามประโยคคำสั่งหลัง Else (ซึ่งอาจมีหลายประโยคคำสั่งก็ได้เช่นกัน) และจบการทดสอบเงื่อนไขด้วย End If  มีรูปแบบดังนี้

 เขียนเป็นผังงานได้ตามภาพ 5-5

ภาพ 5-5 ผังงานประโยคคำสั่ง If … Then … EIse … End If

ลักษณะของเงื่อนไข (Condition) เป็นการนำค่าข้อมูลที่เป็นแบบเดียวกันสองค่ามาเปรียบเทียบกันว่าเท่ากันหรือต่างกันอย่างไร โดยใช้เครื่องหมายเปรียบเทียบ (Comparison Operators) ดังต่อไปนี้

เครื่องหมาย

ความหมาย

=

< 

<=

>=

<> 

เท่ากัน

น้อยกว่า

น้อยกว่า หรือเท่ากัน

มากกว่า

มากกว่า หรือเท่ากัน

ไม่เท่ากัน


ผลลัพธ์ที่ได้จากการเปรียบเทียบจะเป็นจริง (True) หรือเป็นเท็จ (False) เท่านั้น

ตัวอย่างการเขียนเงื่อนไข

เงื่อนไข

เป็นจริงถ้า

เป็นเท็จถ้า

A = B

ค่าของ A เท่ากันกับค่าของ B

 ค่าของ A ไม่เท่ากันกับค่าของ B

A < B

ค่าของ A น้อยกว่าค่าของ B

ค่าของ A มากกว่าหรือเท่ากันกับค่าของ B

A >= B

ค่าของ A มากกว่าหรือเท่ากันกับค่าของ B

ค่าของ A น้อยกว่าค่าของ B

A <> B

ค่าของ A ไม่เท่ากันกับค่าของ B

ค่าของ A เท่ากันกับค่าของ B

ตัวอย่างการใช้ประโยคคำสั่ง If … Then … Else … End If

                                                  ถ้ากำหนดเงื่อนไขการทำงานดังนี้

                                                            - ทดสอบว่าค่า A ไม่เท่ากับค่า B จริงหรือไม่

                                                            - ถ้าจริง ให้แสดงข้อความ “A ไม่เท่ากับ B”

                                                            - ถ้าไม่จริง (เท็จ) ให้แสดงข้อความ “A เท่ากับ B”

เขียนประโยคคำสั่งได้ดังนี้


เขียนเป็นผังงาน (เฉพาะส่วนคำสั่ง If) ได้ดังภาพ 5-6

ภาพ 5-6 ผังงานการใช้ประโยคคำสั่ง If … Then … EIse … End If


2. ประโยคคำสั่ง If … Then … End If

ใช้สำหรับทดสอบเงื่อนไข ถ้าผลการทดสอบเงื่อนไขเป็นจริง ให้ทำงานตามประโยคคำสั่งหลัง Then แต่ถ้าผลการทดสอบเงื่อนไขเป็นเท็จไม่ต้องทำอะไร และจบการทดสอบเงื่อนไขด้วย End If

          ประโยคคำสั่ง If ก็จะกลายเป็นรูปแบบที่ 2 ที่ไม่จำเป็นต้องมี EIse ดังนี้



                                                 เขียนเป็นแผนผังได้ดังภาพ 5-7

                                                      ภาพ5-7 ผังงานของคำสั่ง If … Then … End If

ตัวอย่างการใช้ประโยคคำสั่ง If … Then … End If

       ถ้ากำหนดเงื่อนไขการทำงานดังนี้

           - ทดสอบว่า ถ้าไม่มีเงื่อนในมือ (ค่า M เท่ากับ 0) จริงหรือไม่

         - ถ้าจริง ให้หยิบเงินในกระเป๋า 20 บาท (กำหนดให้ M = 20 )

         - ถ้าเท็จ แสดงว่ามีเงินอยู่  (ตามค่าของ M ที่ป้อนเข้าไป)

- จบการทดสอบแล้ว ให้แสดงข้อความ  ซื้อขนมได้

เขียนประโยคคำสั่งได้ดังนี้

เขียนเป็นแผนผังได้ดังภาพ 5-8


ภาพ 5-8 ผังงานตัวอย่างการใช้คำสั่ง If … Then … End If
3.ประโยคคำสั่ง If … Then ..

     ใช้สำหรับสอบเงื่อนไขแล้วให้ทำประโยคคำสั่งเฉพาะกรณีที่เงื่อนไขเป็นจริงแต่ถ้าเงื่อนไขเป็นเท็จให้ทำประโยคคำสั่งในบรรทัดต่อไปได้เลย ดังนั้น จึงไม่จำเป็น ต้องมีทั้ง EIse และ End If

        ประโยคคำสั่ง If ก็จะกลายเป็นรูปแบบ 3 ดังนี้

เขียนเป็นงานได้ดังภาพ 5-9


                                                                 ภาพ 5-9  ผังงานของคำสั่ง If … Then

ตัวอย่างการใช้ประโยคคำสั่ง If …Then …

จากกิจกรรม 5-2 เขียนเป็นประโยคคำสั่ง If … Then … ได้ดังนี้

                             If  M = 0 Then M = 20

                             Msgbox  (ซื้อขนมได้)

     ถ้าเงื่อนไขเป็นจริงแล้วให้ทำหลาคำสั่ง ให้ใช้คำสั่ง ให้ใช้เครื่องหมาย : (Colon) คั่นระหว่างคำสั่ง ดังตัวอย่าง

                     If  Y = 1 Then A = 1 : Z = A + B

       เมื่อมีคำสั่งหลายคำสั่งในลักษณะเดียวกัน ในผังงานแทนที่จะใช้สัญลักษณ์ หลายอันต่อเนื่องกัน อาจเขียนรวมอยู่ในสัญลักษณ์เดียวกันได้ ดัง ภาพ 5-10


ภาพ 5-10 สัญลักษณ์ของการทำงานหลายคำสั่ง


       ดังนั้นควรใช้ประโยคคำสั่ง If อย่างระมัดระวัง เนื่องจากเขียนได้หลายรูปแบบ หรือใช้ตามรูปแบบที่ 1 ดีกว่า เพราะอาจจะทำให้การตรวจสอบโปรแกรมง่ายกว่าและโอกาสผิดพลาดน้อยกว่า

              4.ประโยคคำสั่ง If … Then … ElseIf … Then … Else … EndIf

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


ความหมาย          - ถ้าเงื่อนไขที่ 1 เป็นจริง ให้ทำตามประโยคคำสั่งหลัง Then แต่ถ้าเงื่อนไขที่ 1 เป็นเท็จ

                              (ElseIf) ให้ทดสอบเงื่อนไขที่ 2

                            - ถ้าเงื่อนไขที่ 2 เป็นจริง ให้ทำตามประโยคคำสั่งหลัง Then แต่ถ้าเงื่อนไขที่ 2 เป็นเท็จ

   (ElseIf) ให้ทดสอบเงื่อนไขที่ 3

                            - ถ้าเงื่อนไขที่ 3 เป็นจริง ให้ทำตามประโยคคำสั่งหลัง Then แต่ถ้าเงื่อนไขที่ 3เป็นเท็จ

                               (ElseIf) ให้ทำตามประโยคคำสั่งหลัง Else

                           - จบการทดสอบเงื่อนไขทั้งหมดด้วย End If เพียงตัวเดียว

เขียนเป็นผังงานได้ดังภาพ 5-11



ภาพ 5-11 ผังงานของคำสั่ง If … Then … ElseIf … ในการทดสอบหลายเงื่อนไข

                   ข้อสังเกต การเขียนประโยคคำสั่ง If แบบนี้ มีการจดย่อหน้าทำให้ดูง่ายลักษณะนี้เรียกว่าการเขียนโปรแกรมแบบมีโครงสร้าง (Structured Programmaing) ทำให้การตรวจสอบโปรแกรมง่ายกว่าการเขียนให้ด้านซ้ายมือตรงกันหมดทุกบรรทัดดังนี้


ตัวอย่างการใช้คำสั่ง  If … Then … ElseIf … Then … Else … End If

การตัดเกรดจากคะแนนของนักเรียน กำหนดได้ดังนี้

คะแนน

ได้เกรด

75 ขึ้นไป

65 ถึง 74

50 ถึง 64

40 ถึง 49

ต่ำกว่า 40


เขียนเป็นประโยคคำสั่งได้ดังนี้



Comments