1 / 36

Chapter 5 Variable Data & Operator

Chapter 5 Variable Data & Operator. SUCHADA PUNNOI Dept. of Computer Science & Information Technology http :// computer . pcru . ac . th / KuBo/. Variable : ตัวแปร.

bree
Télécharger la présentation

Chapter 5 Variable Data & Operator

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter5Variable Data &Operator SUCHADA PUNNOI Dept. of Computer Science & Information Technology http://computer.pcru.ac.th/KuBo/

  2. Variable : ตัวแปร • ไม่ว่าโปรแกรมประยุกต์ใด ภาษาใด สิ่งที่ต้องรู้เป็นอันดับแรกๆ ก็คือ ตัวแปร ค่าคงที่และ ชนิดของข้อมูล ของภาษานั้น ๆ ซึ่งจะทำให้เห็นข้อจำกัดต่างๆ ในภาษานั้น ๆ ทำให้สามารถใช้งานได้อย่างถูกต้อง และมีประสิทธิภาพ เพราะตัวแปรและค่าคงที่ถือได้ว่าเป็นตัวแทนของข้อมูล ที่จะต้องนำไปใช้งาน ประมวลผล และแสดงสิ่งที่ได้จากการประมวลผล • ทำไมต้องประกาศตัวแปร • เพื่อการทำงานที่ถูกต้องของโปรแกรม • เมนู Tools Option… Editor •  Require Variable Declaration • จะได้ Option Explicit ใน View Code

  3. การประกาศตัวแปรและค่าคงที่การประกาศตัวแปรและค่าคงที่ Dim variable_name As Data_Type Const const_name = Value เช่น Dim data1 As Integer Const pi = “3.1414”

  4. การประกาศตัวแปร (Declarations) การประกาศตัวแปรใน VB สามารถแยกได้ 2 แบบคือ 1.การประกาศตัวแปรแบบ Implicit Declaration หมายถึง VB ยอมให้คุณใช้งานตัวแปรได้ โดยไม่ต้องมีการประกาศตัวแปร ชนิดของข้อมูลที่ได้จะเป็นแบบ Variant 2.การประการตัวแปรแบบ Explicit Declaration หมายถึง คุณจะต้องมีการประกาศตัวแปรก่อนการใช้งานทุกครั้ง แล้วจึงสามารถนำตัวแปรนั้นๆ ไปใช้งานได้

  5. ตัวอย่าง การประกาศ • กรณีที่ต้องการกำหนดให้มีการประกาศตัวแปรทุกครั้งก่อนที่จะมีการเรียกใช้ตัวแปร เพื่อหลีกเลี่ยงการใช้ตัวแปรชนิด Variant ให้พิมพ์คำสั่ง Option Explicit ไว้ข้างบนสุดก่อนพิมพ์คำสั่งอื่น ๆ

  6. กฎการตั้งชื่อตัวแปร • ขึ้นต้นด้วยพยัญชนะเท่านั้น • ความยาวของชื่อที่ตั้งสูงสุดไม่เกิน 255 ตัวอักษร • ชื่อที่ตั้ง ต้องไม่ซ้ำกันคำสงวน (Keywords) คำสั่ง (Statements) ฟังก์ชัน (Functions) หรืออื่น ๆ ที่ Visual Basic กำหนดไว้ • ห้ามตั้งชื่อซ้ำกันในโพรซีเดอร์เดียวกัน หรือในขอบเขตเดียวกัน • ห้ามใช้เครื่องหมายทางคณิตศาสตร์, ตัวดำเนินการ (Operators) หรือ เครื่องหมายพิเศษ เช่น @, # มาตั้งชื่อ • ห้ามมีช่องว่างในชื่อตัวแปรถ้าต้องการเว้นว่างให้ใช้เครื่องหมาย _ (Underscore) เท่านั้น

  7. Type of Data

  8. Type of Data (ต่อ)

  9. Type of Data (ต่อ)

  10. การใช้งานตัวแปรแบบใช้สัญลักษณ์พิเศษกำกับการใช้งานตัวแปรแบบใช้สัญลักษณ์พิเศษกำกับ • คุณยังสามารถใช้งานตัวแปรได้ โดยการใช้สัญลักษณ์พิเศษต่อท้ายตัวแปรนั้นๆ ให้คุณดูตารางต่อไปนี้

  11. การใช้งานตัวแปรแบบใช้สัญลักษณ์พิเศษกำกับการใช้งานตัวแปรแบบใช้สัญลักษณ์พิเศษกำกับ • การประกาศใช้งานตัวแปรแบบปกติ ถ้าคุณต้องการตัวแปรแบบ Integer คุณจะต้องประกาศ ดังนี้ Dim x As Integerหมายถึง ให้ตัวแปร x เก็บข้อมูลชนิดเลขจำนวนเต็ม แต่คุณสามารถใช้สัญลักษณ์พิเศษต่อท้ายตัวแปรเพื่อ กำหนดให้ตัวแปรแทนชนิดของข้อมูลที่คุณ ต้องการได้ ซึ่งถ้าคุณใช้วิธีนี้ คุณต้องใช้ตลอดทั้งโพรซีเดอร์ เช่น Dim x%หมายถึง ให้ตัวแปร x เก็บข้อมูลชนิดเลขจำนวนเต็ม Integer เช่นกันDim x&หมายถึง ให้ตัวแปร x เก็บข้อมูลชนิดเลขจำนวนเต็ม Long Dim x!หมายถึง ให้ตัวแปร x เก็บข้อมูลชนิดเลขทศนิยมแบบ Single (ความละเอียดต่ำ)Dim x#หมายถึง ให้ตัวแปร x เก็บข้อมูลชนิดเลขทศนิยมแบบ Double (ความละเอียดสูง)Dim x@หมายถึง ให้ตัวแปร x เก็บข้อมูลชนิดเลขทางการเงิน Currency Dim x$หมายถึง ให้ตัวแปร x เก็บข้อมูลชนิดข้อความ String

  12. Operators : ตัวดำเนินการ • ตัวดำเนินการใน Visual Basic (Operators) คือ เครื่องหมายสำหรับกระทำกับข้อมูลอย่างน้อยที่สุด 2 ชุดมากระทำอย่างใดอย่างหนึ่ง เช่น บวก ลบ เชื่อมต่อ เปรียบเทียบ ทดสอบค่า เป็นต้น ซึ่งสามารถแบ่งได้ 4 ประเภท ดังนี้

  13. Arithmetic Operators • ตัวดำเนินการด้านคณิตศาสตร์ (Arithmetic Operators) • คือเครื่องหมายทางคณิตศาสตร์ใช้สำหรับการคำนวณตัวเลข ดังตาราง

  14. รายละเอียดของตัวดำเนินการทางคณิตศาสตร์รายละเอียดของตัวดำเนินการทางคณิตศาสตร์ การบวก, ลบ, คูณ, หาร เป็นไปตามกฏทางคณิตศาสตร์ ที่น่าสนใจคือ • การหารจำนวนเต็ม หมายถึง จะเอาแต่เฉพาะเลขที่เป็นจำนวนเต็มเท่านั้น ส่วนเศษ จะปัดทิ้ง เช่น 10\6=1.6666 แต่จะได้ผลลัพธ์เท่ากับ 1 แม้ว่า .6666 จะเกินครึ่งก็ตาม ไม่มีการปัดเศษแต่อย่างใด • การ Mod หมายถึง จะเอาแต่เศษที่เหลืออยู่จากการ Mod เช่น10 Mod 3 =1 เนื่องจาก 10 หาร 3 ไม่ลงตัว เหลือเศษ 1 จึงได้ผลลัพธ์ 1, 20 Mod 6 =2 (เหลือเศษ 2 นั่นเอง)

  15. Logical Operator • ตัวดำเนินการทางด้านตรรกะ (Logical Operator)คือเครื่องหมายสำหรับตรวจสอบเงื่อนไขระหว่างกลุ่มนิพจน์ โดยจะให้ผลลัพธ์เป็นจริง (True) และเป็นเท็จ (False) หรือสร้างเงื่อนไขขึ้นมาเพื่อทดสอบกรณีต่าง ๆ ดังตาราง

  16. ตัวดำเนินการทางด้านตรรกะ(Logical Operator)

  17. Comparison Operators • ตัวดำเนินการทางด้านการเปรียบเทียบ (Comparison Operators)เครื่องหมายที่ใช้สำหรับเปรียบเทียบนิพจน์ 2 นิพจน์ เพื่อทดสอบ หรือสร้างเงื่อนไข โดยจะให้ผลลัพธ์เป็นจริง (True) และเป็นเท็จ (False) มักจะใช้คู่กับตัวดำเนินการทางด้านตรรกะ เพื่อตรวจสอบเงื่อนไขต่าง ๆ เสมอ ดังตาราง

  18. Concentration Operators • ตัวดำเนินการทางด้านการเชื่อมข้อความ (Concentration Operators)เครื่องหมายที่ใช้สำหรับเชื่อมข้อความตั้งแต่ 2 ข้อความเข้าด้วยกัน แต่ยังมีกรณียกเว้นที่จะเป็นการบวกกันของนิพจน์ 2 นิพจน์ ซึ่งขึ้นอยู่กับชนิดของนิพจน์ที่จะมากระทำกัน ดังตาราง

  19. ลำดับการคำนวณ

  20. ขอบเขตของตัวแปร(Scope ofvariable) • ใน Visual Basic สามารถแบ่งขอบเขตตัวแปรได้ 2 ประเภท คือ • ตัวแปรแบบโลคอล (Local) • ตัวแปรแบบโกลบอล (Global) • Private ใช้ได้ทุกโปรแกรมย่อยใน Form ที่ประกาศ • Public ใช้ได้ทุกโปรแกรมย่อยในโปรแกรม

  21. Variable : ตัวแปร • ขอบเขตของตัวแปร (ต่อ) • ขอบเขต (Scope) หรือการมองเห็น ของตัวแปร เป็นการระบุเข้าถึงตัวแปร เช่น ตัวแปรที่กำหนดเป็น public สามารถอ่านและเขียนได้จากทุกส่วนของโปรแกรม แต่ถ้ากำหนดตัวแปรเป็น private จะเข้าถึงได้เฉพาะภายในโมดูล

  22. ตัวแปร Global • หมายถึง ตัวแปร global สามารถอ่านและนำไปใช้จากทุกส่วนในโปรแกรม • ในส่วนการประกาศของ โมดูล BAS • Public UserCount as Long • ในส่วนการประกาศของฟอร์ม • Public CustomerName As String

  23. ตัวแปร Local • เป็นการประกาศภายใน procedure และมีขอบเขตเฉพาะภายใน procedure อายุของตัวแปรขึ้นกับ procedure โดยทุกครั้งที่ประมวลผล procedure จึงจะมีการสร้างตัวแปร เมื่อออกจาก procedure ตัวแปรจะถูกลบหน่วยความจำ • เช่น Sub Print_Invoice ( )Dim text As String'…End Sub

  24. ตัวแปร Public • หมายถึง ตัวแปรที่ประกาศขึ้นในส่วนบนหลัง Option Explicit ทำให้สามารถเรียกใช้งานได้ทุกโพรซีเดอร์ในฟอร์มนั้น กรณีที่ประกาศตัวแปรแบบ Public ใน Module จะทำให้ตัวแปรนั้นสามารถเรียกใช้งานได้จากทุกฟอร์ม • ตัวอย่าง Option Explicit        Dim x as Integer        Dim y as Integer        Private Sub AddNum_Click( )                x = 5                y = 6                x = x + y        End Sub        Private Sub DelNum_Click( )                x = x - y        End Sub จากตัวอย่าง ตัวแปร x และ y ถูกประกาศในถัดจาก Option Explicit ก่อน Sub AddNum ทำให้ตัวแปร x และ y ใน Sub AddNum และ Sub DelNum เป็นตัวแปรตัวเดียวกัน

  25. ตัวอย่างแสดง Scope ของตัวแปรทุกชนิด คำอธิบาย

  26. ตัวแปรอาร์เรย์ (Array) • ตัวแปรอาร์เรย์ เป็นกลุ่มของตัวแปรที่ประกาศขึ้นมา โดยใช้ชื่อของเดียวใช้ค่า Index ในการอ้างถึง ประโยชน์ของตัวแปรชนิดนี้คือ กรณีที่ต้องการมีการใช้ตัวแปรจำนวนมาก การประกาศตัวแปรสามารถประกาศเพียงชื่อเดียว ลดความซ้ำซ้อนของตัวแปร และทำให้ง่ายต่อการเรียกใช้ มีรูปแบบการประกาศดังนี้

  27. รูปแบบการประกาศตัวแปรอาร์เรย์ (Array) Dim Varname(amount) as Datatype

  28. ชนิดของตัวแปรอาร์เรย์ (Array) • ตัวแปรอาร์เรย์แบ่งออกได้ 2 ชนิด คือ 1. ตัวแปรอาร์เรย์แบบสแตติก (Static Arrays) 2. ตัวแปรอาร์เรย์แบบไดนามิก (Dynamic Arrays)

  29. ตัวแปรอาร์เรย์แบบสแตติก (Static Arrays) • เป็นอาร์เรย์ที่มีการระบุจำนวนสมาชิกเมื่อมีการประกาศตัวแปร จะใช้อาร์เรย์ชนิดนี้ในกรณีที่ทราบจำนวนสมาชิกของอาร์เรย์ที่แน่นอน • ตัวอย่าง Dim vprint (10) as String จากตัวอย่างเป็นการประกาศตัวแปรอาร์เรย์ชื่อ vprint ให้มีจำนวนสมาชิกทั้งสิ้น 10 และ เป็นข้อมูลชนิดตัวอักษร ในการอ้างถึงตัวแปรให้ทำการระบุ Index หรือลำดับที่ของสมาชิก โดยสมาชิกตัวแรกให้ระบุ Index เป็น 0 เช่น เมื่อต้องการอ้างถึงสมาชิกตัวแรกสุดให้ระบุเป็น vprint(0)สมาชิกตัวที่ 7 ให้ระบุเป็น vprint(6) สมาชิกตัวสุดท้ายระบุเป็น vprint(9)

  30. ตัวแปรอาร์เรย์แบบไดนามิก (Dynamic Arrays) • เป็นอาร์เรย์ที่ไม่มีการระบุจำนวนสมาชิกเมื่อมีการประกาศตัวแปร เนื่องจากไม่ทราบจำนวนสมาชิกที่แน่นอน • ตัวอย่าง        Dim ccode( ) as String • จากตัวอย่างเป็นการประกาศตัวแปรอาร์เรย์ชื่อ ccode โดยไม่ระบุจำนวนสมาชิก และเป็นข้อมูลชนิดตัวอักษร เมื่อต้องการใช้งานตัวแปรจะต้องระบุจำนวนสมาชิกให้กับตัวแปรอาร์เรย์ โดยใช้คำสั่งดังนี้ Redim ccode(5) • จากตัวอย่างเป็นการกำหนดให้ตัวแปรอาร์เรย์ ccode ที่ได้ประกาศไว้แล้วให้มีจำนวนสมาชิก 5

  31. ข้อดีของตัวแปรอาร์เรย์แบบไดนามิกคือ จำนวนสมาชิกของอาร์เรย์จะถูกกำหนดให้มีความเหมาะสมต่อการใช้งานเนื่อง เนื่องจากสามารถระบุจำนวนสมาชิกได้ภายหลัง แต่ตัวแปรอาร์เรย์แบบสแตติกจะต้องระบุจำนวนสมาชิกทันทีที่มีการประกาศตัวแปร การสร้างชนิดของตัวแปรขึ้นใช้เอง (User-defined data type) • กรณีที่ต้องการเก็บข้อมูลเป็นชุดแต่ประกอบด้วยข้อมูลหลาย ๆ ชนิด สามารถทำได้โดยการสร้างชนิดข้อมูลพิเศษขึ้นมา โดยนำชนิดของข้อมูลพื้นฐานดังกล่าวทั้งหมดมาสร้างตามที่ต้องการโดยมีรูปแบบดังนี้        [Public I Private] Type Varname               elementname [([subscripts])] As type               [elementname [([subscripts])] As type]               ……        End Type

  32. ตัวอย่าง Type Customer               CustName As String               Address As String               Age As Integer End Type • จากตัวอย่างเป็นการสร้างชนิดข้อมูลขึ้นมาใหม่ โดยให้ชื่อว่า Customer โดยมีตัวแปรย่อย Name Address และ Age เมื่อต้องการใช้งานชนิดข้อมูลดังกล่าวต้องทำการประกาศตัวแปรดังนี้ Dim newcust As Customer เมื่อต้องการเก็บค่าหรือนำค่าไปใช้ให้ใช้คำสั่งดังนี้        newcust.CustName = “ผลทิพย์ ปั้นน้อย"        newcust.Address = “1381 ถ.นวมินทร์ คลองจั่น บางกะปิ กทม”        newcust.Age = 15

  33. การประกาศค่าคงที่ (Constant) • ค่าคงที่ (Constant) หมายถึงข้อมูลที่มีค่าคงที่ไม่มีการเปลี่ยนแปลง ในการประกาศค่าคงที่ต้องใช้คำสั่ง Const เพื่อสร้างค่าคงที่ มีรูปแบบดังนี้ [Public I Private] Const constname [As type] = expression

  34. การประกาศค่าคงที่ (Constant) • ตัวอย่าง               Option Explicit               Const PI As Double = 3.141578               Private Sub cmdCalc_Click( )                      Dim radius As Double                      Dim area As Double                      Radius = CDb(InputBox("กรุณาใส่ค่ารัศมี" , "ใส่ค่า")                      Area = PI * (radius) ^2                      MsgBox "พื้นที่วงกลม = " & Area & " ตารางหน่วย "               End Sub

More Related