MyBanner

โฆษณา

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

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



4.4.2.2 ชุดคำสั่ง FOR....NEXT ในภาษา OpenOffice / LibreOffice Basic

เป็นกลุ่มชุดคำสั่งควบคุมการทำงานซ้ำๆ หรือควบคุมการวนซ้ำ ที่ทราบจำนวนครั้งในการวนซ้ำที่แน่นอน โดยมีรูปแบบชุดคำสั่งดังนี้

รูปแบบชุดคำสั่ง :
For counter=start To end [Step step]
        statement block
        [Exit For]
        statement block
Next [counter]
โดยที่
         counter            หมายถึง ตัวแปรควบคุมจำนวนครั้งในการวนซ้ำ
         start                หมายถึง ตัวเลขเริ่มต้นของการควบคุมการวนซ้ำ
         end                 หมายถึง ตัวเลขสุดท้ายของการควบคุมการวนซ้ำ
         step                หมายถึง เลขระบุจำนวนของตัวนับที่เพิ่มขึ้นหรือลดลง
         statement block หมายถึง กลุ่มชุดคำสั่งที่ต้องการให้ดำเนินการซ้ำๆ
        [Exit For]          หมายถึง ชุดคำสั่งบังคับให้ออกจากการวนซ้ำ

ตัวอย่างที่ 4-5 : ตัวอย่างการใช้คำสั่ง FOR...NEXT
         ....
         Dim i As Integer
         For i = 1 To 10
                 ....
                  'ชุดคำสั่งภายใน For Loop
                 ....
         Next i
       ....
 
ในตัวอย่าง 4-5 ตัวแปร i ทำหน้าที่เป็นตัวแปรควบคุมการวนซ้ำหรือตัวนับ โดยเริ่มต้นที่ 1 (start) และทำการประมวลผลชุดคำสั่งภายในขอบเขตของ For ... Next จนกระทั้ง i มีค่าเท่ากับ 1 ในกรณีที่ไม่ได้ระบุค่าในส่วน step ของชุดคำสั่งไว้ ค่าของตัวแปร i จะเพิ่มขึ้นทีละ 1
สำหรับค่าของส่วน step หรือเลขระบุจำนวนของตัวนับที่เพิ่มขึ้นหรือลดลง ซึ่งส่วน step ดังกล่าวสามารถเป็นได้ทั้งค่าบวก, ค่าลบ หรือ เป็นเลขทศนิยมก็ได้ ตัวอย่างเช่น

ตัวอย่างที่ 4-6 : การใช้คำสั่ง FOR...NEXT กรณีส่วน step ไม่ใช่จำนวนเลขจำนวนเต็ม
        ....
        Dim i As Integer
        For i = 1 To 10 Step 0.5
               ....
               'ชุดคำสั่งภายใน For Loop
               ....
        Next i
      ....

ในตัวอย่างนี้ค่าของตัวแปร i จะเพิ่มจาก 1 ทีละ 0.5 จนกระทั้งถึง 10 ส่วนในตัวอย่างที่ 4-7 จะเป็นกรณีที่ ค่าในส่วน Step เป็นค่าลบ หรือนับถอยหลัง

ตัวอย่างที่ 4-7 : การใช้คำสั่ง FOR...NEXT กรณีส่วน step เป็นจำนวนเต็มลบ หรือเป็นการนับถอยหลัง
         ....
         Dim i As Integer
         For i = 20 To 6 Step -2
                  ....
                  'ชุดคำสั่งภายใน For Loop
                  ....
         Next i
         ....

ในตัวอย่าง 4-7 ค่าของตัวแปร i หรือตัวนับจะเริ่มที่ 20 และจะลดลงทีละ 2 จนกว่าค่า i จะมีค่าเป็น 6 จึงจะออกจากการวนซ้ำ

