ข้อมูล ตัวแปร และค่าคงที่

 

                โปรแกรมในบทก่อนใช้คำสั่งที่เกี่ยวข้องกับตัวควบคุมและคุณสมบัติประจำตัวเท่านั้น ยังมีคำสั่งของ Visual Basic 2005 Express Edition อีกหลายคำสั่งที่เกี่ยวข้องกับข้อมูล ตัวแปร และค่าคงที่ รวมถึงวิธีการจัดการเกี่ยวกับข้อมูลแบบต่างๆ อีกด้วย

 

1. ข้อมูล

                โปรแกรมคอมพิวเตอร์ส่วนมากเกี่ยวข้องกับข้อมูลแบบต่างๆ ข้อมูลที่ใช้ใน Visual Basic 2005 Express Edition มีอยู่หลายแบบ ในเบื้องต้นแบ่งได้ ดังนี้

                1. ข้อมูลแบบตัวเลข

                หมายถึง ข้อมูลที่มีค่าเป็นตัวเลข จำแนกได้เป็นแบบเลขจำนวนเต็ม(Integral Numeric Types) และแบบเลขจำนวนจริง(Nonintegral Numeric Types)

                ข้อมูลแบบเลขจำนวนเต็ม แบ่งได้เป็น

                1. เลขจำนวนเต็มขนาดเล็ก ได้แก่

·       แบบ SByte

·       แบบ Short

2. เลขจำนวนเต็มขนาดใหญ่ ได้แก่

·       แบบ Integer

·       แบบ Long

·       แบบ Decimal

3. เลขจำนวนเต็มที่ไม่มีค่าเป็นลบ(Unsigned Integers) ได้แก่

·       แบบ Byte

·       แบบ UShort

·       แบบ UInteger

·       แบบ ULong

ข้อมูลแบบเลขจำนวนจริง หมายถึง ข้อมูลที่เป็นได้ทั้งแบบเลขจำนวนเต็ม และแบบเลขมีจุดทศนิยม แบ่งได้เป็น

·       แบบ Single

·       แบบ Double

·       แบบ Decimal

 

2. ข้อมูลแบบตัวอักษร(Character)

                หมายถึง ข้อมูลที่มีค่าเป็นตัวอักษร แบ่งได้เป็น

1.             แบบ Char หมายถึง ตัวอักษรหนึ่งตัว หรือเป็นตัวว่างไม่มีค่า(Null)

2.             แบบ String หมายถึง ตัวอักษรหนึ่งตัวหรือหลายตัวต่อเนื่องกันเป็นข้อความ หรือเป็นตัวว่างไม่มีค่า(Null String)

3. ข้อมูลแบบบูลีน(Boolean)

หมายถึง ข้อมูลที่มีค่าเป็นจริง(True) หรือ เท็จ(False)

4. ข้อมูลแบบวันที่(Date)

หมายถึง ข้อมูลที่มีค่า เดือน วันที่ ปี ค.ศ. และ เวลา

5. ข้อมูลแบบวัตถุ(Object)

หมายถึง ข้อมูลที่เกี่ยวกับวัตถุต่างๆ ที่ใช้ในโปรแกรม สามารถเก็บค่าข้อมูลข้างต้นได้ทุกแบบ

               

ค่าที่ใช้ได้ของข้อมูลแบบต่างๆ

แบบข้อมูล

อักขระแทน

ช่วงค่าข้อมูล

SByte

ไม่มี

-128 ถึง 127

Short

ไม่มี

-32,768 ถึง 32,767

Integer

%

-2,147,483,648 ถึง 2,147,483,647

Long

&

-9,223,372,036,854,775,808 ถึง 9,223,372,036,854,775,807(9.2...E+18)*

Byte

ไม่มี

1 ถึง 255

UShort

ไม่มี

0 ถึง 65,535

UInteger

ไม่มี

0 ถึง 4,294,967,295

ULong

ไม่มี

0 ถึง 18,466,744,073,709,551,615(1.8…E+19)*

Single

!

-3.4028235E+38 ถึง -1.401298E-45* สำหรับค่าที่เป็นลบ 1.401298E-45 ถึง 3.4028235E+38 สำหรับค่าที่เป็นบวก

Double

#

-1.79769313486231570E+308 ถึง -4.94065645841246544E324* (ค่าลบ)

4.94065645841246544E324 ถึง1.79769313486231570E+308*(ค่าบวก)

 

แบบข้อมูล

อักขระแทน

ช่วงค่าข้อมูล

Decimal

มีจุดทศนิยม

@

0 ถึง +/-79,228,162,514,264,337,593,543,950,335(+/-7.9...E+28)*

0 ถึง +/-7.9228162514264337593543950335E+28*

ค่าต่ำสุดที่ไม่เป็นศูนย์คือ 0.0000000000000000000000000001(+/-E-28)*

Char

ไม่มี

0 หรือ 1 ตัวอักษร

String

$

0 ตัวอักษร ถึง ประมาณ 2 พันล้านตัวอักษร

Boolean

ไม่มี

True หรือ False

Date

ไม่มี

0:00:00(เที่ยงคืน) ของ January 1,0001

ถึง 11:59:59 PM ของ December 31,9999

Object

ไม่มี

เก็บได้ทุกแบบ

 

