วันอาทิตย์ที่ 18 กรกฎาคม พ.ศ. 2553
ตัวแปร(Variable)
การเขียนโปรแกรมคอมพิวเตอร์ทุกภาษาต้องเกี่ยวข้องกับตัวแปร(Variable) ชนิดของข้อมูลในวิชวลเบสิคมีหลายชนิดได้แก่
การเขียนโปรแกรมคอมพิวเตอร์ทุกภาษาต้องเกี่ยวข้องกับตัวแปร(Variable) ชนิดของข้อมูลในวิชวลเบสิคมีหลายชนิดได้แก่
- 1. กลุ่มของชนิดข้อมูลที่เป็นตัวเลข ได้แก่ Byte, Integer, Long, Single และ Double ซึ่งแต่ละชนิดมีรายละเอียดดังนี้
- Byte เป็นชนิดของข้อมูลซึ่งเป็นจำนวนเต็มมีค่าตั้งแต่ 0-255 ใช้หน่วยความจำ 1 ไบต์
- Integer เป็นข้อมูลชนิดจำนวนเต็มมีค่าตั้งแต่ -32,768 ถึง 32,767 ใช้หน่วยความจำ 2 ไบต์
- Long เป็นข้อมูลชนิดจำนวนเต็มมีค่าตั้งแต่ -2,147,483,648 ถึง 2,147,483,647 ใช้หน่วยความจำ 4 ไบต์
- Single เป็นข้อมูลชนิดจำนวนจริงมีค่าตั้งแต่ -3.402823E+38 ถึง -4.94065E-45 และส่วนที่เป็นจำนวนจริงบวกมีค่าตั้งแต่ 1.40129E-45 ถึง 3.402823E+38 ใช้หน่วยความจำ 4 ไบต์
- Double เป็นข้อมูลชนิดจำนวนจริงมีค่าตั้งแต -1.797693134862316E+308 ถึง -4.94065E-324 และส่วนที่เป็นจำนวนจริงบวกมีค่าตั้งแต่ 4.94065E-324 ถึง 1.797693134862316E+308 ใช้หน่วยความจำ 8 ไบต์
- Integer เป็นข้อมูลชนิดจำนวนเต็มมีค่าตั้งแต่ -32,768 ถึง 32,767 ใช้หน่วยความจำ 2 ไบต์
- 2. เป็นข้อมูลชนิดที่เป็นตรรกะ ได้แก่ Boolean มี 2 ค่า คือ จริง และเท็จ
- 3. เป็นข้อมูลชนิดที่เกี่ยวกับการเงิน ได้แก่ Currency
- 4. เป็นข้อมูลชนิดที่เป็นตัวอักษรหรือข้อความ ได้แก่ String
- 5. ชนิดข้อมูลที่เป็นวันที่ ได้แก่ Date
- 6. กลุ่มข้อมูลที่กำหนดโดยผู้ใช้
- 3. เป็นข้อมูลชนิดที่เกี่ยวกับการเงิน ได้แก่ Currency
รูปแบบของการประกาศตัวแปรเป็นดังนี้
Dim ชื่อของตัวแปร AS ชนิดของตัวแปร
คำสั่งแบบมีการตัดสินใจ(Selection หรือ Decision Statement)
เป็นคำสั่งเพื่อเลือกทำงานสำหรับเงื่อนไขหรือกรณีใดๆมี2 คำสั่งคือ
- 1. คำสั่ง IF มีหลายแบบคือ
- if..... then
- if.....then.....end if
- if.....then.....else.....end if
- if.....then.....elseif.....else.....endif
- 2. คำสั่ง Select case.....end select
- if..... then
โปรแกรมย่อยและฟังก์ชั่น(Subroutines and Functions)
เป็นส่วนสำคัญที่ช่วยแบ่งโค๊ดโปรแกรมให้เล็กลง ลดความซับซ้อน ดูและแก้ไขได้ง่าย
- Subหรือ Subroutine เป็นโปรแกรมย่อยที่ไม่มีการส่งค่ากลับ มีรูปแบบดังนี้
- [Private|Public] [Static] Sub <ชื่อของโปรแกรมย่อย> (พารามิเตอร์ที่ส่งมา)
- [Private|Public] [Static] Sub <ชื่อของโปรแกรมย่อย> (พารามิเตอร์ที่ส่งมา)
- 'ชุดคำสั่ง
- [exit sub]
- End Sub
- โดย
- End Sub
- Private หรือ Public เป็นการประกาศขอบเขตของโปรแกรมย่อย
- Static เป็นการกำหนดให้ค่าในตัวแปรยังคงอยู่ถึงแม้จะออกจากโปรแกรมย่อยแล้ว
- Exit Sub เมื่อพบคำสั่งนี้จะเป็นการออกจากคำสั่งย่อย
- End Sub เป็นคำสั่งจบการทำงานของโปรแกรมย่อย
- Static เป็นการกำหนดให้ค่าในตัวแปรยังคงอยู่ถึงแม้จะออกจากโปรแกรมย่อยแล้ว
- Function เป็นโปรแกรมย่อยที่มีการส่งค่ากลับมา มีรูปแบบดังนี้
- [Private|Public] [Static] Function <ชื่อของโปรแกรมย่อย> (พารามิเตอร์ที่ส่งมา) as type
- [Private|Public] [Static] Function <ชื่อของโปรแกรมย่อย> (พารามิเตอร์ที่ส่งมา) as type
- 'ชุดคำสั่ง
- [exit sub]
- End Sub
- โดย
- End Sub
- Private หรือ Public เป็นการประกาศขอบเขตของโปรแกรมย่อย
- Static เป็นการกำหนดให้ค่าในตัวแปรยังคงอยู่ถึงแม้จะออกจากโปรแกรมย่อยแล้ว
- as type เป็นชนิดของข้อมูลที่ฟังก์ชั่นส่งกลับมา
- Exit Sub เมื่อพบคำสั่งนี้จะเป็นการออกจากคำสั่งย่อย
- End Sub เป็นคำสั่งจบการทำงานของโปรแกรมย่อย
- Static เป็นการกำหนดให้ค่าในตัวแปรยังคงอยู่ถึงแม้จะออกจากโปรแกรมย่อยแล้ว
- นิพจน์บูลีน(Boolean Expression)
- นิพจน์ จะต้องมีเครื่องหมายในการคำนวณ หรือตัวดำเนินการ(Operator) และตัวถูกดำเนินการ(Operand) เข้ามาเกี่ยวข้อง มี 3 ชนิดคือ
- นิพจน์ จะต้องมีเครื่องหมายในการคำนวณ หรือตัวดำเนินการ(Operator) และตัวถูกดำเนินการ(Operand) เข้ามาเกี่ยวข้อง มี 3 ชนิดคือ
- 1. เครื่องหมายคณิตศาสตร์ได้แก่ +, -, *, /, Mod, ^(ยกกำลัง)
- 2. เครื่องหมายเปรียบเทียบได้แก่ <, <=, >, >=, =, <>
- 3. เครื่องหมายตรรกะวิทยาได้แก่ AND, OR, NOT
- 2. เครื่องหมายเปรียบเทียบได้แก่ <, <=, >, >=, =, <>
- ผลลัพธ์ที่ได้จาการใช้เครื่องหมายตรรกะวิทยา
- T And T = T
- T And F = F
- F And F = F
- F And T = F
- T Or T = T
- T Or F = T
- F Or T = T
- F Or F = F
- Not T = F
- Not F = T
- T And F = F
ลำดับความสำคัญคัญหรือลำดับก่อนหลังในการคำนวณ
- [^(ยกกำลัง)] คำนวณจากซ้ายไปขวา
- [-(Unary), Not] คำนวณจากขวาไปซ้าย
- [*, /] คำนวณจากซ้ายไปขวา
- [\] คำนวณจากซ้ายไปขวา
- [MOD] คำนวณจากซ้ายไปขวา
- [+, -] คำนวณจากซ้ายไปขวา
- [=] คำนวณจากซ้ายไปขวา
- [<>] คำนวณจากซ้ายไปขวา
- [<] คำนวณจากซ้ายไปขวา
- [>] คำนวณจากซ้ายไปขวา
- [<=] คำนวณจากซ้ายไปขวา
- [>=] คำนวณจากซ้ายไปขวา
- [AND] คำนวณจากซ้ายไปขวา
- [OR] คำนวณจากซ้ายไปขวา
คำสั่งแบบทำซ้ำ (Loop หรือ Repetition Statement)
- คำสั่ง For.....Next
- รูปแบบคำสั่ง
- For ตัวแปร = ค่าเริ่มต้น TO ค่าสุดท้าย Step ค่าที่เพิ่มขึ้นหรือลดลงแต่ละครั้ง
- รูปแบบคำสั่ง
- Statement
- Next ตัวแปร
- คำสั่ง DO While.....Loop
- เป็นคำสั่งให้ทำชุดคำสั่งข้างในขณะที่เงื่อนไขเป็นจริง มีรูปแบบดังนี้
- Do While เงื่อนไขในการตรวจสอบว่าต้องเป็นจริง
- คำสั่ง DO While.....Loop
- ชุดคำสั่ง
- Loop
- คำสั่ง DO UNTIL....LOOP
- เป็นคำสั่งให้ทำงานตามชุดคำสั่งข้างในจนกระทั่งพบเงื่อนไขเป็นจริงจึงหยุดทำ มีรูปแบบคำสั่งดังนี้
- DO UNTIL เงื่อนไขในการตรวจสอบว่าต้องเป็นจริง
- คำสั่ง DO UNTIL....LOOP
- ชุดคำสั่ง
- LOOP
- คำสั่ง DO.....LOOP WHILE
- เหมือนคำสั่ง DO WHILE....LOOP แต่ต่างกันที่ DO WHILE...LOOP จะมีการตรวจสอบเงื่อนไขก่อนแล้วจึงทำชุดคำสั่ง แต่ DO …..LOOP WHILE จะทำคำสั่งในครั้งแรกก่อนเลย แล้วค่อยตรวจสอบ มีรูปแบบคำสั่งดังนี้
- DO
- คำสั่ง DO.....LOOP WHILE
- ชุดคำสั่ง
- LOOP WHILE เงื่อนไขในการตรวจสอบว่าต้องเป็นจริง
- คำสั่ง DO.....LOOP UNTIL
- การทำงานจะเหมือน DO UNTIL....LOOP แต่ ต่างกันที่การตรวจสอบเงื่อนไขในครั้งแรกเท่านั้น มีรูปแบบดังนี้
- DO
- คำสั่ง DO.....LOOP UNTIL
- ชุดคำสั่ง
- LOOP UNTIL เงื่อนไขในการตรวจสอบว่าต้องเป็นจริง
- ข้อมูลชนิดอาร์เรย์(Array)
- เป็นชุดของตัวแปรที่มีชื่อเหมือนกันและมีชนิดของข้อมูลเหมือนกันเหมาะสำหรับเก็บข้อมูลที่มีชนิดเดียวกันมากๆ
- อาร์เรย์ยังสามารถแบ่งเป็น 1 มิติ, 2 มิติ, 3 มิติ และมากกว่า 3 มิติ มีรูปแบบของการประกาศตัวแปรดังนี้
- ข้อมูลชนิดอาร์เรย์(Array)
- Dim ชื่อตัวแปร(จำนวนค่า) As ชนิดข้อมูล
- Dim ชื่อตัวแปร(จำนวนค่า, จำนวนค่า) As ชนิดข้อมูล <2 มิติ >
- Dim ชื่อตัวแปร(จำนวนค่า, จำนวนค่า, จำนวนค่า) As ชนิดข้อมูล <3 มิติ >
- Dim ชื่อตัวแปร(จำนวนค่า, จำนวนค่า) As ชนิดข้อมูล <2 มิติ >
- ตัวแปรแบบที่กำหนดขึ้นเอง(Type)
- เป็นตัวแปรที่ผู้ใช้สามารถกำหนดขึ้นเองได้มีรูปแบบดังนี้
- Type <ชื่อ Type>
- เป็นตัวแปรที่ผู้ใช้สามารถกำหนดขึ้นเองได้มีรูปแบบดังนี้
- <การประกาศค่าตัวแปร>
- End Type
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
0 ความคิดเห็น:
แสดงความคิดเห็น