1 / 47

Chapter 4

Chapter 4. Data-Variable-Operant. รูปแบบการเขียนโปรแกรม. คำสั่งของภาษา Visual Basic ถูกเขียนไว้คำสั่งละบรรทัดและอยู่ในกรอบของโปรแกรม Private Sub xxxxxxx xxxxxxxxxx xxxxxxxxxx End Sub คำสั่งแต่ละคำสั่งเรียกว่า Statement

kapila
Download Presentation

Chapter 4

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. Chapter 4 Data-Variable-Operant

  2. รูปแบบการเขียนโปรแกรมรูปแบบการเขียนโปรแกรม • คำสั่งของภาษา Visual Basic ถูกเขียนไว้คำสั่งละบรรทัดและอยู่ในกรอบของโปรแกรม Private Sub xxxxxxx xxxxxxxxxx xxxxxxxxxx End Sub • คำสั่งแต่ละคำสั่งเรียกว่า Statement • คำสั่งที่ประกอบด้วยคำสั่งย่อย ๆ รวมกันจะเรียกว่านิพจน์ (Expression) • ตัวอย่างเช่น Result = Num1+Num2

  3. Data & Variable • Data (ข้อมูล) มีมากมายหลายชนิดไม่ว่าจะเป็นข้อความ,ตัวเลข,วันเวลา ฯลฯ โดยข้อมูลนั้นสามารถนำมาคำนวณ เปลี่ยนแปลง หรือประมวลผลในรูปแบบต่าง ๆ ซึ่งจะใช้ตัวแปรทำหน้าที่เก็บค่าของข้อมูลที่เราจะใช้งาน • Variable (ตัวแปร) คือ สิ่งที่ใช้เก็บข้อมูลที่เราจะใช้งานไว้ในหน่วยความจำซึ่งข้อมูลของตัวแปรอาจได้มาจากผู้ใช้ อ่านมาจากไฟล์ หรือค่าของผลลัพธ์จากการคำนวณ ฯลฯ ซึ่งข้อมูลในตัวแปรอาจเปลี่ยนแปลงได้โดยโค้ดในโปรแกรม

  4. ชนิดของข้อมูล • Numeric ข้อมูลที่มีค่าเป็นตัวเลข ทั้งจำนวนเต็มและทศนิยม • String ข้อมูลที่เป็นอักขระ(ตัวอักษรตัวเดียว) และข้อความ • DateTime ข้อมูลในรูปของวันเดือนปีและเวลาหรือมีทั้งสองรูปแบบผสมกัน • Boolean ข้อมูลที่มีค่าเป็นจริง(True) หรือเท็จ (False) ข้อมูลที่จัดเก็บจะเก็บค่าไว้เพียงค่าเดียวทางการเขียนโปรแกรมจะเรียกว่าเป็นชนิดข้อมูลพื้นฐานหรือ Primitive Data Type หรือ Built-In Data Type

  5. ชนิดของข้อมูล (ต่อ) • ในชีวิตประจำวันข้อมูลมักจะมีลักษณะเป็นชุด ดังนั้นข้อมูลจึงมีลักษณะเป็นโครงสร้างด้วยเช่น • โครงสร้างข้อมูลที่เก็บเป็นชุด เป็นการนำข้อมูลพื้นฐานให้ได้มากกว่า 1 ค่ามาจัดทำเป็นโครงสร้างเดียวกัน ทำให้เก็บหลายค่าแต่เป็นชนิดเดียวกัน หรือต่างชนิดกันก็ได้ • Object เป็นโครงสร้างข้อมูลชนิดพิเศษที่ไม่ใช่มีแต่การเก็บข้อมูลชนิดอื่นไว้ภายในเท่านั้น แต่ยังสามารถเก็บความสามารถในการจัดการข้อมูลที่อยู่ภายในไว้ได้ด้วย ซึ่งเป็นที่มาของการเขียนโปรแกรมแบบ Object Oriented Programming : OOP

  6. ชนิดของข้อมูล (ต่อ) • ข้อมูลชนิดจำนวนเต็ม แบ่งเป็นชนิดย่อย ๆ ได้ 8 ชนิดดังตาราง

  7. ชนิดของข้อมูล (ต่อ) • ข้อมูลชนิดเลขทศนิยม • เลขทศนิยมอาจใช้ตัว “E”เพื่ออ้างถึงเลข 10ยกกำลังได้ ดังนั้นระดับความละเอียดในการคำนวณสูง ๆ ทางวิทยาศาสตร์ หรือวิศวกรรม จะใช้ Double

  8. ชนิดของข้อมูล (ต่อ) • ข้อมูลตัวเลข Decimal สามารถใช้เก็บจำนวนเต็มขนาดใหญ่ หรือเก็บทศนิยมที่มีค่าสูง ๆ • ข้อมูลชนิดตรรกะ

  9. ชนิดของข้อมูล (ต่อ) • ข้อมูลชนิดตัวอักษรและข้อความ • ข้อมูลชนิดวันเวลา • ข้อมูลชนิดอื่น

  10. ชนิดของข้อมูล (ต่อ) • ตัวอักษรพิเศษใน VB

  11. สรุป Data Tpye • ข้อมูลแบบเลขจำนวนเต็ม ได้แก่ Byte, SByte, Short, UShort, Integer, UInteger, Longและ Ulong *ข้อมูลแบบคิดเครื่องหมาย(Signed)เก็บได้ทั้งค่าบวก ลบ และศูนย์ เช่น SByte, Short, Integer, Long *ข้อมูลแบบไม่คิดเครื่องหมาย(UnSigned)เก็บได้แค่ค่าบวกและศูนย์เช่น Byte, Ushort, Ulong, และ UInteger • ข้อมูลแบบทศนิยม ได้แก่ Single, Double และ Decimal • ข้อมูลแบบตัวอักษร/ข้อความ ได้แก่ Charและ Stringโดย Char ใช้เก็บอักษร 1ตัวในระบบ Unicodeส่วน Stringใช้เก็บข้อความอาจมีแค่ 1ตัวก็ได้ • ข้อมูลชนิดอื่น ๆ ได้แก่ Boolean (เก็บค่าตรรกะ จริง-เท็จ), Date (เก็บวันเวลา) และ Object

  12. การประกาศตัวแปร • รูปแบบ : Dim ชื่อตัวแปร As ชนิดของข้อมูล • การกำหนดค่าให้กับตัวแปร : ชื่อตัวแปร = ค่าที่กำหนด • กฎการตั้งชื่อตัวแปร • ใช้ตัวอักษรภาษาอังกฤษ ตัวเลข และเครื่องหมาย _ ในการตั้งชื่อได้ • ต้องไม่ซ้ำกับคำสงวนของภาษา Visual Basic .NET • ตัวอักษรตัวแรกของชื่อต้องไม่เป็นตัวเลข • ชื่อตัวแปรห้ามยาวเกิน 1,024 ตัวอักษร

  13. Dim Private as Integer หรือ Dim dim as String เป็นต้น การประกาศตัวแปรใน VB • รูปแบบคำสั่ง Dim คือ Dim ชื่อตัวแปร [as ชนิดตัวแปร]ตัวอย่างเช่น Dim Name As String ‘ประกาศตัวแปร Name เป็นชนิด String Dim Surname As String ‘ประกาศตัวแปร Surname เป็นชนิด String • ในการประกาศตัวแปรใด ๆ ในภาษา VB มีกฏดังนี้ • ต้องขึ้นต้นด้วยตัวอักษร • สามารถผสมด้วยอักษร ตัวเลข หรือเครื่องหมายขีดล่าง ( _ ) เช่น Last_Name • ต้องไม่เกิน 1024 ตัวอักษร • ** ห้ามใช้จุดทศนิยม สัญลักษณ์ทางคณิตศาสตร์ เครื่องหมายทางการ และต้องไม่ซ้ำกับคำเฉพาะที่สงวนไว้ในคำสั่งโปรแกรม เช่น

  14. การประกาศตัวแปรใน VB • หากต้องการประกาศตัวแปรที่มีชนิดเดียวกันสามารถประกาศภายในบรรทัดเดียวกันได้ Dim Score1 As Integer Dim Score2 As Integer Dim Score3 As Integer Dim Score1 as Integer , Score2 as Integer , Score3 as Integer - ข้อความที่อยู่หลังเครื่องหมายคำพูดเดี่ยวจะไม่มีผลต่อการทำงานของโปรแกรม - เครื่องหมาย * ใช้สำหรับประกาศขนาดของตัวแปรได้เช่น Dim a As String * 10 ‘ประกาศตัวแปรแบบ string ชื่อ a มีความยาว 10 ตัวอักษร

  15. การประกาศและใช้งานตัวแปรการประกาศและใช้งานตัวแปร • ไม่จำเป็นต้องประกาศตัวแปรที่ตอนต้นของโปรแกรม ปกติการประกาศตัวแปรไว้ที่ส่วนต้นของโปรแกรมแต่ใน VB สามารถประกาศในจุดใด ๆ ก็ได้ที่ต้องการใช้งาน * การประกาศตัวแปรที่มีการเรียกใช้บ่อยและไม่มีการเปลี่ยนแปลงค่าตลอดทั้งโปรแกรมมักจะตั้งค่าตัวแปรเป็นแบบ ค่าคงที่ (Constant)มีรูปแบบดังนี้ Constชื่อค่าคงที่ Asชนิดข้อมูลของค่าคงที่ = ค่าที่กำหนด ตัวอย่าง Const Pi As Double = 3.14159265

  16. การใช้งาน Option ประกอบการประกาศตัวแปร

  17. การใช้งานตัวดำเนินการการใช้งานตัวดำเนินการ • คำสั่งสำหรับการคำนวณ จะประกอบไปด้วยข้อมูล 2ส่วน คือตัวดำเนินการคั่นกลาง ข้อมูลที่นำมาใช้กับตัวดำเนินการเราเรียกว่า “Operand” c = a + b Operand (a,b) Operand (c) ตัวดำเนินการ(=,+)

  18. การใช้งานตัวดำเนินการ (ต่อ) • ตัวดำเนินการแบ่งได้ 3ประเภทคือ • Unary Operator ตัวดำเนินการที่ใช้ Operandเพียงตัวเดียว • Binary Operator ตัวดำเนินการที่ใช้Operandสองตัว • Ternary Operator ตัวดำเนินการที่ใช้Operandสามตัว • นอกจากนี้ยังแบ่งตัวดำเนินการตามรูปแบบการใช้งานได้ดังนี้ • Arithmetic Operator ตัวดำเนินการเพื่อการคำนวณทางคณิตศาสตร์ • Comparison Operator ตัวดำเนินการเพื่อการเปรียบเทียบ • Logical Operator ตัวดำเนินการเพื่อการคำนวณทางตรรกศาสตร์ • Bitwise Operator ตัวดำเนินการเพื่อการจัดการข้อมูลในระดับบิต • Assignment Operator ตัวดำเนินการเพื่อกำหนดค่าให้กับOperand • Concatenation Operator ตัวดำเนินการเพื่อเชื่อมข้อความ 2 ตัวเข้าด้วยกัน

  19. ลำดับความสำคัญของตัวดำเนินการลำดับความสำคัญของตัวดำเนินการ

  20. ตัวดำเนินการเปรียบเทียบ (Comparison Operator) • ผลการเปรียบเทียบจะได้ผลลัพธ์เป็นจริงหรือเท็จเท่านั้น

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

  22. ตัวดำเนินการในระดับบิต(Bitwise Operator) • ต้องแปลงข้อมูลเป็นเลขฐานสองแล้วจึงใช้ตัวดำเนินการจัดการ

  23. ตัวดำเนินการในการกำหนดค่า(Assignment Operator) • การใช้งานตัวดำเนินการสามารถใช้ได้หลายตัวไม่เฉพาะ = เพียงตัวเดียว

  24. ตัวดำเนินการเชื่อมต่อข้อความ(Concatenation Operator)

  25. ตัวดำเนินการ If • เป็นการเปรียบเทียบค่าสองค่าซึ่งอยู่ใน Operandตัวแรก • ถ้าผลออกมาเป็นจริงให้ดึง Operandตัวที่ 2มาใช้ • ถ้าผลออกมาเป็นเท็จให้ดึง Operandตัวที่ 3มาใช้ ตัวดำเนินการนี้บางครั้งเรียกว่า “Conditional Operator” มีรูปแบบดังนี้ If (เงื่อนไขเปรียบเทียบ, ค่าเมื่อเงื่อนไขเป็นจริง,ค่าเมื่อเงื่อนไขเป็นเท็จ)

  26. ลำดับความสำคัญของตัวดำเนินการลำดับความสำคัญของตัวดำเนินการ

  27. การแปลงชนิดของข้อมูล • วิธีที่ 1 : Implicit Conversion • วิธีที่ 2 :แปลงชนิดของข้อมูลด้วย Data Type Conversion Function • วิธีที่ 3 :แปลงชนิดของข้อมูลด้วยฟังก์ชัน CTpye • วิธีที่ 4 :แปลงชนิดของข้อมูลด้วยออบเจ็กต์ Convert

  28. วิธีที่ 1 :Implicit Conversion • การแปลงชนิดข้อมูลโดยไม่ชัดเจน คือ นำข้อมูลไปประมวลผลในคำสั่งเดียวกันหรือผ่าน Assignment Operator มักใช้แปลงข้อมูลที่เป็นประเภทเดียวกัน เช่น ตัวเลข หรือตัวอักษรเหมือนกัน • Implicit Conversion จะทำงานถูกต้องเมื่อแปลงข้อมูลจากชนิดที่ใช้พื้นที่เก็บขนาดเล็กไปสู่ชนิดที่ใช้พื้นที่เก็บขนาดใหญ่ • แต่จะเกิดการผิดพลาดเมื่อแปลงจากชนิดที่ใช้พื้นที่เก็บขนาดใหญ่ไปสู่ชนิดที่ใช้พื้นที่เก็บขนาดเล็ก

  29. Implicit Conversionหรือ Automatic Type Conversion • ตัวอย่างเช่น 1Dim FirstNum, SecondNum As Double 2FirstNum = TextBox1.Text 3SecondNum = TextBox2.Text 4TextBox3.Text = Ans จากการกำหนดค่าให้ตัวแปรที่นำข้อมูลจาก TextBoxจะเป็นข้อมูลสตริง ถึงแม้จะป้อนเป็นตัวเลขเข้ามาก็ตาม เมื่อไปกำหนดตัวแปรเป็น DoubleVBก็จะทำการแปลงข้อมูลจาก Stringเป็น Double ทันทีในคำสั่งบรรทัด 2,3 ดังนั้น จากคำสั่งในบรรทัด4ข้อมูลในตัวแปร Ansจะถูกแปลงจาก Doubleเป็น Stringโดยอัตโนมัติ เนื่องจากค่าของ object: TextBoxนั้นเก็บค่าเป็นสตริง

  30. การควบคุมการแปลงชนิดข้อมูลอัตโนมัติการควบคุมการแปลงชนิดข้อมูลอัตโนมัติ 4)กดปุ่ม Save เพื่อบันทึกคุณสมบัติของโปรเจ็ค • กำหนดค่าดังนี้ 1)คลิกขวาที่ชื่อโปรเจ็ค 2)เลือก Tabชื่อ Compile 3)กำหนด Option Strict ให้เป็น On

  31. การควบคุมการแปลงชนิดข้อมูลอัตโนมัติการควบคุมการแปลงชนิดข้อมูลอัตโนมัติ • เมื่อกำหนดค่าแล้ว โปรแกรมจะแปลงชนิดข้อมูลอัตโนมัติให้ระหว่างชนิดข้อมูลแบบเลขจำนวนเท่านั้น รวมทั้ง Charไปเป็น String ด้วย และการแปลงจากชนิดข้อมูลที่มีช่วงค่าแคบไปค่ากว้างเท่านั้น • ดังตัวอย่าง รูปแสดงช่วงค่าของชนิดข้อมูลต่าง ๆ จากแคบไปกว้าง Dim intV As Integer Dim dblV As Double intV =dblV โค้ดนี้ไม่สามารถคอมไพล์ได้ เพราะ โปรแกรมจะแปลงชนิดข้อมูลของตัวแปรdblVจากDouble เป็นIntegerไม่ได้หากกำหนด option strict Dim intV As Integer Dim dblV As Double dblV = intV โค้ดนี้สามารถรัน, คอมไพล์ได้ โดย โปรแกรจะแปลงชนิดข้อมูลขอตัวแปรintV จาก Integer เป็นDoubleให้อัตโนมัติ

  32. วิธีที่ 2 :แปลงชนิดของข้อมูลด้วย Data Type Conversion Function • การแปลงข้อมูลชนิดหนึ่งเป็นอีกชนิดด้วยฟังก์ชันที่เรียกว่า Data Type Conversion Function มีรูปแบบการใช้งานดังนี้ VarName = FuncName(expression) VarName คือ ตัวแปรที่จะรับผลการแปลง FuncName คือ ชื่อฟังก์ชันที่จะแปลง Expression คือ ข้อมูลที่ต้องการแปลง จะเป็นชนิดใดก็ได้

  33. วิธีที่ 2 :แปลงชนิดของข้อมูลด้วย Data Type Conversion Function • ฟังก์ชันสำหรับใช้งานมีดังนี้

  34. วิธีที่ 3 :แปลงชนิดของข้อมูลด้วยฟังก์ชัน CTpye • การใช้ฟังก์ชันที่ต้องการระบุชนิดข้อมูลไว้ด้วยในการแปลง มีรูปแบบดังนี้ VarName = CType (expression,TypeName) VarName คือ ตัวแปรที่จะรับผลการแปลง expression คือ ข้อมูลที่ต้องการแปลง TypeName คือ ชื่อชนิดข้อมูลที่ต้องการ ซึ่งต้องตรงกับชนิดข้อมูลของตัวแปร VarName

  35. วิธีที่ 4 :แปลงชนิดของข้อมูลด้วยออบเจ็กต์ Convert • Convertเป็นออบเจ็กต์พิเศษสำหรับการแปลงข้อมูลให้เป็นชนิดที่ต้องการ มีรูปแบบดังนี้ VarName = Convert (TypeName) VarName คือ ตัวแปรที่จะรับผลการแปลง TypeName คือ ชื่อชนิดข้อมูลที่ต้องการ ซึ่งต้องตรงกับชนิดข้อมูลของตัวแปร VarName

  36. ข้อควรระวังสำหรับการแปลงข้อมูลข้อควรระวังสำหรับการแปลงข้อมูล • การสูญเสียรายละเอียดของข้อมูลหลังจากการแปลง เช่นแปลงจากตัวเลขทศนิยมเป็นจำนวนเต็มรายละเอียดหลังจุดทศนิยม หรือการปัดเศษของตัวเลขอาจส่งผลได้ • การแปลงข้อมูลจากข้อมูลชนิดที่ใหญ่ไปเก็บในตัวแปรที่เล็กกว่า

  37. สรุปตารางการแปลงข้อมูลสรุปตารางการแปลงข้อมูล ควรแปลงข้อมูลไปเก็บในตัวแปรที่มีขอบเขตใหญ่กว่า

  38. การทำงานทางคณิตศาสตร์การทำงานทางคณิตศาสตร์ • เมธอดที่ใช้ทำงานทางคณิตศาสร์ได้แก่

  39. Method (เมธอด) • เมธอด เป็นฟังก์ชันหรือโพรซีเยอร์ที่ถูกสร้างไว้ในคลาส เพื่อให้เป็นการกระทำของออบเจ็คที่สร้างขึ้นมากจากคลาสนั้น เช่น การสร้างปุ่ม (Object ชนิด Button) จะมีเมธอด Hideสำหรับซ่อนปุ่มก็ได้ • หรือ เมธอดของคณิตศาสตร์ จากตารางจะถูกรวบรวมไว้ในคลาส Mathภายใต้ Namespace System ดังนั้นในการเรียกใช้เมธอดเหล่านี้ต้องระบุ System.Math.นำหน้าด้วย เช่นตัวอย่างการหาค่า Logฐาน 10ของ 10000 Dim Result As Double Result = System.Math.Log10(10000) Msgbox(Result)

  40. Namespace & Import • Namespaceคือวิธีการจัดหมวดหมู่ให้กับคลาสต่าง ๆ ใน .netรวมถึงคลาสที่โปรแกรมเมอร์สร้างขึ้นเอง เนมสเปซจึงเปรียบได้กับโฟลเดอร์ที่ใช้จัดหมวดหมู่ให้กับไฟล์บนดิสก์ เช่น • เนมสเปซเกี่ยวกับข้อมูล จะถูกรวบรวมไว้ที่ System.Data • เนมสเปซเกี่ยวกับภาพกราฟิก อยู่ที่ System.Drawing • Importคือคำสั่งที่ใช้อิมพอร์ตเนมสเปซ หรือคลาสก็ได้ ทำให้การเรียกใช้ไม่ต้องระบุชื่อเนมสเปซหน้าชื่อคลาสอีก แต่ถ้าอิมพอร์ตคลาสก็จะทำให้เรียกใช้พร็อพเพอร์ตี้และเมธอดในคลาสได้โดยไม่ต้องระบุชื่อเนมสเปซและชื่อคลาสหน้าชื่อ พร็อพเพอร์ตี้/เมธอด

  41. ตัวอย่างการใช้คำสั่ง Import Import System.Math Public Class Form1 Private Sub Button1_Click Dim Result As Double Result = Log10(10000) Msgbox(Result) End Sub End Class

  42. Exercise • จากชื่อตัวแปรที่กำหนดให้ตัวแปรใดใช้ได้และถ้าใช้ไม่ได้เพราะเหตุใด

  43. Exercise • จงหาผลลัพธ์ของตัวแปร Result (ตัวแปร Result As Integer) • Result = 6+3*5 • Result = 12/2-4 • Result = 2+7*3-6 • Result = 3*(2+4) • Result = 10\3 • Result = 2*6^3 • Result = 47 Mod 15

  44. Exercise • จงหาค่าของตัวแปร a และ b หลังจากรันแล้ว Dim a,b As Double a=3.5 b=2.6 a*=2.0 b/=2.0 b+=a

  45. Exercise • จงรันโค้ดต่อไปนี้แล้วอธิบายข้อแตกต่างที่เกิดขึ้น Dim small As Byte Dim large As Integer large = 123 small=large Dim small As Byte Dim large As Integer large = 123 small=CByte(large) ถ้า ตัวแปร large = 12345 ผลรันจะเป็นอย่างไร จงอธิบาย

  46. Exercise • จงเขียนโปรแกรมคำนวณค่า 2ค่าที่รับมาจาก user

  47. Exercise • จงเขียนโปรแกรมคำนวนค่าดัชนีมวลกาย

More Related