2. ตัวแปร (Variable)

                ตัวแปร(Variable) หมายถึง ที่เก็บข้อมูลในหน่วยความจำขณะที่โปรแกรมทำงาน ประกอบด้วยชื่อตัวแปรและตำแหน่งที่เก็บ แต่ในการเรียกใช้งานส่วนใหญ่จะใช้ชื่อตัวแปรเป็นหลัก

                ตัวแปรใช้เก็บข้อมูลที่มีการเรียกใช้หลายครั้ง เช่น ในการคำนวณหลายอย่าง การเปรียบเทียบข้อมูลหลายครั้ง

                การใช้ตัวแปรมี 3 ขั้นตอน ดังนี้

1.             ประกาศตัวแปร(Declare the variable)

2.             กำหนดค่าให้ตัวแปร(Assign the variable)

3.             ใช้ตัวแปร(Use the variable)

 

1. การประกาศตัวแปร(Declare the variable)

ก่อนที่จะใช้ตัวแปรชื่อใด จะต้องประกาศให้ตัวแปรชื่อนั้นเป็นแบบที่สัมพันธ์กับแบบของข้อมูลที่จะใช้ โดยประกาศในตอนต้นของโปรแกรม บริเวณส่วนประกาศ(Declaration) ด้วยประโยคคำสั่ง Dimension ตามรูปแบบดังนี้

Dim ชื่อตัวแปร As แบบข้อมูล

 
 


                 

 

 

ตัวอย่าง

ถ้าต้องการใช้ชื่อตัวแปรชื่อ  TempValue สำหรับเก็บข้อมูลตัวเลขจำนวนเต็มแบบ Integer เขียนคำสั่งได้ ดังนี้

Dim TempValue  As Integer

 

 
 

 

 


                แต่ถ้าใช้อักขระแทนแบบของข้อมูลต่อท้ายชื่อตัวแปร ก็จะประกาศได้ ดังนี้

Dim TempValue %

 

 
 

 

 


หมายถึง ให้ชื่อตัวแปร TempValue%  เป็นตัวแปรสำหรับเก็บค่าตัวเลขแบบ Integer

 

หมายเหตุ

1.             ถ้าประกาศชื่อตัวแปรโดยไม่มีอักขระแทนแบบของข้อมูล หรือไม่ระบุแบบของข้อมูล เช่น Dim Any_type จะถือว่าเป็นการประกาศตัวแปรชื่อ Any_type ให้เป็นแบบ Object ซึ่งสามารถเก็บค่าของข้อมูลได้ทุกแบบ

2.             การประกาศตัวแปรแต่ละชื่อ ให้ประกาศเพียงครั้งเดียวและแบบเดียวเท่านั้น มิฉะนั้นจะเกิดความผิดพลาด ดังรูป

 

 

 

 

 

 

 

 


                แบบของตัวแปรที่ใช้ขึ้นอยู่กับแบบของข้อมูลและค่าข้อมูล พิจารณาได้จากตารางค่าที่ใช้ได้ของข้อมูลแบบต่างๆ โดยดูที่ช่วงค่าข้อมูลประกอบ เช่น ถ้าข้อมูลที่ใช้เป็นแบบตัวเลขจำนวนเต็มที่มีค่าไม่เกิน 255 ให้เลือกแบบข้อมูลที่เป็น Byte ดังนั้น ตัวแปรก็ต้องเป็นแบบ Byte

 

การตั้งชื่อตัวแปร

                การตั้งชื่อตัวแปรมีลักษณะ ดังนี้

·       ต้องเริ่มด้วยตัวอักษร หรือเส้นใต้( _ )

·       ใช้เฉพาะตัวอักษร ตัวเลข หรือเส้นใต้

·       ต้องไม่มีตัวอักขระหรือเครื่องหมายอื่น

·       ถ้าเริ่มด้วยเส้นใต้ ต้องตามด้วยตัวอักษรหรือตัวเลขอย่างน้อย 1 ตัว เช่น _8

·       ยาวไม่เกิน 1023 ตัวอักษร

·       ห้ามเว้นวรรค

·       ใช้ตัวขีดเส้นใต้แทนช่องว่าง เช่น Name_1

·       ควรใช้ชื่อที่มีสื่อความหมายว่าใช้เก็บค่าของอะไร เช่น แทนที่จะใช้ S เพื่อเก็บค่าคะแนนของนักเรียน ควรใช้ Student_Score

·       ห้ามใช้ชื่อซ้ำกับคำสงวนหลัก(Reserved Keywords) ของ Visual Basic เช่น

-                   ค่าที่เป็นแบบของข้อมูล เช่น Single

-                   คำสั่ง เช่น Dim

 

หมายเหตุ

1.             คำสงวนหลัก(Reserved Keywords) ของ Visual Basic สามารถหาดูได้จากรายการ Help ของหน้าต่างหลักหรือดูจากภาคผนวกท้ายเล่ม

2.             ชื่อที่ใช้ใน ของ Visual Basic จะเป็นแบบตัวพิมพ์เล็กหรือใหญ่ก็ได้ หมายถึงตัวเดียวกัน (Case-insensitive) เช่น ABC และ abc ถือว่าเป็นชื่อเดียวกัน

 

ตัวอย่าง ชื่อตัวแปรที่ใช้ได้

A1                          B5_a                      New_Price                           Income

 

ตัวอย่าง ชื่อตัวแปรที่ใช้ไม่ได้

1A                  เริ่มด้วยตัวเลขไม่ได้

