วันอาทิตย์ที่ 28 สิงหาคม พ.ศ. 2554

คำสั่ง (Statement) และโพรซีเยอร์ (Procedure) ภาค1

        ในบทความนี้เราจะทบทวนคำสั่งที่สำคัญใน Visual Basic เช่น การเขียนโปรแกรมวนซ้ำสำหรับการทำงานอย่างใดอย่างหนึ่งหรือการตรวจสอบเงื่อนไขใด ๆ และการเขียนโปรแกรมการตรวจสอบเงื่อนไขจากข้อกำหนดต่าง ๆ ที่มีให้เลือกและการเรียกใช้โพรซีเยอร์ชนิดซับรูทีนและฟังก์ชัน

คำสั่ง (Statement) ใน Visual Basic
คำสั่งและฟังก์ชันของ Visual Basic ซึ่งเป็นสิ่งจำเป็นที่โปรแกรมเมอร์หรือผู้ที่เริ่มเขียนโปรแกรมควรจะทำความเข้าใจให้มากที่สุด เพราะถือว่าเป็นหัวใจของการเขียนโปรแกรมไม่ว่าจะเป็นโปรแกรม Visual Basic หรือโปรแกรมภาษาได ๆ ก็ตาม ถ้าเราทราบความหมาย, รูปแบบการใช้งานและทราบหน้าที่ของคำสั่งหรือฟังก์ชันมากเท่าใด เราจะสามารถปรับแต่งโค้ดของเราให้ทำงานได้อย่างมีประสิทธิภาพมากที่เท่านั้น ในที่นี้ไม่ได้หมายความว่าผู้อ่านจะต้องจดจำทุกคำสั่งหรือทุกฟังก์ชัน เพียงแต่ให้เข้าใช้ว่าว่าโดยรวมแล้วโครงสร้างของแต่ละคำสั่งหรือฟังก์ชันทำงานอย่างไร อะไรคืออินพุต อะไรคือเอาท์พุต เป็นต้น ซึ่งสิ่งเหล่านี้จะเป็นตัวช่วยให้เราสามารถเลือกใช้งานคำสั่งหรือฟังก์ชันได้เหมาะสมกับแอพลิเคชันของเรามากที่สุด

ในบทนี้เราจะทบทวนการใช้คำสั่งของ Visual Basic ที่สำคัญ 3 หมวดคือ
1.       คำสั่งที่เกี่ยวกับการสร้างเงื่อนไข (Condition Statements)
2.       กลุ่มคำสั่งที่ใช้สำหรับวนซ้ำ (Iterations)
3.       การสร้างโพรซีเยอร์ทั่วไป (Procedure)

ชนิดของคำสั่ง (Statement type)
ตัวอย่าง
กลุ่มคำสั่งที่เกี่ยวกับการสร้างเงื่อนไข (Condition Statements)
- if Num > 0 then Num = Num * 2 ' โครงสร้างพื้นฐานของ logic building block
- Select Case .... End Case
กลุ่มคำสั่งที่ใช้สำหรับสั่งให้ทำซ้ำ (Loop Statements)
- for i = 1 to 5 ‘ทำซ้ำในจำนวนรอบที่แน่นอน
- while ( val(i) > val(imin) ) 'ทำซ้ำจนกว่าเงื่อนไขจะเป็นเท็จ
โพรซีเยอร์ชนิดฟังก์ชันหรือซับรูทีน
- Private Sub Delay() 'ซับรูทีนไม่มีการส่งค่ากลับมา
- Function RectArea() As Double  'ฟังก์ชันส่งค่าคืนกลับ

คำสั่งที่เกี่ยวกับการสร้างเงื่อนไข (Condition Statements)
คำสั่งที่เกี่ยวกับการสร้างเงื่อนไข (Condition Statements) เป็นกลุ่มคำสั่งที่ต้องใช้มากที่สุดในการเขียนโปรแกรมไม่ว่าเป็นโปรแกรมด้วยภาษาอะไรก็ตามและก็ถือได้ว่าเป็นกลุ่มคำสั่งพื้นฐานที่มีความสำคัญมากที่สุดด้วย

