18. 40
4. ชือตัวแปรจะต้องไม่ซากับค่าคงที่ (Constant) หรือชือโปรแกรมย่อย (SUB
่ ้ํ ่
หรือ Function) ทีใช้งานหรือเขียนอยูในโปรแกรม
่ ่
5. ชือตัวแปรไม่ความแตกต่างกันในเรืองตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่ (Case
่ ่
Insensitive)
การประกาศตัวแปร
การประกาศตัวแปรในภาษาเบสิกสามารถทําได้ 2 แบบคือ
• ประกาศตัวแปรด้วยคําสั ่ง DIM … AS
• ประกาศตัวแปรด้วยการระบุชนิดข้อมูล
ประกาศตัวแปรด้วยคําสั ่ง DIM … AS
การประกาศตัวแปรด้วยคําสั ่ง DIM … AS เป็นการประกาศชื่อตัวแปรพร้อมกับ
ชนิดข้อมูลทีตวแปรจะจัดเก็บ โดยทียงไม่มการกําหนดค่าหรือให้คาใดๆ แ ก่ตวแปร เป็นการ
่ ั ่ ั ี ่ ั
เตรียมตัวแปรให้พร้อมก่อนทีจะใช้งาน ดังโครงสร้างการประกาศดังนี้
่
DIM ชือตัวแปร AS
่ ชนิดของตัวแปร
ตัวอย่างการประกาศตัวแปรชือ num และกําหนดชนิดข้อมูลเป็นแบบ INTEGER
่
DIM num AS INTEGER
เมื่อประกาศตัวแปรแล้วจะกําหนดหรือให้คาแก่ตวแปรได้ เช่น
่ ั
num = 250
คําทีจะใช้กาหนดชนิดข้อมูลของตัวแปรทีประกาศ แสดงไว้ในตารางที่ 2.3
่ ํ ่
ตารางที่ 2.3 คําทีใช้กาหนดชนิดตัวแปร
่ ํ
คําที่ใช้กาหนดชนิ ดตัวแปร
ํ ชนิ ดข้อมูล
STRING Strings
INTEGER Integers
19. 41
LONG Long Integers
SINGLE Single
DOUBLE Double
ตัวอย่างโปรแกรม 2.1 แสดงการประกาศตัวแปรด้วยคําสั ่ง DIM และการใช้งานตัว
แปรภายในโปรแกรม
ตัวอย่างโปรแกรม 2.1
DIM x AS INTEGER
DIM y AS INTEGER
DIM z AS INTEGER
DIM s AS INTEGER
DIM a AS SINGLE
x = 10
y=5
z = 30
s=x+y+z
a=s/3
PRINT a
ภาพที่ 2.27 ผลการทํางานของโปรแกรม 2.1
การประกาศตัวแปรทีมชนิดข้อมูลเหมือนกันหลายๆ ตัว ให้ เขียนอยูในคําสั ่ง DIM
่ ี ่
โดยเขียนชื่อตัวแปรแต่ละตัวแยกจากกันด้วยเครื่องหมายจุลภาค ดังตัวอย่างโปรแกรม 2.2
ตัวอย่างโปรแกรม 2.2
DIM x AS INTEGER, y AS INTEGER, z AS INTEGER
DIM s AS INTEGER, a AS INTEGER
x = 10
21. 43
ตัวอย่างการประกาศและใช้งานตัวแปรในโปรแกรมแสดงไว้ในโปรแกรม 2.3
ตัวอย่างโปรแกรม 2.3
x% = 10
y% = 5
z% = 30
s% = x% + y% + z%
a! = s% / 3
PRINT a!
ภาพที่ 2.29 ผลการทํางานของโปรแกรม 2.3
ข้อดีของการประกาศตัวแปรด้วยการระบุชนิดข้อมูล
• สัญลักษณ์ทายตัวแปรจะเป็นตัวกํากับทังข้อมูลทีจดเก็บและบอกชนิด ข้อมูล
้ ้ ่ ั
สามารถปร ะกาศตัวแปรแล้วใช้งานได้โดยไม่ตองประกาศตัวแปรไว้
้
ล่วงหน้า
• ผู้เขียนโปรแกรมจะทราบว่าตัวแปรแต่ละตัว มีชนิดข้อมูลแบบใดและ
ขอบเขตในการเก็บข้อมูลของตัวแปรแต่ละตัว
ตัวอย่างโปรแกรม 2.4 เป็นการเขียนโปรแกรมโดย นําค่าทีเกินขอบเขต ของตัว แปร
่
ไปเก็บลงตัวแปร ทําให้คาทีได้ผดพลาด
่ ่ ิ
ตัวอย่างโปรแกรม 2.4
DIM x AS INTEGER
DIM y AS INTEGER
DIM z AS INTEGER
22. 44
x = 10
y=4
z=x/y
PRINT z
ภาพที่ 2.30 ผลการทํางานของโปรแกรม 2.4
หากไม่ประกาศตัวแปรก่อนใช้งาน ภาษาเบสิกจะกําหนดให้ตวแปรนันมีขอมูลเป็น
ั ้ ้
แบบ SINGLE
ตัวอย่างการประกาศตัวแปร
ตัวอย่างโปรแกรม 2.5
DIM x AS INTEGER, y AS INTEGER, z AS INTEGER
DIM s AS INTEGER, a AS SINGLE
x% = 10
y% = 5
z% = 30
s% = x% + y% + z%
a! = s% / 3
PRINT a!
ภาพที่ 2.31 ผลการทํางานของโปรแกรม 2.5
29. 51
ตารางที่ 2.7 รหัสควบคุมรูปแบบการแสดงผลของคําสั ่ง PRINT
รหัส ความหมาย
# จํานวนหลักการแสดงผลของตัวเลขและแทนทีดวยทีวาง
่ ้ ่่
. แสดงเครื่องหมายจุดทศนิยม
, แสดงเครื่องหมายจุลภาค
+ แสดงเครื่องหมาย + หรือ – หน้าตัวเลข
- แสดงเครื่องหมาย – หลังตัวเลข (หากมีคาลบ)
่
ตัวอย่างการใช้งาน USING ร่ว มกับคําสั ่ง PRINT เพือจัดรูปแบบการแสดงข้อมูลที่
่
เป็นตัวเลข แสดงไว้ในโปรแกรม 2.10
ตัวอย่างโปรแกรม 2.10
PRINT USING "##.###"; .78
PRINT USING "###.##"; 987.654
PRINT USING "#####.##"; 10.2
PRINT USING "+###.##"; -68.95
PRINT USING "+###.##"; 558.33
PRINT USING "###.##-"; -68.95
PRINT USING "###.##-"; 558.33
PRINT USING "######,.##"; 12345.67
ภาพที่ 2.36 ผลการทํางานของโปรแกรม 2.10
30. 52
การแสดงค่าตัวเลขหรือตัวแปรหลายตัวโดยใช้รปแบบเดียวกัน ทํา ได้ดง ตัวอย่าง
ู ั
โปรแกรม 2.11
ตัวอย่างโปรแกรม 2.11
DIM x1 AS SINGLE, x2 AS SINGLE, x3 AS SINGLE
DIM y1 AS SINGLE, y2 AS SINGLE, y3 AS SINGLE
x1 = 28.25
x2 = 326.75
x3 = 77.5
y1 = 162.25
y2 = 92.75
y3 = 217.5
PRINT USING "#####,.##"; x1; x2; x3
PRINT USING "#####,.##"; y1; y2; y3
ภาพที่ 2.37 ผลการทํางานของโปรแกรม 2.11
กรณี ศึกษาที่ 1
เขียนโปรแกรมแปลงค่าอุณหภูมจากองศาฟาเรนไฮต์เป็นองศาเซลเซียส
ิ
ขันที่ 1 วิเคราะห์ขอมูลนําเข้า ข้อมูลส่งออกและการประมวลผล
้ ้
• ข้อมูลนําเข้าคือ ตัวเลขอุณหภูมองศาฟาเรนไฮต์
ิ
(ตัวแปร f แบบ SINGLE)
• ข้อมูลส่งออกคือ ตัวเลขอุณหภูมองศาเซลเซียส
ิ
(ตัวแปร c แบบ SINGLE)
• การคํานวณองศาเซลเซียส c = 5 / 9 * (f – 32)
ขันที่ 2 เขียนโปรแกรม
้
31. 53
ตัวอย่างโปรแกรม 2.12
DIM f AS SINGLE, c AS SINGLE
f = 75
c = 5 / 9 * (f - 32)
PRINT USING "###.##"; c
ขันที่ 3 ทดสอบการทํางานของโปรแกรม
้
กําหนดค่าตัวแปร F ให้เป็น 75 จะได้ค่าเท่ากับ 23.89 องศาเซลเซียส
ภาพที่ 2.38 ผลการทํางานของโปรแกรม 2.12 แบบที่ 1
กําหนดค่าตัวแปร F ให้เป็น 0 จะได้ค่าเท่ากับ -17.78 องศาเซลเซียส
ภาพที่ 2.39 ผลการทํางานของโปรแกรม 2.12 แบบที่ 2
32. 54
กรณี ศึกษาที่ 2
เขียนโปรแกรมคํานวณจํานวนชั ่วโมงและนาทีของการทํางานของพนักงาน โดยรับ
ค่าตัวเลขชั ่วโมง นาทีทเี่ ริมเข้าทํางานและตัวเลขชั ่วโมง นาทีทเี่ ลิกงาน
่
ขันที่ 1 วิเคราะห์ขอมูลนําเข้า ข้อมูลส่งออกและการประมวลผล
้ ้
• ข้อมูลนําเข้าคือ ตัวเลขชั ่วโมง นาทีทเี่ ข้าทํางานและเลิกงาน
h1 ชั ่วโมงทีเข้าทํางาน เป็นแบบ INTEGER
่
m1 นาทีทเี่ ข้าทํางาน เป็นแบบ INTEGER
h2 ชั ่วโมงทีเลิกงาน เป็นแบบ INTEGER
่
m2 นาทีทเี่ ลิกงาน เป็นแบบ INTEGER
• ข้อมูลส่งออกคือ ตัวเลขจํานวนชั ่วโมงและนาทีททางาน ่ี ํ
hr จํานวนชั ่วโมงทีทางาน เป็นแบบ INTEGER
่ ํ
mn จํานวนนาทีททางาน เป็นแบบ INTEGER
่ี ํ
• การคํานวณ
จํานวนนาทีเริมต้น mx = h1 * 60 + m1
่
จํานวนนาทีสดท้าย my = h2 * 60 + m2
ุ
จํานวนนาทีทงหมดทีทางาน me = my – mx
ั้ ่ ํ
จํานวนชั ่วโมงทีทางาน hr = me 60
่ ํ
จํานวนนาทีททางาน mn = me MOD 60
่ี ํ
ขันที่ 2 เขียนโปรแกรม
้
ตัวอย่างโปรแกรม 2.13
DIM h1 AS INTEGER, m1 AS INTEGER
DIM h2 AS INTEGER, m2 AS INTEGER
DIM mx AS INTEGER, my AS INTEGER
DIM me AS INTEGER, hr AS INTEGER
DIM mn AS INTEGER
h1 = 6
m1 = 30
h2 = 15
m2 = 50
mx = h1 * 60 + m1
my = h2 * 60 + m2
34. 56
ของภาษาเบสิกคือ ตัวเลขและข้อความ ในการเก็บข้อมูลจะต้องประกาศตัวแปรพร้อมกับบอก
ชนิดข้อมูลทีตวแปรนันจะจั ดเก็บ ข้อมูลทีอยูในตัวแปรสามารถถูกดําเนินการทางคณิ ตศาสตร์
่ ั ้ ่ ่
เช่น การบวกหรือลบ ด้วยการใช้ตวดําเนินการทางคณิตศาสตร์และสามารถแสดงข้อมูลออกทาง
ั
จอภาพโดยใช้คาสั ่งเฉพาะของภาษาเบสิกได้
ํ
คําถามท้ายบท
1. อธิบายประโยชน์ของการศึกษาภาษาเบสิก
2. อธิบายขันตอนการติดตังและรันโปรแกรมภาษาเบสิก
้ ้
3. อธิบายขันตอนการเขียนและรันโค้ดโปรแกรมภาษาเบสิก
้
4. ชนิดข้อมูลแบบตัวเลขกับข้อความมีความเหมือนหรือแตกต่างกันอย่างไร
5. ขอบเขต ของ ข้อมูลและขนาดหน่ วยความจําของชนิดข้อมูลแบบต่างๆ มี
ความสัมพันธ์กนอย่างไร
ั
6. อธิบายกฎและวิธการประกาศตัวแปรในภาษาเบสิก
ี
7. การดําเนินการทางคณิตศาสตร์หมายถึงอะไร
8. ตัวกระทําและตัวถูกกระทําหมายถึงอะไร มีความสัมพันธ์กนอย่างไร
ั
9. อธิบายขันตอนการคํานวณของนิพจน์ ยกตัวอย่างประกอบ
้
10. คําสั ่งทีใช้สาหรับแสดงข้อมูลบนจอภาพของโปรแกรมภาษาเบสิกคืออะไร
่ ํ
ยกตัวอย่างการใช้งานประกอบ
กิ จกรรมท้ายบท
1. ดาวน์โหลดและติดตัง โปรแกรม QBASIC ลงในเครืองคอมพิวเตอร์ โดยให้
้ ่
ติดตังไว้ทโฟลเดอร์ C:QBASIC และสร้างชอร์ทคัทเรียกให้โปรแกรมทํางานไว้
้ ่ี
บน Desktop ของ Windows
2. เขียนโปรแกรมต่อไปนี้และบอกผลการรันโปรแกรม
DIM x AS INTEGER
DIM y AS INTEGER
DIM z AS INTEGER
INPUT "Enter x ", x
INPUT "Enter y ", y
IF (x > y) THEN
z=x
ELSE
z=y
END IF
PRINT "Max = "; z
35. 57
3. สร้างไฟล์ EXE จากโปรแกรมในข้อที่ 2 โดยตังชือไฟล์เป็น DEMO.EXE และ
้ ่
รันโปรแกรมบนคอมมานด์ไลน์
4. เขียนโปรแกรมต่อไปนี้และบอกผลการรันโปรแกรม
DIM x AS INTEGER
DIM y AS INTEGER
x = 10
y=5
PRINT x * y / 2
PRINT (x * 2) + y
PRINT (x * x + (y – 2) / 3)
PRINT y + y - x * x
PRINT x * y MOD 8
PRINT x ^ 2 ^ 3
PRINT (x / y) 2
PRINT (x y) * 2
PRINT z * (x + y) * 10
5. เขียนโปรแกรมต่อไปนี้ซงเป็นโปรแกรมหาค่าเฉลียของตัวเลข 3 ค่าคือ x y และ
่ึ ่
z หากผลการรันโปรแกรมได้คาออกมาไม่ถกต้อง ให้หาข้อผิดพลาดว่าเกิดจาก
่ ู
สาเหตุใดและแก้ไขโปรแกรมให้ทางานได้ถกต้อง
ํ ู
DIM x AS INTEGER
DIM y AS INTEGER
DIM z AS INTEGER
DIM a AS SINGLE
x = 10
y = 10
z = 10
a=x+y+z/3
PRINT "Average = ", a