B 52               เว้นวรรคไม่ได้

Long              ใช้คำสงวนไม่ได้

In$come        ใช้อักขระไม่ได้

 

ตัวอย่าง วิธีการประกาศตัวแปรในโปรแกรม

·       สร้างโครงงานใหม่ ใช้ชื่อว่า Variables

·       วางปุ่ม

·       Button1 บนฟอร์ม

·       ดับเบิ้ลคลิกที่ปุ่ม Button1 เพื่อเข้าสู่หน้าต่างโปรแกรม

·       พิมพ์ประโยคคำสั่งเพื่อประกาศตัวแปรในส่วนต้นของโปรแกรมตามรูป

 

 

 

 

 

 

 

 

 

 

 


หมายเหตุ บรรทัดที่เริ่มด้วย ‘ (สัญประกาศ หรือ Apostrophe) ใช้สำหรับอธิบายหรือเป็นหมายเหตุของโปรแกรม (Comment) ไม่ถือว่าเป็นคำสั่ง

 

เมื่อพิมพ์ถึง As แล้ววรรค จะปรากฏรายการให้เลือก ดังนี้

 

 

 

 

 

 

 

 

 

 

 

 

 

 


พิมพ์ By จะได้ ดังรูป

 

 

 

 

 

 

 

 

 

 

 


ดับเบิ้ลคลิกที่ Byte เพื่อเลือกแบบ Byte หรือพิมพ์ te ต่ไปได้

สำหรับบรรทัดอื่นก็ทำได้ในลักษณะเดียวกัน แต่แบบข้อมูลต่างกัน

 

·       เสร็จแล้วตรวจสอบความถูกต้องและบันทึกโครงงาน

·       ให้โปรแกรมทำงาน

·       คลิกที่ปุ่ม Button1 และสรุปผลที่ได้

·       ให้โปรแกรมหยุดทำงาน

 

การประกาศตัวแปรหลายตัวที่ใช้ข้อมูลแบบเดียวกัน

                ถ้าต้องการประกาศตัวแปรหลายตัวให้เป็นข้อมูลเดียวกัน แทนที่จะแยกประกาศทีละตัวแต่ละบรรทัด สามารถใช้การประกาศตามรูปแบบ ดังนี้

Dim ชื่อตัวแปรตัวที่ 1, ชื่อตัวแปรตัวที่ 2, ... As แบบข้อมูล
 

 

 
 

 


เช่น                Dim                J,K,L As Integer

มีความหมายเช่นเดียวกันกับ            Dim J As Integer

                                                                Dim K As Integer

                                                                Dim L As Integer

 

 

 

2. การกำหนดค่าให้ตัวแปร (Declare the variable)

                ปกติแล้วตัวแปรทุกตัวของ Visual Basic จะมีค่าเริ่มต้นเป็น 0 (ศูนย์) สำหรับตัวแปรที่ใช้กับตัวเลข ส่วนตัวแปรแบบอักษร(Char และ String) จะมีค่าเริ่มเป็น Null คือ ว่าง หรือไม่มีอะไรในเครื่องหมายอัญประกาศ(“”)

                เมื่อต้องการกำหนดค่าให้ตัวแปร ให้ใช้ประโยคคำสั่งกำหนดค่า(Assignment Statement) ซึ่งมีรูปแบบ ดังนี้

 ชื่อตัวแปร = ค่าข้อมูล

 

 
 

 


                ชื่อตัวแปรจะต้องตรงกับชื่อประกาศไว้ และค่าข้อมูลที่กำหนดจะต้องอยู่ในช่วงค่าข้อมูลตามแบบข้อมูลที่ประกาศไว้

 

ตัวอย่าง                 Student_No = 12                               ‘Byte

                                Student_Score = -10                         ‘SByte

                                Student_Name = “Pranee”              ‘String

โปรดสังเกตว่า ค่าข้อมูลแบบ String จะอยู่ในเครื่องหมายอัญประกาศ

 

หมายเหตุ ข้อความด้านขวามือของแต่ละบรรทัดที่นำหน้าด้วยเครื่องหมาย ‘ ใช้สำหรับอธิบายหรือเป็นหมายเหตุของโปรแกรมแต่ละบรรทัด ไม่ถือว่าเป็นคำสั่ง

 

                การเขียนหมายเหตุของโปรแกรมอาจเขียนที่บรรทัดไหนก็ได้ หรือเขียนเพื่ออธิบายโปรแกรมเป็นส่วนๆ ไป โดยบรรทัดไหนที่มีเครื่องหมาย ‘ อยู่ข้างหน้าหมายถึงบรรทัดหมายเหตุ ซึ่งโปรแกรมจะไม่ทำงานในบรรทัดนั้นถึงแม้จะเขียนเป็นคำสั่งก็ตาม เช่น

 

‘TempValue% = -50000

                ก็ไม่ได้หมายความว่ากำหนดค่า -50000 ให้กับตัวแปร TempValue%

 

หมายเหตุ ก่อนที่จะกำหนดค่าให้ตัวแปร จะต้องประกาศชื่อตัวแปรและแบบของข้อมูลที่จะใช้ก่อนเสมอ ไม่เช่นนั้นจเกิดความผิดพลาดขึ้น เช่น ถ้ากำหนดค่าให้ตัวแปรชื่อ x โดยไม่ได้ประกาศตัวแปรไว้ก่อน จะเกิดความผิดพลาด “ชื่อ x ไม่ได้ประกาศไว้” ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


