MyBanner

โฆษณา

วันศุกร์ที่ 15 สิงหาคม พ.ศ. 2557

การควบคุมทิศทางของโปรแกรม :: บทที่ 4 ซับรูทีน, ฟังก์ชัน และ การควบคุมทิศทางของโปรแกรม



4.4 การควบคุมทิศทางของโปรแกรม ในภาษา OpenOffice / LibreOffice Basic

การควบคุมทิศทางของโปรแกรมในที่นี้ หมายถึง กลุ่มชุดคำสั่งที่ใช้ในการควบคุมกระแสการทำงานของโปรแกรม ซึ่งประกอบด้วยกลุ่มชุดคำสั่งเลือกทิศทางการทำงานของโปรแกรม, กลุ่มชุดคำสั่งเลือกผลลัพธ์, กลุ่มชุดคำสั่งควบคุมการวนซ้ำ และกลุ่มชุดคำสั่งจัดการข้อผิดพลาด

4.4.1 กลุ่มคำสั่งเลือกทิศทางการทำงานของโปรแกรม

กลุ่มคำสั่งเลือกทิศทางการทำงานของโปรแกรม เป็นกลุ่มชุดคำสั่งที่มีการตรวจสอบเงื่อนไข แล้วเลือกดำเนินการอย่างใดอย่างหนึ่งในขั้นตอนถัดๆ ไป กลุ่มชุดคำสั่งในกลุ่มนี้ ได้แก่ ชุดคำสั่ง IF...THEN...ELSE และชุดคำสั่ง SELECT...CASE

4.4.1.1 ชุดคำสั่ง IF...THEN...ELSE

ชุดคำสั่ง IF...THEN...ELSE เป็นกลุ่มชุดคำสั่งที่มีการตรวจสอบเงื่อนไข แล้วเลือกดำเนินการอย่างใดอย่างหนึ่งสำหรับกรณีที่การตรวจสอบเงื่อนไขให้ค่าเป็นค่าจริง (True) และเลือกดำเนินการอย่างใดอย่างหนึ่งสำหรับกรณีที่การตรวจสอบเงื่อนไขให้เป็นค่าเท็จ โดยรูปแบบชุดคำสั่งมีดังนี้

รูปแบบชุดคำสั่ง :
        If (condition1=true) Then
                 Statement block1
        [ElseIf (condition2=true) Then]
                 Statement block2
        [Else]
                 Statement block3
      End If
โดยที่
      condition1,2 หมายถึง กลุ่มชุดคำสั่งเกี่ยวกับการเปรียบเทียบค่าที่ให้ผลเป็นค่าจริง (True) หรือเท็จ (False)
      Statement block1 หมายถึง กลุ่มชุดคำสั่งที่จะดำเนินการต่อ เมื่อส่วน condition1 ให้ผลเป็นค่าจริง
     Statement block2 หมายถึง กลุ่มชุดคำสั่งที่จะดำเนินการต่อ เมื่อส่วน condition2 ให้ผลเป็นค่าจริง (เฉพาะกรณีที่ส่วน ElseIf เท่านั้น)
    Statement block3 หมายถึง กลุ่มชุดคำสั่งที่จะดำเนินการต่อ เมื่อส่วน condition1 หรือ condition2 ให้ผลเป็นค่าเท็จ

ตัวอย่างที่ 4-2 : ตัวอย่างการใช้คำสั่ง IF-THEN-ELSE
SUB Example04_02
        Dim iTestValue As Integer

        iTestValue = InputBox (“ใส่ตัวเลขที่เป็นจำนวนเต็ม”, “ใส่ค่าตัวเลข”)
        If ((iTestValue MOD 3) = 1) Then
                    MsgBox “เหลือเศษ 1”
        ElseIf ((iTestValue MOD 3) = 2) Then
                    MsgBox “เหลือเศษ 2”
        Else
                   MsgBox “ไม่เหลือเศษ”
        End If
END SUB
รูปที่ 4-3 ตัวอย่างไดอะล็อกจากคำสั่ง InputBox
รูปที่ 4-4 ผลการหาเศษของการหารด้วย 3 จากตัวอย่าง Example04_02
คำสั่ง IIF() เป็นชุดคำสั่งที่ถูกพัฒนาเพิ่มเติมจากคำสั่ง IF-THEN-ELSE เป็นชุดคำสั่งที่มีลักษณะเป็นฟังก์ชัน ใช้ในกรณีที่มีคำสั่งที่ต้องดำเนินการต่อในกรณีที่เงื่อนไขเป็นจริง (THEN) และกรณีที่เงื่อนไขเป็นเท็จ (ELSE) เพียงอย่างละ 1 ชุด หรืออย่างใดอย่างหนึ่งเพียง 1 คำสั่ง โดยมีรูปชุดคำสั่งดังนี้

รูปแบบชุดคำสั่ง :
               Result = IIf (Expression, ExpressionTrue, ExpressionFalse)
โดยที่
        Result หมายถึง ผลการทำงานของคำสั่ง IIF()
        Expression หมายถึง กลุ่มชุดคำสั่งเกี่ยวกับการเปรียบเทียบค่าที่ให้ผลเป็นค่าจริง (True) หรือเท็จ (False)
        ExpressionTrue หมายถึง ชุดคำสั่งที่จะดำเนินการต่อกรณีที่เงื่อนไขเป็นจริง
        ExpressionFalse หมายถึง ชุดคำสั่งที่จะดำเนินการต่อกรณีที่เงื่อนไขเป็นเท็จ