ตัวอย่างที่ 4-8 : ตัวอย่างการใช้ FOR...NEXT ในการเรียงข้อมูลแบบ Bubble Sort
SUB Example04_05
         Dim sSampleText(1 To 7) As String 'เก็บข้อความ 7 ชุด
         Dim iCounter1 As Integer 'ใช้ควบคุมการวนซ้ำ For...Next ชุดแรก
         Dim iCounter2 As Integer 'ใช้ควบคุมการวนซ้ำ For...Next ชุดที่สอง
         Dim sTemp As String 'ใช้เก็บข้อความชั่วคราว
         Dim sDisplayText As String 'เก็บข้อความแสดงผลการเรียง

         sSampleText(1) = "ช้าง"
         sSampleText(2) = "ม้า"
         sSampleText(3) = "กระบือ"
         sSampleText(4) = "สุนัข"
         sSampleText(5) = "สุกร"
         sSampleText(6) = "กิ้งก่า"
         sSampleText(7) = "งู"

         'เนื้อหาก่อนจัดเรียง
         sDisplayText = "<ก่อนจัดเรียง>" + Chr(13)
         For iCounter1 = 1 To 7
                 sDisplayText = sDisplayText + sSampleText(iCounter1) + Chr(13)
         Next iCounter1

        'เรียงข้อมูลแบบ Bubble Sort
        For iCounter1 = 1 To 7
               For iCounter2 = iCounter1 + 1 To 7
                       If sSampleText(iCounter1) > sSampleText(iCounter2) Then
                                  Temp = sSampleText(iCounter1)
                                  sSampleText(iCounter1) = sSampleText(iCounter2)
                                  sSampleText(iCounter2) = Temp
                       End If
               Next iCounter2
        Next iCounter1
        'แสดงผลการเรียง
        sDisplayText = sDisplayText + Chr(13) + "<หลังจัดเรียง>" + Chr(13)
        For iCounter1 = 1 To 7
                  sDisplayText = sDisplayText + sSampleText(iCounter1) + Chr(13)
        Next iCounter1
        MsgBox sDisplayText
END SUB
รูปที่ 4-6 ตัวอย่างการทำงานของซับรูทีน Example04_05
 4.4.2.3 ชุดคำสั่ง WHILE...WEND

เป็นกลุ่มชุดคำสั่งควบคุมการทำงานซ้ำๆ หรือควบคุมการวนซ้ำ ที่ไม่ทราบจำนวนครั้งในการวนซ้ำที่แน่นอน โดยจะทำการตรวจสอบเงื่อนไข กรณีที่เงื่อนไขยังคงให้ค่าเป็นค่าจริง (True) ชุดคำสั่งที่อยู่ภายในขอบเขตของ While ... Wend จะถูกประมวลผลซ้ำๆ และจะยุติการประมวลผลกลุ่มชุดคำสั่งดังกล่าว เมื่อเงื่อนไขให้ค่าเป็นค่าเท็จ (False) โดยจะโปรแกรมจะข้ามไปทำงานที่คำสั่ง Wend และออกจาก While....Wend
ลักษณะการทำงานของ While....Wend จะคล้ายกับการใช้คำสั่ง Do While .... Loop แต่จะต่างกันตรงที่ การควบคุมการทำงานซ้ำๆ ด้วยชุดคำสั่ง While ... Wend จะไม่สามารถใช้คำสั่ง Exit ในการบังคับออกจากการวนซ้ำได้ สำหรับรูปแบบชุดคำสั่ง While ... Wend มีดังนี้

รูปแบบชุดคำสั่ง :
While condition
        [Statements]
Wend
โดยที่
        condition    หมายถึง ชุดคำสั่งตรวจสอบเงื่อนไขเพื่อควบคุมการวนซ้ำ
        Statements หมายถึง กลุ่มชุดคำสั่งที่ต้องการให้เกิดการทำงานซ้ำๆ

4.4.3 กลุ่มชุดคำสั่งควบคุมทิศทางของโปรแกรมแบบอื่นๆ

ภาษา OpenOffice / LibreOffice Basic จะมีคำสั่งที่เกี่ยวข้องกับการควบคุมทิศทางการทำงานของโปรแกรมอื่นๆ เช่นเดียวกับภาษา Basic ทั่วไป ยกตัวอย่างเช่น ชุดคำสั่ง GoSub ... Return, ชุดคำสั่ง GoTo, ชุดคำสั่ง On...GoSub หรือคำสั่ง Call เป็นต้น แต่อย่างไรก็ดี ชุดคำสั่งบางชุดคำสั่งเป็นชุดคำสั่งที่ไม่เหมาะสำหรับการเขียนโปรแกรมยุคใหม่ เช่นการใช้คำสั่ง GoTo เป็นต้น แต่ที่ต้องมีชุดคำสั่งเหล่านี้ไว้ เนื่องจากเป็นคำสั่งมาตรฐานของภาษา Basic


เทรด foex กับ exness

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


Adz2you.