กิจกรรมที่ 4.1

                ให้กำหนดค่าให้ตัวแปรแบบต่างๆ ดังรูป

 

 

 

 

 

 

 

 

 

 

 


1.             บันทึกโครงงาน ชื่อ Variables1

2.             ให้โปรแกรมทำงานและสรุปผลที่ได้

               

 

 

 

 

กิจกรรมที่ 4.2

                ให้ประกาศตัวแปรและกำหนดค่าให้กับตัวแปร ให้สัมพันธ์กับแบบของข้อมูล ดังนี้

Short     Boolean    Char    Date    Object

 
 


               

1.             บันทึกโครงงาน ชื่อ Variables2

2.             ให้โปรแกรมทำงานและสรุปผลที่ได้

 

กิจกรรมที่ 4.3

                ให้ประกาศตัวแปรแบบต่างๆ ที่ใช้อักขระแทนแบบข้อมูลได้ พร้อมทั้งกำหนดค่าให้สัมพันธ์กับแบบของข้อมูล

1.             บันทึกชื่อโครงงาน ชื่อ Variables3

2.             ให้โปรแกรมทำงานและสรุปผลที่ได้

 

การกำหนดค่าเริ่มต้นให้กับตัวแปร

                ในบางกรณีอาจจำเป็นต้องกำหนดค่าเริ่มต้นของตัวแปรเอาไว้ก่อน โดยกำหนดค่าเริ่มต้นตอนประกาศตัวแปร โดยใช้รูปแบบ ดังนี้

Dim ชื่อตัวแปร As แบบข้อมูล = ค่าเริ่มต้น
 

 

 
 

 

 


ตัวอย่าง

                ถ้าต้องการให้ตัวแปรชื่อ Depo เก็บค่าข้อมูลแบบเลขจำนวนเต็มแบบ UShort(ไม่เกิน 65,535) โดยค่าเริ่มต้นเป็น 1 เขียนเป็นประโยคคำสั่งประกาศตัวแปรได้ ดังนี้

Dim Depo As UShort = 1
 

 

 
 

 

 


                การกำหนดค่าเริ่มต้นให้ตัวแปร เป็นการป้องกันความผิดพลาดซึ่งอาจเกิดขึ้นเมื่อใช้ตัวแปร เช่น กำหนดค่าตัวแปรแต่ไม่ได้ประกาศตัวแปรก่อน หรือประกาศตัวแปรแต่ไม่ได้กำหนดค่าตัวแปรที่ประกาศและกำหนดค่าเริ่มต้นไว้ สามารถกำหนดค่าใหม่ไดอีกภายหลังเมื่อต้องการ

 

 

 

 

กิจกรรมที่ 4.4

                ให้ประกาศตัวแปรแบบต่างๆ ที่ใช้อักขระแทนข้อมูลได้ พร้อมทั้งกำหนดค่าเริ่มต้นตามต้องการ

1.             บันทึกโครงงาน ชื่อ Variables4

2.             ให้โปรแกรมทำงานและสรุปผลที่ได้

 

3. การใช้ตัวแปร(Use the variable)

                ตัวแปรที่ได้ประกาศและกำหนดค่าไว้แล้ว จึงจะสามารถนำมาใช้ได้ เช่น ใช้ในการคำนวณเปรียบเทียบ หรือแสดงค่า

 

การแสดงค่าของตัวแปร

                สามารถแสดงได้โดยใช้ตัวควบคุมต่างๆ เช่น ป้ายแสดงข้อความ กล่องข้อความ กล่องข่าวสาร และเครื่องพิมพ์

 

                การใช้กล่องข่าวสาร(MessageBox) แสดงค่าของตัวแปรทีละตัว

ใช้ประโยคคำสั่ง ดังนี้

MsgBox(ชื่อตัวแปร,0, “ข้อความ”)

 

 
               

 

ซึ่งมีความหมาย ดังนี้

                ชื่อตัวแปร             หมายถึง                                แสดงค่าของตัวแปร

                0                              หมายถึง                                ให้กล่องข่าวสารแสดงปุ่ม OK

                “ข้อความ”             หมายถึง                                ข้อความที่จะปรากฏบนแถบชื่อของกล่องข่าวสาร

ถ้าต้องการแสดงค่าของตัวแปรชื่อ Student_No และแสดงชื่อของตัวแปรด้วย เขียนประโยคคำสั่งได้ดังนี้

MsgBox(Student_No,0, “Student_No”)

 

 
               

 

                                            

                จากโครงงาน Variables1 เมื่อเพิ่มประโยคคำสั่งแสดงค่าของตัวแปรเข้าไปทั้งสามตัวตามลำดับดังนี้

                                MsgBox(Student_No,0, “Student_No”)

                                MsgBox(Student_Score,0, “Student_Score”)

                                MsgBox(Student_Name,0, “Student_Name”)

 

                เมื่อพิมพ์เข้าไปในหน้าต่างโปรแกรมจะได้ ดังรูป

 


               

 

 

 

                เมื่อคลิกที่ปุ่ม OK จะได้ผล ดังรูป

 

 

 

 

 


                เมื่อคลิกที่ปุ่ม OK จะได้ผล ดังรูป

 


               

 

 

กิจกรรมที่ 4.5