ตัวอย่าง ชุดคำสั่ง IF-THEN-ELSE ที่อยู่ในต้นฉบับโปรแกรมดังนี้

        If ((iTestValue MOD 2) = 1) Then
                 MsgBox “เหลือเศษ 1”
        Else
                 MsgBox “ไม่เหลือเศษ”
        End If

สามารถเขียนให้อยู่ในรูปของชุดคำสั่ง IIF() ได้ดังนี้

           MsgBox IIf ((iTestValue MOD 2) = 1), “เหลือเศษ 1”, “ไม่เหลือเศษ”)

4.4.1.2 ชุดคำสั่ง SELECT...CASE

ชุดคำสั่ง SELECT...CASE เป็นชุดคำสั่งที่มีการตรวจสอบเงื่อนไขที่ให้ผลเป็นค่าอื่นๆ ที่ไม่ใช่ค่าจริง (True) หรือ เท็จ (False) ซึ่งสามารถมีทางเลือกสำหรับดำเนินการขั้นต่อไปหลายทางเลือก โดยมีรูปแบบชุดคำสั่งดังนี้

รูปแบบชุดคำสั่ง :
Select Case Condition
       Case Expression1
                 Statement Block
       [Case Expression2
                 Statement Block]
                  ....
       [Case ExpressionN
                  Statement Block]
       [Case Else]
                  Statement Block
End Select
โดยที่
          Condition หมายถึง เงื่อนไขสำหรับเลือกดำเนินการ
          Expession1 หมายถึง ค่าเปรียบเทียบชุดที่ 1
          Expession2 หมายถึง ค่าเปรียบเทียบชุดที่ 2
          ExpessionN หมายถึง ค่าเปรียบเทียบชุดที่ N
          Statement Block หมายถึง กลุ่มชุดคำสั่งที่จะดำเนินการต่อไป

ตัวอย่างที่ 4-3 : ตัวอย่างการใช้คำสั่ง SELECT...CASE
SUB Example04_03
         Dim iTestValue As Integer

         iTestValue = InputBox (“ใส่ตัวเลขที่เป็นจำนวนเต็ม”, “ใส่ค่าตัวเลข”)

        Select Case (iTestValue MOD 3)
                   Case 1 'กรณีเหลือเศษเท่ากับ 1
                                MsgBox “เหลือเศษ 1”
                   Case 2 'กรณีเหลือเศษเท่ากับ 2
                               MsgBox “เหลือเศษ 2”
                   Case Else
                               MsgBox “ไม่เหลือเศษ”
        End Select
END SUB

 เทรด forex กับ exness

บันทึกประจำวันที่ 19 มิถุนายน พ.. 2557 (2014)
เวลา
เหตุการณ์
06:00 . ตื่นนอน อ่านวารสารเกษตรกรรมธรรมชาติ
07:00 .
งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ บ้านแม่ทำ สีทา (3/2557):ตัดหญ้าเตรียมพื้นที่ปลูกข้าวโพด
08:30 .
0.อาบน้ำ กินข้าวเช้า
1.กับข้าว:หน่อไม้ไผ่ตงลืมแล้งชุปแป้งทอด, แกงส้มหยวกกล้วยขาหมู
09:00 .
เดินทางไปตลาดด่านช้าง, แวะเติมน้ำมันที่ปั้มหน้าโรงเรียนนิคมฯ 2, แวะเบิกเงินที่ตู้ ATM . กรุงไทย, แวะซื้อถุงเพาะต้นไม้ที่ร้านยุทธนา, ไปเบิกเงืนที่ตู้ ATM ธกส., แวะซื้อมูเลร้านนานาจักรกล, แวะซื้อของตลาดสด, ซื้ออาหารปลาร้านข้างต้นมะยม, ซื้อยาแก้ปวดหัวร้านสุวรรณเวช, แวะจ่ายค่างวดรถที่ร้านเม้งฮวด, แวะกินเย็นตาโฟที่ร้านข้างวัดนาตาปิ้น, แวะบ้านกฤษณะเนื่องจากอา-จอมต้องการปุ๋ยนาโน, แวะเปลี่ยนยางรถมอเตอร์เไซด์และผ้าเบรกที่ร้านหน้าวัดสามแยก, แวะจ่ายค่าข้าวร้านพี่มะลิ, กลับถึงบ้าน
15:00 . พักผ่อน
15:30 .
งานของกิจกรรมอาชีพ กสิกรรมธรรมชาติ บ้านแม่ทำ สีทา (3/2557):ประกอบมูเลเข้ากับมอเตอร์ปั้มชักพลังงานโซลาร์เซลล์ทดแทนตัวเก่าที่แปรงถ่านหมด แล้วหาอะไหล่ในท้องถิ่นไม่ได้
17:30 . ลองถอดประกอบมอเตอร์กระแสตรง 20 rpm
18:15 .
อาบน้ำ ทำบันทึกประจำวันของวันก่อน ทำบัญชีครัวเรือน
19:45 .
0.กินข้าว
1.กับข้าว:แกงมะเขือขาหมู, แกงส้มหยวกกล้วยขาหมู
20:15 . ลองเชื่อมต่ออินเตอร์เน็ต แต่เข้าเว็บไซต์ไม่ได้
21:00 . เข้านอน


Adz2you.