หลัการเบื้องต้นการเขียนโปรแกรมvb6.0
DESCRIPTION
TRANSCRIPT
LOGO
หลั�กการเบื้องต้�นเก��ยวVisual Basic 6.0หลั�กการเบื้องต้�นเก��ยวVisual Basic 6.0
CHAPTER 3
อาจารย�ปรเมษฐ์� ดำ�าชู�คณะว!ทยาการจ�ดำการ โปรแกรม
คอมพิ!วเต้อร�ธุ(รก!จ
สร�างป*ญญา สร�างป*ญญา ศร�ทธุาศร�ทธุาความดำ�ความดำ�
1/16
2
ก�าหนดำป*ญหา
การสร�างอ�ลักอร!ธุ-มแลัะรห�สเท�ยม
การสร�างผั�งงาน
การเขี�ยนโปรแกรม
การทดำสอบื้แลัะแก�ไขี
ท�าเอกสารประกอบื้
3
ว!เคราะห�ผัลัลั�พิธุ� ว!เคราะห� Input Process เขี�ยนขี�นต้อนการแก�ป*ญหา
ขี�อม�ลัท��น�าเขี�าส�1ระบื้บื้คอมพิ!วเต้อร�ประกอบื้ดำ�วย
อะไรบื้�าง
- ก�าหนดำว�ต้ถุ(ประสงค�ขีองงาน
- ร�ปแบื้บื้ขีองผัลัลั�พิธุ�
4
ว!เคราะห�ผัลัลั�พิธุ� ว!เคราะห� Input Process เขี�ยนขี�นต้อนการแก�ป*ญหา
ขี�อม�ลัท��น�าเขี�าส�1ระบื้บื้คอมพิ!วเต้อร�ประกอบื้ดำ�วย
อะไรบื้�าง
- ก�าหนดำว�ต้ถุ(ประสงค�ขีองงาน
- ร�ปแบื้บื้ขีองผัลัลั�พิธุ�
5
1. ว!เคราะห�ผัลัลั�พิธุ�ก�าหนดำว�ต้ถุ(ประสงค� การค�านวณหา
พินท��สามเหลั��ยมร�ปแบื้บื้ผัลัลั�พิธุ�
ความยาวฐ์าน = ………………
ความส�ง = ………………พินท��สามเหลั��ยม =
……………
2 .ก�าหนดำขี�อม�ลัเขี�า1. ความยาวฐ์าน
2. ความส�ง
6
ต้1อต้1อ
2
1
3. ขี�นต้อนการประมวลัผัลั (Process)
พินท��สามเหลั��ยม = ความยาวฐ์าน ความส�ง
Variable and Data Type Variable and Data Type
เลัขีจ�านวนเต้3ม เลัขีจ�านวนเต้3ม Byte
0 ถึ�ง 255Integer
-32,768 ถึ�ง 32,767
Long -2,147,483,648
ถึ�ง 2,147,483,648
Byte 0 ถึ�ง 255
Integer
-32,768 ถึ�ง 32,767
Long -2,147,483,648
ถึ�ง 2,147,483,648
เลัขีจ�านวนจร!งเลัขีจ�านวนจร!งSingle
-3.402823E38 ถึ�ง -1.401298E-45 ค่�าลบ ส่�วนค่�าบวก 1.401298E-45 ถึ�ง 3.402823E38
Double -179769313486232E38
ถึ�ง -1.401298E-45 ส่�าหรั�บค่�าลบ และ 1.401298E-45 ถึ�ง 3.402823E38 ส่�าหรั�บค่�าบวก
Single -3.402823E38 ถึ�ง -
1.401298E-45 ค่�าลบ ส่�วนค่�าบวก 1.401298E-45 ถึ�ง 3.402823E38
Double -179769313486232E38
ถึ�ง -1.401298E-45 ส่�าหรั�บค่�าลบ และ 1.401298E-45 ถึ�ง 3.402823E38 ส่�าหรั�บค่�าบวก
Variable and Data Type Variable and Data Type
StringString เก�บื้ขี�อม�ลัท��เป4นสายอ�กขีระ เก�บื้ขี�อม�ลัท��เป4นสายอ�กขีระ
VariantVariant เป4นขี�อม�ลัชูน!ดำพิ!เศษท��เก3บื้
ค1าไดำ�ท(กร�ปแบื้บื้ เป4นขี�อม�ลัชูน!ดำพิ!เศษท��เก3บื้
ค1าไดำ�ท(กร�ปแบื้บื้
8
CurrencyCurrency เป4นต้�วเลัขีทางการเง!น เป4นต้�วเลัขีทางการเง!น
DateDate
เป4นว�นท��ต้�งแต้1 1 มกราคม ค.ศ . 100 ถุ-ง 31 ธุ�นวาคม ค.ศ.9999
เป4นว�นท��ต้�งแต้1 1 มกราคม ค.ศ . 100 ถุ-ง 31 ธุ�นวาคม ค.ศ.9999
9
Boolean
เป4นขี�อม�ลัท��เก3บื้ค1าสองค1าไดำ�แก1 True หรอ False
10
ลัองท�าดำ�ให�เขี�ยนชูน!ดำขี�อม�ลัเขี�อม�ลัเกรัดเฉล��ย Single
อาย�ของค่น Byte
จำ�านวนส่�นค่�า Integer
ค่วามยาวถึนน
single
เพศ String
เง�นเด#อน single
บ�านเลขที่�� String
ให�ต้รวจสอบื้ว1าชูน!ดำขี�อม�ลัท��ใชู�ถุ�กหรอผั!ดำ
11
× Single
×
×
×
×
String
String
String
Boolean
ต้�วอย1างต้�วอย1าง
Input Base (ค่วามยาวของฐาน) เป็'นข�อม(ลชน�ด
Single Height (ค่วามส่(ง) เป็'นข�อม(ลชน�ด Single
Process Area = 0.5 * Base * Height
Output Area เป็'นข�อม(ลชน�ด Single
12
เคร�องหมายท��ใชู�ในการค�านวณ ใน Visual Basic 6.0เคร�องหมายท��ใชู�ในการค�านวณ ใน Visual Basic 6.0
13
n
Div & MODDiv & MOD
DIV คอ เป4นการหารเอาเลัขีจ�านวนเต้3มMOD คอ เป4นการหารเอาเศษท��เหลัอ
ที่�*ง DIV และ MOD ม�กรัรัมว�ธี�เหม#อนก�บการัหารัโดยที่��วๆ เพ�ยงแต่�การัหาค่�างของ DIV จำะเอาค่�าต่อบจำากการัหารัที่��เป็'นเลขจำ�านวนเต่/ม ส่�วนการัหารัค่�า MOD น�*นจำะเอาเศษที่��เหล#อจำากการัหารัเช�นเด�ยวก�น
14
ต้�วอย1างการหาค1าขีอง DIV แลัะ MODต้�วอย1างการหาค1าขีอง DIV แลัะ MOD
จงหาค1าขีอง 5 \ 2 = ???จงหาค1าขีอง 5 MOD 2 = ???
15
2 5
2
4-
1
ค1าขีอง DIV
ค1าขีอง MOD
22
11
หมายเหต้( ต้�วต้�งแลัะต้�วหารขีองการหาค1า Div(\)แลัะ MOD จะต้�องเป4นเลัขีจ�านวนเต้3มเท1าน�นหากค1าใดำค1าหน-�งเป4นเลัขีจ�านวนจร!งจะเก!ดำ Error
หมายเหต้( ต้�วต้�งแลัะต้�วหารขีองการหาค1า Div(\)แลัะ MOD จะต้�องเป4นเลัขีจ�านวนเต้3มเท1าน�นหากค1าใดำค1าหน-�งเป4นเลัขีจ�านวนจร!งจะเก!ดำ Error
ดำ!ป บื้น มอดำลั1าง ต้�งหารปกต้! ม�เฉพิาะเลัขีจ�านวนเต้3ม ม!ฉะน�นจะError !??!
ดำ!ป บื้น มอดำลั1าง ต้�งหารปกต้! ม�เฉพิาะเลัขีจ�านวนเต้3ม ม!ฉะน�นจะError !??!
ชูน!ดำขีอม�ลั
Operator
ชูน!ดำขี�อม�ลั
ผัลัลั�พิธุ� ต้�วอย1าง
Integer
+ Integer
Integer/real
3+2 = 5 หรั#อ 5.0
Integer
- Integer
Integer/real
3-2 = 1 หรั#อ 1.0
Integer
* Integer
Integer/real
3*2 = 6 หรั#อ 6.0
Integer
/ Integer
Real 3/2 = 1.50
Integer
\ Integer
Integer
3\2 = 1
Integer
mod Integer
Integer
3 mod 2 = 1
16
ชูน!ดำขีอม�ลั
Operator
ชูน!ดำขี�อม�ลั
ผัลัลั�พิธุ� ต้�วอย1าง
Real + Real Real 3.0+2.0 = 5.0
Real - Real Real 3.0-2.0 = 1.0
Real * Real Real 3.0*2.0 = 6.0
Real / Real Real 3.0/2.0 = 1.50
Real \ Real ErrorReal MOD Real Error
17
การดำ�าเน!นการการดำ�าเน!นการ
ชูน!ดำขีอม�ลั
Operator
ชูน!ดำขี�อม�ลั
ผัลัลั�พิธุ� ต้�วอย1าง
Integer
+ Real Real 3+2.0 = 5.0
Integer
- Real Real 3-2.0 = 1.0
Integer
* Real Real 3*2.0 = 6.0
Integer
/ Real Real 3/2.0 = 1.50
Integer
\ Real Error
Integer
MOD Real Error
18
ต้�วอย1างเพิ!�มเต้!มต้�วอย1างเพิ!�มเต้!ม
19
24 * 8 Mod 2 =
= Integer
= Integer
Integer *Integer = Integer
Integer *Integer = Integer
MOD Integer = Integer MOD Integer = Integer
ต้�วอย1างเพิ!�มเต้!มต้�วอย1างเพิ!�มเต้!มให�หาผัลัลั�พิธุ�ขีอง z = x + y โดำยก�าหนดำให�
x เก3บื้ขี�อม�ลัชูน!ดำ Integer y เก3บื้ขี�อม�ลัชูน!ดำ Single แลัะก�าหนดำให� s เก3บื้ขี�อม�ลัชูน!ดำ Integer อยากทราบื้ว1าควรก�าหนดำขี�อม�ลัชูน!ดำใดำให�ก�บื้ต้�วแปร z
z = x + y - s
20
= Single
= Single
Integer + Single =SingleInteger + Single =Single
- Integer = Single - Integer = Single
SingleSingle
ลั�าดำ�บื้ความส�าค�ญขีองเคร�องหมายลั�าดำ�บื้ความส�าค�ญขีองเคร�องหมายลั�าดำ�บื้ท��
เคร�องหมาย
1 ()2 ^3 * , /4 \ , MOD5 + , -
21
เคร�องหมายม�ความส�าค�ญเป4นอย1างมากเพิราะม�ผัลัต้1อผัลัลั�พิธุ�ท��ออกมา
เคร�องหมายม�ความส�าค�ญเป4นอย1างมากเพิราะม�ผัลัต้1อผัลัลั�พิธุ�ท��ออกมา
ExampleExample
แบื้บื้น�ผั!ดำ 5+2* 7 = ??? 5+2* 7 = ???
แบื้บื้น�ถุ�ก 5 +2* 7 = ??? 5 +2* 7 = ???
22
= 7
= 49
= 14
= 19
เพิราะเคร�องหมายค�ณ ม�ความส�าค�ญมากกว1าเคร�องหมายจะต้�องดำ�าเน!นการก1อน
เพิราะเคร�องหมายค�ณ ม�ความส�าค�ญมากกว1าเคร�องหมายจะต้�องดำ�าเน!นการก1อน
2 *7 = 142 *7 = 14
+ 5 = 19 + 5 = 19
ลัองท�าดำ�ลัองท�าดำ�ให�ค�านวณหาค1าขีองต้�วแปร (Variable)
พิร�อมท�งก�าหนดำชูน!ดำขี�อม�ลัให�ก�บื้ต้�วแปรA=24 * 8 Mod 2 =???B=8 \2 MOD 3 =???C=120 /2 +4 *8 = ????D=16/2 div 4 = ???E=100*10 \ 2 mod 5 = ???
23
A= 24 * 8 Mod 2 =???
B=8 \2 MOD 3 =???C=120 /2 +4 *8 = ????D=16/2 div 4 = ???E=100*10 \ 2 mod 5 = ???
24
192
0
24 * 8 = 19224 * 8 = 192
Integer * Integer = IntegerInteger * Integer = Integer
192 MOD 2 = 0192 MOD 2 = 0
Integer MOD Integer= IntegerInteger MOD Integer= Integer
ต้อบื้ 0 ต้อบื้ A เก3บื้ขี�อม�ลัชูน!ดำ Integer
ลัองท�าดำ�ลัองท�าดำ� B = 8 \ 2 MOD 3
25
= 4
= 1
8 \ 2 = 4 Integer \ Integer = Integer
8 \ 2 = 4 Integer \ Integer = Integer
MOD 3 = 1Integer MOD Integer = Integer
MOD 3 = 1Integer MOD Integer = Integer
ค�าต้อบื้ 1 ควรก�าหนดำต้�วแปร B เก3บื้ขี�อม�ลัชูน!ดำ Integer
ค�าต้อบื้ 1 ควรก�าหนดำต้�วแปร B เก3บื้ขี�อม�ลัชูน!ดำ Integer
ลัองท�าดำ�ลัองท�าดำ�ให�ค�านวณหาค1าขีองต้�วแปร (Variable)
พิร�อมท�งก�าหนดำชูน!ดำขี�อม�ลัให�ก�บื้ต้�วแปร
C=120 /2 +4 *8 = D=16/2 div 4 =
E=100*10 \ 2 mod 5 =
26
92.092.0 C=SingleC=Single
ErrorError
00 E=IntegerE=Integer
เพิราะ 16/2 = 8.0 div 4 = Error Integer/Integer =Real Real DIV Integer = Error
เพิราะ 16/2 = 8.0 div 4 = Error Integer/Integer =Real Real DIV Integer = Error
AssignmentAssignment
ให�เขี�ยนโปรแกรมเพิ�อค�านวณเง!นเดำอนส(ทธุ!ท��จะต้�องจ1ายให�พิน�กงาน โดำยพิน�กงานท(กคนจะถุ�กห�กเง!นประก�นส�งคม 5% แลัะค1าเง!นกองท(น 3% โดำยให�ร�บื้เง!นเดำอนขีองพิน�กงานจากแป7นพิ!มพิ�
จงเขี�ยนโปรแกรมเพิ�อค�านวณหาจ�านวนเง!นฝากในอนาคต้ โดำยผั��ใชู�โปรแกรมสามารถุป7อนจ�านวนเง!นฝาก อ�ต้ราดำอกเบื้�ย แลัะจ�านวนป9ท��ฝากไดำ�ต้ามต้�องการ ส�ต้รดำ�งน� FV = PV(1+i)
• FVn = ม(ลค่�าของเง�นในอนาค่ต่• PV = ม(ลค่�าของเง�นในป็2จำจำ�บ�น• I = อ�ต่รัาดอกเบ�*ย• N = รัะยะเวลาในการัฝากเง�น
27
nn
28
LOGO สร�างป*ญญา สร�างป*ญญาศร�ทธุาความดำ�ศร�ทธุาความดำ�
29