1. ให้เรียกโครงงาน Variables1 ออกมา เพื่อเพิ่มเติมประโยคคำสั่งแสดงค่าของตัวแปรทั้งสามตัว และใช้ข้อความใหม่ โดยให้แสดงตามลำดับ ดังนี้

 

 

 

 


2. บันทึกโครงงานชื่อ Variables5

3. ให้โปรแกรมทำงานและสรุปผลที่ได้

 

การใช้กล่องข่าวสารแสดงค่าของตัวแปรหลายตัว

                ค่าของตัวแปรหลายตัวอาจนำมาผนวกกันเพื่อแสดงผลโดยใช้กล่องข่าวสารเพียงกล่องเดียวก็ได้ เช่น จากโครงงาน Variables5 อาจเขียนประโยคคำสั่งใหม่เพื่อให้แสดงผลได้ ดังรูป

 


วิธีการทำ

ก.      ตรงแถบชื่อของกล่องข่าวสาร

1. ใช้ข้อความ “ลำดับที่” รวมกับค่าของตัวแปรชื่อ Student_No

2. การรวมข้อความ ใช้อักขระ & ดังนั้นการเขียนข้อความหใม่ได้เป็น

 “ลำดับที่” & Student_No

ข.      ข้อความที่ปรากฏในกล่องข่าวสาร

1. ใช้ชื่อค่าของตัวแปรชื่อ Student_Name รวมกับข้อความ “ได้คะแนน” รวมกับค่าของตัวแปรชื่อ Student_Score

2. เขียนข้อความใหม่ได้เป็น

Student_Name & “ได้คะแนน” & Student_Score

                 ดังนั้น ประโยคคำสั่งของกล่องข่าวสารจึงเขียนใหม่ได้ ดังนี้

MsgBox(Student_Name & " ได้คะแนน " & Student_Score, 0, " ลำดับที่ " & Student_No)

 
 

 


กิจกรรมที่ 4.6

1.             ให้เรียกโครงงาน Variables5 ออกมาเพื่อแก้ไขประโยคคำสั่งให้กล่องข่าวสารกล่องเดียวแสดงค่าของตัวแปรทั้งสามตัว พร้อมข้อความตามตัวอย่าง

2.             บันทึกโครงงาน ชื่อ Variables6

3.             ให้โปรแกรมทำงานและสรุปผลที่ได้

 

 

3. ค่าคงที่ (Constant)

                ในการใช้ข้อมูลที่มีค่าซ้ำกันอยู่บ่อยๆ และค่าข้อมูลนั้นไม่มีการเปลี่ยนแปลงเลยตลอดการใช้งานในโปรแกรม ควรเก็บข้อมูลนั้นไว้ในตัวแปรและประกาศตัวแปรให้เป็นแบบค่าคงที่

                การประกาศตัวแปรให้เป็นแบบค่าคงที่และกำหนดค่าคงที่เก็บไว้ ใช้รูปแบบคำสั่ง ดังนี้

Const ชื่อตัวแปร = ค่าข้อมูล

 

 
 

 


                เช่น การประกาศตัวแปรชื่อ Pi เพื่อกำหนดค่าของ  ให้เป็นค่าคงที่ เขียนเป็นคำสั่งได้เป็น

                                                Const  Pi = 3.14159265358979

                การประกาศค่าคงที่ อาจกำหนดแบบของข้อมูลไว้ด้วย โดยใช้รูปแบบ ดังนี้

Const ชื่อตัวแปร As แบบข้อมูล = ค่าข้อมูล

 

 
 

 

 


                เช่น        Const  Pi  As  Double = 3.14159265358979

                หรือประกาศแบบข้อมูลด้วยอักขระแทน เช่น

Const  Pi# = 3.14159265358979

Const  Response$ = “Yes”

                การประกาศค่าคงที่จะทำในบริเวณส่วนประกาศตอนต้นของโปรแกรมเช่นเดียวกับการประกาศตัวแปร ดังตัวอย่าง

 

 

 

 

 

 

 


การใช้ค่าคงที่

                ค่าคงที่ประกาศไว้แล้วสามารถเรียกใช้ต่อไปได้ เช่น นำไปคำนวณ เปรียบเทียบหรือแสดงค่า

การแสดงค่าคงที่

ทำได้เช่นเดียวกับตัวแปรอื่นๆ เช่น ใช้กล่องข่าวสาร  ดังรูป

 

 

 

 

 


                เมื่อประกาศตัวแปรใดให้เก็บค่าคงที่ไว้แล้ว จะประกาศค่าใหม่โดยใช้ประโยคคำสั่งกำหนดค่าไมได้ จะเกิดความผิดพลาด “Constant cannot be the target of an assignment” ขึ้น ดัง

ตัวอย่าง

 

 

 

 

 

 


4. การแปลงค่าข้อมูล

                ค่าของข้อมูลที่เก็บไว้แบบหนึ่งอาจแปลงเป็นอีกแบบได้ ดังนี้

                1. การแปลงค่าตัวเลขให้เป็นค่าข้อความ(String)

                ใช้ฟังก์ชั่น Cstr(Expression) (ย่อมาจาก Convert to String)

                Expression หมายถึง นิพจน์หรือตัวแปรที่เป็นค่าตัวเลข

                ตัวอย่าง

                                Pay$ = Cstr(123.456)

                                จะทำให้ Pay$ มีค่าเป็น “123.456”

                2. การแปลงค่าข้อความ (String) ให้เป็นตัวเลข

                ใช้ฟังก์ชั่น Val(String) (ย่อมาจาก Value)

                ตัวอย่าง                 My_Spy% = Val(“007”)

                จะได้ค่าของ My_Spy% เท่ากับ 7

                ถ้าเป็น Null String จะได้ผลลัพธ์เป็น 0 เช่น