คำสั่ง If-Then
คำสั่ง If-Then เป็นรูปแบบอย่างง่ายที่สุดของโครงสร้าง Condition Statements เป็นการตรวจสอบค่าของตัวแปรในเงื่อนไขที่เราสนใจ ถ้าเงื่อนไขเป็นจริงก็จะทำตามเงื่อนไขนั้น ซึ่งมีรูปแบบการใช้งานดังนี้


 
If condition Then statements

ตัวแปร condition หมายถึง เงื่อนไขที่กำหนด
ตัวแปร statements หมายถึง เมื่อเงื่อนไขเป็นจริงแล้วจะให้ทำอะไร เช่น

If counter < 10 Then b = a + counter

จากตัวอย่าง ถ้าตัวแปร counter น้อยกว่า 10 ให้เอาค่าในตัวแปร a + counter และเก็บไว้ในตัวแปร b ซึ่งจะเห็นว่าจะมีการบวกกันในกรณีที่ค่าในตัวแปร counter น้อยกว่า 10 เท่านั้น และเมื่อตัวแปร counter มากกว่า 10 ก็จะไม่มีผลอะไร แต่เรายังสามารถสร้างเงื่อนไขเพิ่มขึ้นเผื่อไว้ในกรณีที่เงื่อนไขไม่เป็นจริงโดยมีรูปแบบการใช้งานดังนี้


If condition Then
statements
Else
elsestatements
End If

คำสั่ง Else หมายถึง กรณีที่เงื่อนไขดังกล่าวเป็นเท็จ
คำสั่ง End If หมายถึง จบเงื่อนไข
ตัวแปร elsestatements หมายถึง ชุดคำสั่งที่จะทำเมื่อเงื่อนไขเป็นเท็จ เช่น

If counter < 10 Then
b = a + counter
Else
b = a - counter
End If

จากตัวอย่างจะเห็นว่าเมื่อตัวแปร counter มากกว่าหรือเท่ากับ10 จะทำให้เงื่อนไขเป็นเท็จ ให้เอาค่าตัวแปร a - counter และให้เก็บไว้ในตัวแปร b ซึ่งทำให้เราสามารถจัดการกับเงื่อนไขทั้งที่เป็นจริงและเป็นเท็จได้ นอกจากนี้เรายังสามารถเพิ่มกรณีตรวจสอบเงื่อนไขมากขึ้นได้อีก ซึ่งมีรูปแบบการใช้งานดังนี้
  
If condition Then
statements
ElseIf condition2 Then
elseifstatements
Else
elsestatements
End If

คำสั่ง ElseIf หมายถึง คำสั่งสำหรับเพิ่มกรณีตรวจสอบขึ้นมาเพื่อสร้างเงื่อนไขขึ้นมาอีก 1 กรณี
ตัวแปร condition2 หมายถึง เป็นเงื่อนไขที่ 2 ที่กำหนดขึ้นมา
ตัวแปร elseifstatements หมายถึง ชุดคำสั่งสำหรับกรณีเงื่อนไขที่ 2 เช่น

If counter < 10 Then
b = a + counter
ElseIf counter < 20 Then
b = a * counter
Else
b = a / counter
End If

สมมติว่าตัวแปร counter = 11 ซึ่งจะทำให้กรณีแรก (counter<10) เป็นเท็จทันทีจึงมาที่เงื่อนไขที่ 2 ปรากฏว่าเป็นจริงจึงนำค่าตัวแปร a*counter แล้วเก็บไว้ในตัวแปร b แต่ถ้าเปลี่ยน counter = 30 ซึ่งไม่เข้าทั้งเงื่อนไขของกรณีที่ 1 และ 2    ก็จะมาทำคำสั่งที่อยู่ในเงื่อนไข else นั่นเอง
เราสามารถเพิ่มกรณีตรวจสอบแบบนี้ได้ไม่จำกัด กล่าวคือ ใส่ชุดของ ElseIf condition2 Then elseifstatements มากเท่าใดก็ได้ตามที่เราต้องการ แต่ถ้ามีการตรวจสอบเงื่อนไขมากๆ หลายกรณีโปรแกรมเมอร์ไม่นิยมใช้ชุดคำสั่งนี้เนื่องจากจะทำให้โครงสร้างซับซ้อนอาจสับสนได้ง่าย ดังนั้นเราจะนิยมใช้ชุดคำสั่ง Select Case มากกว่า ซึ่งจะพูดถึงในภาค 2 ต่อไป

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

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