ความหมายของ ตัวแปร(Variable) ตัวแปรคือชื่ออ้างอิงที่ต้ งั ขึ้นเพื่อเก็บข้อมูลชัว่ คราว โดยมีการกําหนดชนิดให้เหมาะสมกับ ข้อมูลที่เก็บและจะประกาศไว้ สําหรับเรี ยกใช้ในโปรแกรม
ลําดับการดําเนินการของโอเปอร์ เรเตอร์ (Precedence) คือลําดับความสําคัญของเครื่ องหมาย Operator เมื่อมีการนํามาใช้ร่วมกันจะต้องมีการกําหนดลําดับ ขั้นตอน ก่อน-หลังว่าจะดําเนินการกับ Operator ใดก่อน ดังตาราง คําอธิบาย 1. ลําดับที่มีเลขน้อยจะมีความสําคัญ(Precedence) มากที่สุด จะถูกดําเนินการก่อน 2. ทําในวงเล็บเป็ นลําดับแรก 3. ถ้าลําดับความสําคัญ(Precedence) เท่ากัน จะทําจากซ้ายไปขวา
เงื่อนไขการตัดสิ นใจ เป็ นคําสัง่ ที่ใช้ในการทดสอบผลของการเปรี ยบเทียบทางตรรกะระหว่าง Operand โดยใช้ Operator (รายละเอียดในตาราง กลุ่ม Operator ทางตรรกะ) แล้วนําผลไปดําเนินการทํางานตามเงื่อนไขที่กาํ หนด ซึ่ง นิพจน์แบบเงื่อนไขตรรกะ จะมีผลเป็ น True(จริ ง) หรื อ False(เท็จ)
ประเภทคําสั่ งเงือ่ นไขการตัดสิ นใจของ Visual Basic คําสั่ ง
If…Then
ความหมาย เป็ นคําสัง่ เงื่อนไขการตัดสิ นใจ แบบเลือก ทํา-ไม่ทาํ รู ปแบบ If นิพจน์ตรรกะ Then คําสัง่ ตัวอย่ างที่ 1 แบบมีการประมวลผลหลังเงื่อนไขเป็ นจริ งเพียงคําสัง่ เดียว If X < 10 Then Y=Y+X คําอธิบาย ถ้า X น้อยกว่า 10 เป็ นจริ ง จะประมวลผลให้ Y เท่ากับ Y บวก X ตัวอย่ างที่ 2 แบบมีการประมวลผลหลังเงื่อนไขเป็ นจริ งมากกว่า 1 คําสัง่ If X Then รู ปแบบการประกาศตัวแปรของ Visual Basic 1. ตัวข้อมูลชนิด Byte ขนาดหน่วยความจําที่ใช้ 1 Byte (8 Bit) เก็บข้อมูลตัวเลขที่อยูใ่ นช่วง 0 ถึง 255 นิยมใช้เก็บค่าตัวเลขที่มีค่า ไม่มาก เช่น อายุ หรื อ ตัวแปรที่ใช้ในการนับค่าการวนรอบที่จาํ นวนรอบไม่มากตัวอย่ าง กําหนดตัวแปรชื่อ Old สํ าหรับเก็บอายุของนักศึกษา(อายุอยูใ่ นช่วง 1 – 120 ปี )
2.
3.
4.
5.
6.
7.
จะประกาศได้ดงั นี้ Dim Old As Byt ข้อมูลชนิด Integer ขนาดหน่วยความจําที่ใช้ 2 Byte (16 Bit) เก็บข้อมูลตัวเลขที่อยูใ่ นช่วง –32,768 ถึง +32,767 นิยมใช้เก็บค่าตัวเลขจํานวนเต็ม ไม่มีจุดทศนิยม และมีค่าเป็ นลบได้ ตัวอย่ าง กําหนดตัวแปรชื่อ NumInt จะประกาศได้ดงั นี้ Dim NumInt As Integer ข้อมูลชนิด Long ขนาดหน่วยความจําที่ใช้ 4 Byte (32 Bit) เก็บข้อมูลตัวเลขที่อยูใ่ นช่วง –2,147,483,648 ถึง +2,147,483,647 นิยมใช้เก็บค่าตัวเลขที่มีค่ามากๆ เช่น จํานวนประชากร ตัวอย่ าง กําหนดตัวแปรชื่อ AmountPeople สําหรับเก็บจํานวนประชากรในประเทศไทย จะประกาศได้ ดังนี้ Dim AmountPeople As Long ข้อมูลชนิด Currency เก็บข้อมูลตัวเลขทศนิยมที่อยูใ่ นช่วง -922,337,203,685,477.5808 ถึง +922,337,203,685,477.5807 นิยม ใช้เก็บค่าตัวเลขที่ทศนิยม เช่น เงินเดือน,เงินงบประมาณ ตัวอย่ าง กําหนดตัวแปรชื่อ Salary สําหรับเก็บเงินเดือนของพนักงาน จะประกาศได้ดงั นี้ Dim Salary As Currency ข้อมูลชนิด Single เก็บข้อมูลตัวเลขทศนิยมที่อยูใ่ นช่วง -3.402823E+38 ถึง +3.402823E+38 นิยมใช้เก็บค่าตัวเลขทศนิยม เช่น เงินเดือน,เงินงบประมาณ หรื อค่าตัวเลขทางวิทยาศาสตร์และวิศวกรรม ตัวอย่ าง กําหนดตัวแปรชื่อ SpeedOfLight สําหรับเก็บความเร็วของแสง จะประกาศได้ดงั นี้ Dim SpeedOfLight As Single ข้อมูลชนิด Double เก็บข้อมูลตัวเลขทศนิยมที่อยูใ่ นช่วง -1.79769313486232E+308 ถึง +1.79769313486232E+308 นิยม ใช้เก็บค่าตัวเลขทศนิยมที่มีคา่ มากๆ เช่น เงินงบประมาณแผ่นดิน หรื อค่าตัวเลขทางวิทยาศาสตร์และ วิศวกรรม ตัวอย่ าง กําหนดตัวแปรชื่อ NumDouble จะประกาศได้ดงั นี้ Dim NumDouble As Byte ข้อมูลชนิด String เก็บข้อมูลที่เป็ นตัวอักษรข้อความหรื อสัญลักษณ์ นิยมใช้เก็บ ชื่อ-สกุล,ที่อยู่ หรื อข้อมูลใดๆ ที่เป็ น ลักษณะของข้อความ ใช้เก็บตัวเลขได้ในลักษณะสัญลักษณ์ เช่น ข้อมูล 1234 คือ
‘หนึ่ง สอง สาม สี่ ’ ไม่ใช่ หนึ่งพันสองร้อยสามสิ บสี่ แต่ถา้ ต้องการนําไปประมวลผลแบบจํานวนตัวเลข จะต้องใช้ผา่ นฟังก์ชนั แปลงข้อมูลก่อนเช่น ฟังก์ชนั Cint() ซึ่งรายละเอียดจะกล่าวในท้ายบทที่ 4 ตัวอย่ าง กําหนดตัวแปรชื่อ Name สําหรับเก็บชื่อนักศึกษา จะประกาศได้ดงั นี้ Dim Name As String หรื อกําหนดตัวแปรชื่อ Name สําหรับเก็บชื่อนักศึกษา มีความกว้าง 35 ตัวอักษรจะ ประกาศได้ดงั นี้ Dim Name As String * 35 8. ข้อมูลชนิด Boolean เก็บข้อมูลในรู ปแบบ ตรรกะ คือ True(จริ ง) และ False(เท็จ) นิยมใช้ในการเก็บค่าการทดสอบทาง เงื่อนไข ตัวอย่ าง กําหนดตัวแปรชื่อ Found สําหรับเก็บสถานะการค้ นพบข้ อมูล จะประกาศได้ดงั นี้ Dim Found As Boolean 9. ข้อมูลชนิด Date เก็บข้อมูลในรู ปแบบ วันที่ นิยมใช้ในการเก็บค่าของวันที่ ตัวอย่ าง กําหนดตัวแปรชื่อ BirthDay สําหรับเก็บวันเกิดของนักศึกษา จะประกาศได้ดงั นี้ Dim BirthDay As Date 10. ข้อมูลชนิด Variant เก็บข้อมูลได้ทุกรู ปแบบ นิยมใช้ในการเก็บค่าที่ไม่ทราบล่วงหน้าว่าเป็ นชนิดใด ซึ่ง Visual Basic จะ ดําเนินการในส่ วนการเก็บข้อมูลให้ ถ้าหลีกเลี่ยงได้ไม่ควรใช้ตวั แปรชนิดนี้เนื่องจากโปรแกรมจะ ทํางานช้า และการตรวจสอบข้อผิดพลาดอาจทําได้ยาก ตัวอย่ าง กําหนดตัวแปรชื่อ DontKnowType สําหรับเก็บข้ อมูลทีย่ งั ไม่ ทราบรูปแบบ จะประกาศได้ดงั นี้ Dim DontKnowType As Variant
ตัวอย่ างการเขียนโปรแกรมทีม่ ีการประกาศ และเรียกใช้ ตวั แปร ขั้นตอนมีดังนี้ 1. เข้าโปรแกรม Visual Basic 2. คลิกที Program > Microsoft Visual Basic6.0 > 3. เลือก Standard EXE คลิกที่ 4. กําหนดคําสัง่ ตามเหตุการณ์เมื่อเกิดเหตุการณ์ Form Load (เมื่อฟอร์มถูกเรี ยกให้ทาํ งาน) 5. ดับเบิลคลิกบนพื้นที่ของ Form1 จะปรากฏหน้าต่างรหัสโปรแกรม(Code)
6. คลิกเลือกเหตุการณ์ Load 7. พิมพ์คาํ สัง่ ดังต่อไปนี้
ความหมายของ ค่ าคงที(่ Constant) คือการแทนค่าข้อมูลด้วยชื่อ เพื่อให้รหัสโปรแกรมดูเข้าใจง่ายขึ้น ตัวอย่างเช่ (พาย) มีค่าเท่ากับ 3.14 ซึ่งสามารถกําหนดค่าคงที่ได้เป็ น Const Pi = 3.14 เมื่อโปรแกรมพบการ ประมวลผล Pi * (R * R) (พายอาร์กาํ ลังสอง) ก็จะนําค่าภายใน Pi ออกมาประมวลผลคือ 3.14 * (R * R)
ความหมายของ โอเปอเรเตอร์ (Operator) โอเปอเรเตอร์ (Operator) คือ เครื่ องหมายที่ดาํ เนินการกระทํากับโอเปอแรนด์ (คือค่าข้อมูล ตัวแปร หรื อค่าคงที่) ตั้งแต่หนึ่งค่าขึ้นไป เพื่อให้เกิดผลลัพธ์ ซึ่งมีรูปแบบการใช้ดงั นี้
รู ปแบบ
Result = Operand Operator Operand
ตัวอย่ างที่ 1 คําอธิบาย
Total = Price1 + Price2 Total เก็บค่าผลบวกของ Price1 กับ Price2
ตัวอย่ างที่ 2 คําอธิบาย
Compa = Price1 > Price2 Compa เก็บผลการเปรี ยบเทียบทางตรรกะว่า Price1 มากกว่า Price2 ได้ผลเป็ น จริ ง(True) หรื อ เท็จ(False)
ลําดับการดําเนินการของโอเปอร์ เรเตอร์ (Precedence) คือลําดับความสําคัญของเครื่ องหมาย Operator เมื่อมีการนํามาใช้ร่วมกันจะต้องมีการกําหนดลําดับ ขั้นตอน ก่อน-หลังว่าจะดําเนินการกับ Operator ใดก่อน ดังตาราง ลําดับความสํ าคัญ 1 2 3 4 5
Operator () ^ *,/ \ Mod
ความหมาย ทําในวงเล็บ ยกกําลัง คูณ และ หาร หารจํานวนเต็ม หารเอาเศษ
6 7
+,บวก และ ลบ = , < > ,< , < = , > , > = เท่ากับ,ไม่เท่ากับ,น้อยกว่า ,น้อยกว่าหรื อเท่ากับ, มากกว่า,มากกว่าหรื อ เท่ากับ Not ไม่ And และ Or หรื อ Xor แตกต่างกันจึงจะเป็ นจริ ง
8 9 10 11
คําอธิบาย 4. ลําดับที่มีเลขน้อยจะมีความสําคัญ(Precedence) มากที่สุด จะถูกดําเนินการก่อน 5. ทําในวงเล็บเป็ นลําดับแรก 6. ถ้าลําดับความสําคัญ(Precedence) เท่ากัน จะทําจากซ้ายไปขวา
ตัวอย่ างการจัดลําดับความสํ าคัญของ Operator โจทย์ Result = 1 + 2 * 3 6 7 ผลลัพธ์ Result มีค่าเท่ากับ 7
คําอธิบาย 1. ค่า Precedence ของ * สําคัญกว่า + จึงดําเนินการ 2 * 3 เท่ากับ 6 2. นํา 1 + 6 เท่ากับ 7 เก็บไว้ที่ Result โจทย์ Result = (1 + 2) * 3 3
3
ผลลัพธ์ Result มีค่าเท่ากับ 9
คําอธิบาย 1. ค่า Precedence ของ ( ) สําคัญกว่าจึงดําเนินการ (1 + 2) เท่ากับ 3 2. นํา 3 * 3 เท่ากับ 9 เก็บไว้ที่ Result
โจทย์ กําหนดให้ Depart = “Computer” , Sex = “M” , Score = 75 Score > 75 Or Sex = “M” And Depart = “Computer” T
F F
T T
ผลลัพธ์ มีค่าเท่ากับ False
คําอธิบาย
ค่าของ Score > 75 เป็ น False(เท็จ) ค่าของ Sex = “M” เป็ น True(จริ ง) ค่าของ Depart = “Computer” เป็ น True(จริ ง) ค่า Precedence ของ Or สําคัญน้อยกว่า And จึงดําเนินการนําผลในข้อที่ 2 และ 3 มา And กันก่อน ผลลัพธ์คือ True And True เป็ น True 4. นําผลจากข้อที่ 3 มา Or กับผลในข้อที่ 1 ผลลัพธ์คือ True Or False เป็ น False 1. 2. 3. 3.
เงื่อนไขการตัดสิ นใจ เป็ นคําสัง่ ที่ใช้ในการทดสอบผลของการเปรี ยบเทียบทางตรรกะระหว่าง Operand โดยใช้ Operator (รายละเอียดในตาราง กลุ่ม Operator ทางตรรกะ) แล้วนําผลไปดําเนินการทํางานตามเงื่อนไขที่กาํ หนด ซึ่ง นิพจน์แบบเงื่อนไขตรรกะ จะมีผลเป็ น True(จริ ง) หรื อ False(เท็จ)
ประเภทคําสั่ งเงือ่ นไขการตัดสิ นใจของ Visual Basic คําสั่ ง
If…Then
ความหมาย เป็ นคําสัง่ เงื่อนไขการตัดสิ นใจ แบบเลือก ทํา-ไม่ทาํ รู ปแบบ If นิพจน์ตรรกะ Then คําสัง่ ตัวอย่ างที่ 1 แบบมีการประมวลผลหลังเงื่อนไขเป็ นจริ งเพียงคําสัง่ เดียว If X < 10 Then Y=Y+X คําอธิบาย ถ้า X น้อยกว่า 10 เป็ นจริ ง จะประมวลผลให้ Y เท่ากับ Y บวก X ตัวอย่ างที่ 2 แบบมีการประมวลผลหลังเงื่อนไขเป็ นจริ งมากกว่า 1 คําสัง่
If X Then Y=Y+X Z=X -Y End If คําอธิบาย ถ้า X เป็ น(True)จริ ง จะประมวลผลให้ Y = Y + X และ Z = X - Y รู ปแบบผังงาน รู ปแบบผังงาน True(จริ ง)
ตรวจสอบ
False(เท็จ)
คําสั่ ง
1. กดแป้ นพิมพ์ F5 (Run โปรแกรม หรื อคลิก ที่แถบเครื่ องมือด้านบน) 2. จะปรากฏ กล่องแสดงข้อความ “คุณมีอายุ 40 ปี ”
3. ทดลองเปลี่ยนเป็ น Old = 50 และ Run โปรแกรมอีกครั้ง จะไม่ปรากฏกล่องแสดงข้อความ
คําสั่ ง
If…Then…Else
ความหมาย เป็ นคําสัง่ เงื่อนไขการตัดสิ นใจ แบบเลือก ทําอย่างใดอย่างหนึ่ง รู ปแบบ If นิพจน์ตรรกะ Then คําสัง่ 1 Else คําสัง่ 2 End If ตัวอย่ าง If Old = 50 Then
MsgBox “คุณมีอายุ 50 ปี ” Else MsgBox “คุณมีอายุไม่เท่ากับ 50 ปี ” End If คําอธิบาย ถ้า ค่าใน Old เท่ากับ 50 จะแสดงข้อความ “คุณมีอายุ 50 ปี ” ถ้าไม่เช่นนั้นให้แสดง ข้อความ “คุณมีอายุไม่เท่ากับ 50 ปี ” รู ปแบบผังงาน True(จริ ง)
ตรวจสอบ
False(เท็จ)
คําสั่ ง 2
คําสั่ ง 1
ตัวอย่ างโปรแกรมแบบเงื่อนไข If…Then…Else ขั้นตอนมีดังนี้ 1. เข้าโปรแกรม Visual Basic 2. คลิกที่ Program > Microsoft Visual Basic6.0 > 3. เลือก Standard EXE คลิกที่ 4. กําหนดคําสัง่ ตามเหตุการณ์เมื่อเกิดเหตุการณ์ Form Load (เมื่อฟอร์มถูกเรี ยกให้ทาํ งาน) 5. ดับเบิลคลิกบนพื้นที่ของ Form1 จะปรากฏหน้าต่างรหัสโปรแกรม(Code) 6. คลิกเลือกเหตุการณ์ Load 7. พิมพ์คาํ สัง่ ดังต่อไปนี้ 6
10
8. กดแป้ นพิมพ์ F5 (Run โปรแกรม หรื อคลิก ที่แถบเครื่ องมือด้านบน) 9. จะปรากฏ กล่องแสดงข้อความ “คุณมีอายุ 50 ปี ”
10. ทดลองเปลี่ยนเป็ น Old = 40 และ Run โปรแกรมอีกครั้ง จะปรากฏกล่องแสดงข้อความ “คุณมีอายุไม่เท่ากับ 50 ปี ”
11. คําสั่ ง
If…Then…Else If
ความหมาย เป็ นคําสัง่ เงื่อนไขการตัดสิ นใจ เลือกทําแบบหลายทางเลือก รู ปแบบ If นิพจน์ตรรกะ Then คําสัง่ 1 ElseIf นิพจน์ตรรกะ Then คําสัง่ 2 ElseIf นิพจน์ตรรกะ Then คําสัง่ N Else คําสัง่ ถ้าไม่มีเงื่อนไขใดเป็ นจริ ง End If ตัวอย่ าง If Choice = 1 Then MsgBox "คุณเลือกตัวเลือก 1" ElseIf Choice = 2 Then MsgBox "คุณเลือกตัวเลือก 2" ElseIf Choice = 3 Then MsgBox "คุณเลือกตัวเลือก 3" Else MsgBox "ไม่มีในตัวเลือกที่กาํ หนด" End If คําอธิบาย ถ้า ค่าใน Choice เท่ากับเงื่อนไขใด จะแสดงข้อความ ใต้เงื่อนไขนั้น ถ้าไม่ตรงกับ
เงื่อนไขใดเลย จะแสดงข้อความ “ไม่มีในตัวเลือกที่กาํ หนด” ตัวอย่ างโปรแกรมแบบเงื่อนไข If…Then…ElseIf ขั้นตอนมีดังนี้ 1. เข้าโปรแกรม Visual Basic 2. คลิกที่ Program > Microsoft Visual Basic6.0 > 3. เลือก Standard EXE คลิกที่ 4. กําหนดคําสัง่ ตามเหตุการณ์เมื่อเกิดเหตุการณ์ Form Load (เมื่อฟอร์มถูกเรี ยกให้ทาํ งาน) 5. ดับเบิลคลิกบนพื้นที่ของ Form1 จะปรากฏหน้าต่างรหัสโปรแกรม(Code) 6. คลิกเลือกเหตุการณ์ Load 7. พิมพ์คาํ สัง่ ดังต่อไปนี้
6
10
8. กดแป้ นพิมพ์ F5 (Run โปรแกรม หรื อคลิก ที่แถบเครื่ องมือด้านบน) 9. จะปรากฏ กล่องแสดงข้อความ “คุณเลือกตัวเลือก 1”
10. ทดลองเปลี่ยนค่า Choice ดังนี้ และ Run โปรแกรมอีกครั้ง จะปรากฏกล่องแสดงข้อความ Choice = 2 Choice = 3 Choice = 7
คําสั่ ง
Select…Case
ความหมาย เป็ นคําสัง่ เงื่อนไขการตัดสิ นใจเลือกทําแบบหลายทางเลือก นิยมใช้ในกรณี ที่เงื่อนไข การตัดสิ นใจขึ้นอยูก่ บั ตัวแปรเพียงตัวเดียว รู ปแบบ Select Case นิพจน์ Case ค่าแรกในช่วงที่เปรี ยบเทียบ To ค่าสุ ดท้ายในช่วงที่เปรี ยบเทียบ คําสัง่ ที่ 1 Case ค่าแรกในช่วงที่เปรี ยบเทียบ To ค่าสุ ดท้ายในช่วงที่เปรี ยบเทียบ คําสัง่ ที่ 2 Case ค่าแรกในช่วงที่เปรี ยบเทียบ To ค่าสุ ดท้ายในช่วงที่เปรี ยบเทียบ คําสัง่ ที่ N Case Else คําสัง่ ถ้าไม่ตรงกับเงื่อนไขใดๆ End Select ตัวอย่ าง Select Case Score Case 80 To 100 MsgBox "คุณได้เกรด 4" Case 70 To 79 MsgBox "คุณได้เกรด 3"
Case 60 To 69 MsgBox "คุณได้เกรด 2" Case 50 To 59 MsgBox "คุณได้เกรด 1" Case Else MsgBox "คะแนนที่ป้อนไม่อยูใ่ นช่วงการตัดเกรด" End Select คําอธิบาย ถ้า ค่าใน Score อยูใ่ นช่วงของ Case ใด จะแสดงข้อความ ใต้ Case นั้น ถ้าไม่ตรงกับ Case ใดเลย จะแสดงข้อความ "คะแนนที่ป้อนไม่อยูใ่ นช่วงการตัดเกรด" รู ปแบบผังงาน ตรวจสอบเงื่อนไขกับ
ค่าที 1
ค่าที 2
ค่าที 3
ค่าที N
คําสั่ ง 1
คําสั่ ง 2
คําสั่ ง 3
คําสั่ ง N
ตัวอย่ างโปรแกรมแบบเงื่อนไข Select…Case ขั้นตอนมีดังนี้ 1. เข้าโปรแกรม Visual Basic 2. คลิกที่ Program > Microsoft Visual Basic6.0 > 3. เลือก Standard EXE คลิกที่ 4. กําหนดคําสัง่ ตามเหตุการณ์เมื่อเกิดเหตุการณ์ Form Load (เมื่อฟอร์มถูกเรี ยกให้ทาํ งาน) 5. ดับเบิลคลิกบนพื้นที่ของ Form1 จะปรากฏหน้าต่างรหัสโปรแกรม(Code) 6. คลิกเลือกเหตุการณ์ Load 7. พิมพ์คาํ สัง่ ดังต่อไปนี้
6
8. กดแป้ นพิมพ์ F5 (Run โปรแกรม หรื อคลิก ที่แถบเครื่ องมือด้านบน) 9. จะปรากฏ กล่องรับข้อความ ให้นกั ศึกษาพิมพ์ 55 แล้วคลิกปุ่ ม
10. จะปรากฏกล่องแสดงข้อความเกรดที่ได้ ตามช่วงคะแนนที่ป้อนดังนี้ พิมพ์ 55 แล้วคลิกที่ปุ่ม
พิมพ์ 60 แล้วคลิกที่ปุ่ม
พิมพ์ 75 แล้วคลิกที่ปุ่ม
พิมพ์ 83 แล้วคลิกที่ปุ่ม
พิมพ์ 120 แล้วคลิกที่ปุ่ม