Result = Val(“”)   ‘Value ของ Null String

จะได้ค่าของ Result เป็น 0

                3. การแปลงข้อความ(String) ให้เป็นค่าตัวอักษร (Character)

                ใช้ฟังก์ชั่น            CChar(String)  (ย่อมาจาก Convert to Char)

                ตัวอย่าง                  Dim        CT As Char

                                                CT = CCchar(“MIT”)  ‘จะได้ค่าของ CT เท่ากับ “M”

                4. การแปลงค่าตัวเลขจากแบบหนึ่งไปเป็นแบบอื่น

                ใช้ฟังก์ชั่นดังต่อไปนี้

                CBool(Expression) แปลงผลที่ได้จาก expression ให้เป็นแบบ Boolean

                ตัวอย่าง

 

 

 

 

 

 

 

 


CByte(expression) แปลงผลที่ได้จาก expression ให้เป็นแบบ Byte

                ตัวอย่าง

 

 

 

 

 

 

 

 


หมายเหตุ ถ้าเป็นเลขทศนิยมตั้งแต่ .5 ขึ้นไปจะปัดขึ้น ถ้าต่ำกว่า .5 จะตัดทิ้ง

สำหรับฟังก์ชันการแปลงค่าตัวเลขอื่นๆ มีดังนี้

 

ฟังก์ชัน

แปลงให้เป็นแบบ

CSng(expression)

Single

CDbl(expression)

Double

CDec(expression)

Decimal

CInt(expression)

Integer

CLng(expression)

Long

CSByte(expression)

SByte

CShort(expression)

Short

CULng(expression)

ULong

CUShort(expression)

UShort

CObj(expression)

Object

 

5. การแปลงค่าข้อมูลแบบ Date

 ใช้ฟังก์ชั่น CDate(String) แปลง String ให้เป็นแบบ Date

ตัวอย่าง

 

 

 

 

 

 

 

 

 

 

 

 

 

 


กิจกรรมที่ 4.7      

                ให้ทำโครงงาน “Conversion” เพื่อแปลงค่าของตัวเลขต่อไปนี้ให้เป็นแบบ Integer และแสดงผลโดยใช้ MessageBox

ก.      2345.5678    ค่าที่ได้.............................................................................................................................

ข.      2345.4999    ค่าที่ได้.............................................................................................................................

ค.      -0.5                ค่าที่ได้.............................................................................................................................

ง.       -1.5                ค่าที่ได้.............................................................................................................................

จ.       0.5                  ค่าที่ได้.............................................................................................................................

ฉ.      1.5                  ค่าที่ได้.............................................................................................................................

 

5. การสร้างโปรแกรมใช้งานคำนวณ

ในการคำนวณจะใช้ประโยคคำสั่งกำหนดค่าให้ตัวแปรด้วยการคำนวณ ดังนี้

ตัวแปรแบบตัวเลข = Expression

 

 
 

 


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

เครื่องหมายในการคำนวณทางคณิตศาสตร์(Arithmetic Operator) ของ Visual Basic เรียงลำดับการทำงานก่อนหลังมีดังนี้

 

 

 

เครื่องหมาย

ความหมาย

ตัวอย่าง

ผลลัพธ์

^

ยกกำลัง

2^3

8

*

คูณ

4*5

20

/

หาร

5/2

2.5

\

หารแบบจำนวนเต็ม

5\2

2

Mod

หารเอาเศษจำนวนเต็ม

5 Mod 2

1

+

บวก

12+5

17

-

ลบ

12-5

7

หมายเหตุ

1.             เครื่องหมาย * และ / จัดอยู่ในลำดับการทำงานเดียวกัน ถ้ามีการคูณและหารอยู่ในประโยคคำสั่งเดียวกัน การคำนวณจะเริ่มจากซ้ายไปขวาของประโยคคำสั่ง

2.             เครื่องหมาย + และ – จัดอยู่ในลำดับการทำงานเดียวกัน ถ้ามีการบวกและลบอยู่ในประโยคคำสั่งเดียวกัน การคำนวณจะเริ่มทำจากซ้ายไปขวาของประโยคคำสั่ง

 

ถ้าต้องการให้คำนวณอะไรก่อนให้ใช้เครื่องหมาย ( ) กำกับ เช่น

                2^(1+2) จะได้ผลลัพธ์เท่ากับ 2^3 คือ 8

แต่ถ้าไม่ใส่วงเล็บ 2^1+2 จะได้ผลลัพธ์เป็น 4

การใช้วงเล็บกำกับอาจใช้ซ้อนกันหลายอันได้ โดยการคำนวณจะทำตั้งแต่วงเล็บข้างในสุดก่อนเสมอ

               

                ตัวอย่าง ประโยคคำสั่งกำหนดค่าด้วยการคำนวณ

                Sum = 1+2+3

                Average = Sum/3

                Y = (B^2 –(4*A*C))

                X1 = -B+Y^0.5

X2 = -B+Y^0.5

 

1. การแสดงผลของการคำนวณ

