visualbasic2010 unit 4

13
หน่วยการเรียนรู้ที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

Upload: -

Post on 29-May-2015

1.875 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Visualbasic2010 unit 4

หนวยการเรยนรท 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

Page 2: Visualbasic2010 unit 4

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

Page 3: Visualbasic2010 unit 4

การใช 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

Page 4: Visualbasic2010 unit 4

'ถำ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

Page 5: Visualbasic2010 unit 4

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

Page 6: Visualbasic2010 unit 4

'ถำ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

Page 7: Visualbasic2010 unit 4

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)

Page 8: Visualbasic2010 unit 4

While … End While : การวนซ าดวยจ านวนรอบทไมแนนอน เปนค ำสงทใชในกรณทโปรแกรมมกำรท ำงำนวนซ ำ โดยโปรแกรมจะท ำชดค ำสงภำยใน While เมอ

เงอนไขทก ำหนดเปนจรงและจะออกจำกค ำสง While เมอเงอนไขทก ำหนดเปนเทจ

รปแบบค าสงดงน

While <เงอนไขทก ำหนด> <ชดค ำสงกรณทเงอนไขเปนจรง true> End While

Page 9: Visualbasic2010 unit 4

ใบงานท 4.1 ค าช แจง ใหนกเรยนเขยนโปรแกรม ตรวจสอบวำเปนเลขคหรอค โดยใชค ำสง If …then …else

แนวคด 1. ประกำศตวแปร integer ส ำหรบเกบคำจ ำนวนทปอนเขำไป 2. น ำตวเลขทปอนเขำมำเกบไวทตวแปร n 3. ใชค ำสง If…then …else เขำมำชวยในกำรตดสนใจ โดยใชเงอนไข n mod 2 = 0 ( mod คอ หำรเอำสวน ) ซงชวยเรำใหรวำเลขทปอนเขำมำนนเปนเลขคหรอค 4. ถำเงอนไขเปนจรงใหแสดงขอควำมในชองผลลพธ วำ “เปนเลขค” ถำเงอนไขไมจรงใหแสดงขอควำมในชองผลลพธ วำ “เปนเลขค”

ชดค ำสง

Page 10: Visualbasic2010 unit 4

ใบงานท 4.2 ค าช แจง ใหนกเรยนเขยนโปรแกรมรวมคะแนนตดเกรด

ชดค ำสง Source code ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………

Page 11: Visualbasic2010 unit 4

ใบงานท 4.3 ค าช แจง ใหนกเรยนเขยนโปรแกรมแสดงตวเลข โดยใชค ำสง For ..to… รวมกบ listBox

ชดค ำสง Source code ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………

Page 12: Visualbasic2010 unit 4

ใบงานท 4.4 ค าช แจง ใหนกเรยนเขยนโปรแกรมสตรคณ

ชดค ำสง Source code ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………

Page 13: Visualbasic2010 unit 4

ใบงานท 4.5 ค าช แจง ใหนกเรยนปฏบตกำรเขยนโปรแกรม

1. เขยนโปรแกรมคดคำน ำประปำ 2. เขยนโปรแกรมคดคำไฟฟำ 3. เขยนโปรแกรมคดรำคำสนคำและสวนลด 4. เขยนโปรแกรมคดรำคำสนคำและภำษ 7% 5. เขยนโปรแกรมรำนคำ 6. เขยนโปรแกรมหำคำ BMI

ตวอยาง

ชดค ำสง Source code ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………

ออกแบบหนำจอโปรแกรม