visualbasic2010 unit 4
TRANSCRIPT
หนวยการเรยนรท 4 เรอง ค าสงควบคมการท างาน ค าสงตดสนใจ (Decision)
เปนค ำสงทใชในกำรตดสนใจเลอกทศทำงกำรท ำงำนของโปรแกรม สรปไดดงน
1. If…Then…. : ตดสนใจหนงทำงเลอก 2. If…Then…Else : ตดสนใจสองทำงเลอก 3. If ซอน If : ตดสนใจเลอกมำกกวำ 2 ทำงเลอก 4. Select…Case : ตดสนใจเลอกมำกกวำ 2 ทำงเลอก 5. For …Next : กำรวนซ ำดวยจ ำนวนรอบทแนนอน 6. While … End While : กำรวนซ ำดวยจ ำนวนรอบทไมแนนอน
*******************************************************************************
If…Then….เปนค ำสงตดสนใจทมทำงเลอก คอ ท ำหรอไมท ำค ำสงชดนน โดยตรวจสอบเงอนไขกอน
รปแบบค ำสงดงน If <เงอนไขทก ำหนด> Then <ชดค ำสงทใหท ำเมอ เปนจรง> End If
If…Then…Else ตดสนใจเลอกจำก 2 ทำงเลอก ถำเง อนไขเปนจรงท ำชดค ำสงหนง ถำเปนเทจใหท ำอกชดค ำสงหนง
รปแบบค ำสงดงน If <ตรวจสอบเงอนไขวำจรง หรอเทจ> Then
<ถำเปนจรงใหท ำชดค ำสง หลงค ำวำ Then> Else <ถำเปนเทจใหท ำชดค ำสงหลงค ำวำ Else> End If
ตวอยำง If txt_name.Text = "" Then MessageBox.Show("คณไมไดกรอกชอ ! ", "พบขอผดพลำด", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else MessageBox.Show("ยนดตอนรบ คณ " & txt_name.Text, "แสดงควำมยนด",
MessageBoxButtons.OK, MessageBoxIcon.Information) End If
การใช If ซอน If คอการตดสนใจมากกวา 2 ทางเลอก รปแบบค ำสงดงน
If <ตรวจสอบเงอนไข> Then <ชดค ำสงเมอตรวจสอบเงอนไขแลวเปนจรง > ElseIf<ตรวจสอบเงอนไข> Then <ชดค ำสงเมอตรวจสอบเงอนไขแลวเปนจรง >
ElseIf<ตรวจสอบเงอนไข> Then <ชดค ำสงเมอตรวจสอบเงอนไขแลวเปนจรง >
… … Else <ชดค ำสงเมอตรวจสอบเงอนไขแลวเปนเทจ >
End If
ตวอยาง ค านวณเกรด โดยใช if else
Dim point As Integer 'ประกำศตวแปร point เปนจ ำนวนเตม point = TextBox1.Text 'ให point มคำเทำกบคำทเรำจะกรอกบน textbox1 If point >= 80 And point <= 100 Then'ถำpoint มคำ 80-100
'ใหแสดงกลองขอควำมบอกวำคณไดเกรด A MessageBox.Show("คณไดเกรด A", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) ElseIf point >= 75 And point <= 79 Then
'ถำpoint มคำ 75-79 'ใหแสดงกลองขอควำมบอกวำคณไดเกรด B+ MessageBox.Show("คณไดเกรด B+", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) ElseIf point >= 70 And point <= 74 Then 'ถำpoint มคำ 70-74 'ใหแสดงกลองขอควำมบอกวำคณไดเกรด B MessageBox.Show("คณไดเกรด B", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) ElseIf point >= 65 And point <= 69 Then 'ถำpoint มคำ 65-69 'ใหแสดงกลองขอควำมบอกวำคณไดเกรด C+ MessageBox.Show("คณไดเกรด C+", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) ElseIf point >= 60 And point <= 64 Then 'ถำpoint มคำ 60-64 'ใหแสดงกลองขอควำมบอกวำคณไดเกรด C MessageBox.Show("คณไดเกรด C", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) ElseIf point >= 55 And point <= 59 Then 'ถำpoint มคำ 55-59 'ใหแสดงกลองขอควำมบอกวำคณไดเกรด D+ MessageBox.Show("คณไดเกรด D+", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) ElseIf point >= 50 And point <= 54 Then 'ถำpoint มคำ 50-54 'ใหแสดงกลองขอควำมบอกวำคณไดเกรด D MessageBox.Show("คณไดเกรด D", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) ElseIf point >= 0 And point <= 49 Then 'ถำpoint มคำ นอยกวำ 50 'ใหแสดงกลองขอควำมบอกวำคณไดเกรด F MessageBox.Show("คณไดเกรด F", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) End If
Select…Case ตดสนใจเลอกมำกกวำ 2 ทำงเลอก รปแบบค ำสงดงน
Select Case <ทดสอบเงอนไข> Case เงอนไขแรก : <ท ำงำนตำมเงอนไขแรก> Case เงอนไขทสอง : <ท ำงำนตำมเงอนไขทสอง> . . . Case สดทำย : <ท ำตำมเงอนไขสดทำย> Case Else <เมอไมตรงกบเงอนไขใดๆ เลย ท ำงำนหลงค ำวำ Else> End Select ตวอยาง ค านวณเกรด โดยใช Select Case Dim point As Integer 'ประกำศตวแปร point เปนจ ำนวนเตม point = TextBox1.Text 'ให point มคำเทำกบคำทเรำจะกรอกบน textbox1 Select Case point Case 80 To 100 'ถำpoint มคำ 80-100 ใหแสดงกลองขอควำมบอกวำคณไดเกรด A MessageBox.Show("คณไดเกรด A", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) Case 75 To 79 'ถำpoint มคำ 75-79 ใหแสดงกลองขอควำมบอกวำคณไดเกรด B+ MessageBox.Show("คณไดเกรด B+", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) Case 70 To 74 'ถำpoint มคำ 70-74 ใหแสดงกลองขอควำมบอกวำคณไดเกรด B MessageBox.Show("คณไดเกรด B", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) Case 65 To 69 'ถำpoint มคำ 65-69 ใหแสดงกลองขอควำมบอกวำคณไดเกรด C+ MessageBox.Show("คณไดเกรด C+", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) Case 60 To 64
'ถำpoint มคำ 60-64 ใหแสดงกลองขอควำมบอกวำคณไดเกรด C MessageBox.Show("คณไดเกรด C", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) Case 55 To 59 'ถำpoint มคำ 55-59 ใหแสดงกลองขอควำมบอกวำคณไดเกรด D+ MessageBox.Show("คณไดเกรด D+", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) Case 50 To 54 'ถำpoint มคำ 50-54 ใหแสดงกลองขอควำมบอกวำคณไดเกรด D MessageBox.Show("คณไดเกรด D", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) Case 0 To 49 'ถำpoint มคำ 0-49 ใหแสดงกลองขอควำมบอกวำคณไดเกรด F MessageBox.Show("คณไดเกรด F", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Information) Case Else 'ถำหำกหรอกตวเลขอนนอกเหนอจำกน โปรแกรมกจะแสดงกลองขอควำมวำ คณระบตวเลขไมถกตอง MessageBox.Show("คณระบตวเลขไมถกตอง", "แจงเตอน", MessageBoxButtons.OK, MessageBoxIcon.Error) End Select
For …Next : การวนซ าดวยจ านวนรอบทแนนอน เปนค ำสงทใชเมอตองกำรใหโปรแกรมท ำงำนวนซ ำดวยจ ำนวนรอบทแนนอน โดยจะมตวแปรท ำกำร
นบรอบกำรวนซ ำ กอนท ำกำรวนซ ำ จะตรวจสอบคำของตวแปรทนบรอบกำรวนซ ำวำครบแลวกจะออกจำกกำรวนซ ำ และท ำงำนค ำสงถดไป
รปแบบค ำสงดงน For ตวแปร=คำเรมตน To คำสดทำย [Step กำรนบของตวแปร] <ชดค ำสงกรณทเงอนไขเปนจรง> Next [ตวแปรทใชนบ]
ตวอยาง โปรแกรมหำผลรวมโดยใชค ำสง For
Dim intSum, i As Integer intSum = 0
For i = 0 To 100
intSum = i + intSum
Next MessageBox.Show ("ผลรวมตงแต 1 - 100 เทำกบ " & intSum)
While … End While : การวนซ าดวยจ านวนรอบทไมแนนอน เปนค ำสงทใชในกรณทโปรแกรมมกำรท ำงำนวนซ ำ โดยโปรแกรมจะท ำชดค ำสงภำยใน While เมอ
เงอนไขทก ำหนดเปนจรงและจะออกจำกค ำสง While เมอเงอนไขทก ำหนดเปนเทจ
รปแบบค าสงดงน
While <เงอนไขทก ำหนด> <ชดค ำสงกรณทเงอนไขเปนจรง true> End While
ใบงานท 4.1 ค าช แจง ใหนกเรยนเขยนโปรแกรม ตรวจสอบวำเปนเลขคหรอค โดยใชค ำสง If …then …else
แนวคด 1. ประกำศตวแปร integer ส ำหรบเกบคำจ ำนวนทปอนเขำไป 2. น ำตวเลขทปอนเขำมำเกบไวทตวแปร n 3. ใชค ำสง If…then …else เขำมำชวยในกำรตดสนใจ โดยใชเงอนไข n mod 2 = 0 ( mod คอ หำรเอำสวน ) ซงชวยเรำใหรวำเลขทปอนเขำมำนนเปนเลขคหรอค 4. ถำเงอนไขเปนจรงใหแสดงขอควำมในชองผลลพธ วำ “เปนเลขค” ถำเงอนไขไมจรงใหแสดงขอควำมในชองผลลพธ วำ “เปนเลขค”
ชดค ำสง
ใบงานท 4.2 ค าช แจง ใหนกเรยนเขยนโปรแกรมรวมคะแนนตดเกรด
ชดค ำสง Source code ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………
ใบงานท 4.3 ค าช แจง ใหนกเรยนเขยนโปรแกรมแสดงตวเลข โดยใชค ำสง For ..to… รวมกบ listBox
ชดค ำสง Source code ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………
ใบงานท 4.4 ค าช แจง ใหนกเรยนเขยนโปรแกรมสตรคณ
ชดค ำสง Source code ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………
ใบงานท 4.5 ค าช แจง ใหนกเรยนปฏบตกำรเขยนโปรแกรม
1. เขยนโปรแกรมคดคำน ำประปำ 2. เขยนโปรแกรมคดคำไฟฟำ 3. เขยนโปรแกรมคดรำคำสนคำและสวนลด 4. เขยนโปรแกรมคดรำคำสนคำและภำษ 7% 5. เขยนโปรแกรมรำนคำ 6. เขยนโปรแกรมหำคำ BMI
ตวอยาง
ชดค ำสง Source code ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………
ออกแบบหนำจอโปรแกรม