ทำได้เช่นเดียวกับการแสดงค่าของตัวแปรโดยใช้กล่องข่าวสาร หรืออาจแสดงผลโดยใช้ตัวควบคุมแบบ Label หรือ TextBox ก็ได้โดยต้องแปลงค่าตัวเลขให้เป็นข้อความ(String) ก่อนด้วย เช่น ฟังก์ชั่น Cstr(…) เช่น

Sum = 4+5+6

Label1.Caption = Cstr(Sum)

 
               

 

 

 

ตัวอย่าง การสร้างโปรแกรมคำนวณหาพื้นที่ของรูปสามเหลี่ยม โดยออกแบบส่วนติดต่อกับผู้ใช้ ดังรูป

 

 

 

 

 

 

 

 

 

เป็นการใช้ตัวควบคุมแบบกล่องข้อความ(TextBox) สำหรับรับค่า และใช้ป้ายแสดงข้อความ(Label) สำหรับแสดงผล

กำหนดการทำงานของโปรแกรมเป็น ดังนี้

1.             ป้อนค่าความยาวฐานในกล่องข้อความช่องสีขาวช่องแรก

2.             ป้อนค่าความสูงในกล่องข้อความช่องที่สอง

3.             คลิกที่ปุ่ม “คำนวณ” ให้แสดงผลลัพธ์ที่ป้ายแสดงข้อความ ดังรูป

 

 

 

 

 

 

 

 

 

 


4.             เมื่อคลิกที่ปุ่ม “ลบ” ให้ลบข้อมูลในช่องต่างๆ ของกล่องข้อความ และป้ายแสดงข้อความเพื่อป้อนค่าใหม่ได้

5.             เมื่อคลิกที่ปุ่ม “จบ” ให้โปรแกรมหยุดทำงาน

 

2. ขั้นตอนการเขียนโปรแกรม

การเขียนโปรแกรมคำนวณมีขั้นตอน ดังนี้

1.การประกาศตัวแปร ใช้ตัวแปร 3 ตัว เพื่อเก็บค่าความยาวฐาน(Base) ส่วนสูง(Height) และพื้นที่(Area)  โดยประกาศให้เป็นแบบ Single (ตัวเลขมีทศนิยม) ดังนี้

Dim Tri_Base,Tri_height ,Tri_Area As Single

 

หมายเหตุ ใช้ตัวแปรชื่อ Height ไม่ได้ เพราะตรงกับคุณสมบัติ Height  ของตัวควบคุม

2. การรับค่า เป็นการรับค่าจาก TextBox ซึ่งมีคุณสมบัติเป็นข้อความ(Text) จึงต้องแปลงข้อความให้เป็นตัวเลขโดยใช้ฟังก์ชั่นVal() ดังนี้

 

                ก. รับค่าความยาวฐานจาก TextBox1 เขียนประโยคคำสั่งได้ดังนี้

                Tri_Base = Val(TextBox1.Text)

                ข. รับค่าส่วนสูงจาก TextBox2 เขียนประโยคคำสั่งได้ดังนี้

                Tri_Height = Val(TextBox2.Text)

3. การคำนวณ การหาพื้นที่รูปสามเหลี่ยมเมื่อกำหนดค่าฐานและสูง ใช้สูตร

                พื้นที่สามเหลี่ยม = (ฐาน X สูง)/2

                เขียนเป็นประโยคคำสั่งได้ดังนี้

                Tri_Area = (Tri_Base * Tri_Height) / 2

หรือ       Tri_Area = 0.5 * Tri_Base *Tri_Height

4. การแสดงผล แสดงค่าพื้นที่รูปสามเหลี่ยมที่ป้ายแสดงข้อความ(Label4) โดยต้องแปลงค่าตัวเลขให้เป็นข้อความก่อนด้วยฟังก์ชัน Cstr() ดังนี้

                Label4.Text = Cstr(Tri_Area)

ขั้นตอนทั้งหมดนี้ สามารถเก็บไว้ในปุ่ม “คำนวณ” ได้ แต่ขั้นตอนการประกาศตัวแปรควรแยกออกไปไว้ในส่วนประกาศในตอนต้นของโปรแกรม จะทำให้ตัวควบคุมอื่นๆ ใช้ตัวแปรเหล่านี้ได้ ถ้าประกาศตัวแปรไว้ที่ปุ่มใดปุ่มหนึ่งจะทำให้ใช้ตัวแปรนั้นได้เฉพาะในปุ่มที่ประกาศไว้เท่านั้น

สำหรับปุ่ม “ลบ” ต้องเขียนคำสั่งเพื่อลบข้อความในกล่องข้อความทังหมด ดังนี้

TextBox1.Text = “ ”

TextBox2.Text = “ ”

Label.Text = “ ”

และที่ปุ่ม “จบ” ใช้คำสั่ง End เพื่อให้โปรแกรมหยุดทำงาน เมื่อพิมพ์โปรแกรมให้แต่ละปุ่มเสร็จแล้วจะได้ ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


จากตัวอย่างจะเห็นว่าการใช้ Visual Basic พัฒนาโปรแกรมใช้คำนวณไม่ได้ยุ่งยากซับซ้อนเกินไป คำสั่งภาษา Basic เป็นคำสั่งง่ายๆ สามารถศึกษาทำความเข้าใจได้

 

3. โครงสร้างโปรแกรม Visual Basic

                โปรแกรมทั้งหมดประกอบด้วย โปรแกรมของตัวควบคุมแต่ละตัว อยู่ภายในชั้น(Class)ของฟอร์ม ในที่นี้ชื่อ Form1 ซึ่งประกาศเป็นแบบสาธารณะ(Public) ตามโครงสร้าง ดังนี้

 

                Public Class  ชื่อฟอร์ม

                                           ส่วนประกาศตัวแปร

                                           โปรแกรมของตัวควบคุมแต่ละตัว

                End Class

               

                โปรแกรมของตัวควบคุมแต่ละตัว เรียกว่าโปรแกรมย่อย(Sub Program) หรือกระบวนคำสั่งย่อย(Sub Procedure) ซึ่งมีโครงสร้างดังนี้

 

                Private Sub     ชื่อตัวควบคุมและกรณีใช้งาน เช่น Button2_Click และรายละเอียดอื่นๆ ใน

                                           วงเล็บประโยคคำสั่งต่างๆ ที่จะให้กระทำเมื่อให้โปรแกรมทำงาน

                End Sub          หมายถึง จบโปรแกรมย่อย หรือจบกระบวนคำสั่ง

 

กิจกรรมที่ 4.8

1.             ให้ทำโครงงาน “Triangle”  เพื่อสร้างโปรแกรมคำนวณพื้นที่รูปสามเหลี่ยมตามตัวอย่าง

2.             ทำการทดสอบโปรแกรมและสรุปผลที่ได้

 

หมายเหตุ เมื่อมีการใช้ตัวควบคุมหลายตัวเพื่อป้อนค่าข้อมูลหลายค่าให้กับโปรแกรม เพื่อทำให้การป้อนข้อมูลสะดวกขึ้น เมื่อป้อนข้อมูลให้ตัวแรกเสร็จแล้ว กดปุ่ม Tab ของแป้นพิมพ์จะทำให้เคอร์เซอร์กระโดดไปรอการป้อนข้อมูลที่ตัวถัดไปทันที เนื่องจากคุณสมบัติ TabStop ของตัวควบคุมได้กำหนดไว้เป็น True

สำหรับการจัดลำดับว่าจะให้ไปที่ตัวควบคุมไหนก่อนหลัง ทำได้โดยกำหนดที่รายการ TabIndex ในหน้าต่างคุณสมบัติประจำตัวของตัวควบคุมแต่ละตัวให้เรียงตามลำดับหมายเลขที่ต้องการ

 

กิจกรรมที่ 4.9

                ให้สร้างโปรแกรมสำหรับหาปริมาตรของถังน้ำในถังทรงกระบอก(Cylindrical) โดยออกแบบส่วนติดต่อผู้ใช้ตามความเหมาะสม ลองจัดลำดับการใช้ Tab แล้วทดสอบการทำงานของโปรแกรม

 


กิจกรรมที่ 4.10

1. ให้สร้างโปรแกรมเครื่องคำนวณแบบ Visual Basic ดังรูป

2. กำหนดให้ :

  2.1 รับค่าจาก Operand 1 และ Operand 2

  2.2 เมื่อคลิกที่ปุ่มให้แสดงผลลัพธ์ที่ช่อง

        Result ตามเครื่องหมายบนปุ่ม ดังนี้

 

ปุ่ม

การทำงาน

+

Operand 1 + Operand 2

-

Operand 1 - Operand 2

*

Operand 1 * Operand 2

/

Operand 1 / Operand 2

\

Operand 1 \ Operand 2

Mod

Operand 1 Mod Operand 2

^

Operand 1 ^ Operand 2

Clear

ลบ Operand 1, Operand 2 และ Result

Stop

หยุดโปรแกรม

 

 

สรุป

ข้อมูลที่ใช้ใน Visual Basic 2005 Express Edition แบ่งเป็น แบบตัวเลข แบบตัวอักษร   แบบบูลีน แบบวันที่ และแบบวัตถุ

การเลือกใช้ข้อมูลพิจารณาจากช่วงค่าข้อมูลที่ใช้ได้

ตัวแปรใช้สำหรับเก็บค่าข้อมูลเพื่อนำไปคำนวณ เปรียบเทียบ หรือแสดงผล

ก่อนใช้ตัวแปรต้องประกาศและกำหนดค่าตามแบบข้อมูลก่อน

การตั้งชื่อตัวแปรต้องพิจารณาหลายอย่าง โดยเฉพาะห้ามซ้ำกับคำสงวนหลัก

ประโยคที่เริ่มด้วย ‘ หมายถึงประโยคหมายเหตุ ไม่ใช่ประโยคคำสั่ง

การแสดงค่าของข้อมูลหรือตัวแปร ทำได้โดยใช้ป้ายแสดงข้อความ กล่องข้อความ กล่องข่าวสาร และทางเครื่องพิมพ์

ค่าคงที่เป็นค่าข้อมูลที่ใช้ในโปรแกรมเมื่อกำหนดค่าแล้วจะเปลี่ยนแปลงไม่ได้

ข้อมูลที่เก็บไว้ในแบบหนึ่งสามารถแปลงเป็นแบบอื่นได้ด้วยฟังก์ชันการแปลง

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

การเขียนโปรแกรมคำนวณต้องคำนึงถึงลำดับการทำงานของเครื่องหมาย

ถ้าต้องการให้คำนวณอะไรก่อนให้ใช้วงเล็บกำกับ