ใบงานที่ 3
การเขียนโปรแกรมเบื้องต้น
1.จงเขียนโปรแกรมเพื่อคำนวณเลขยกกำลัง
1.1)
จงหาค่า B , E เมื่อ I > E
1.2)
จงหาค่า S เมื่อ I > E
1.3)
จงหาค่า I เมื่อ I>E
1.4)จงหาว่ามีการวนซ้ำ (looping) กี่ครั้ง 1.5) จากผังงานใช้วงรอบชนิดใด
A) ออกแบบส่วนติดต่อกับผู้ใช้งาน (User Interface) :
|
A) กำหนดคุณสมบัติของออบเจ็กต์
ชื่อออบเจ็กต์ |
คุณสมบัติ |
ค่าที่กำหนด |
1.
Form |
Name |
frmPower |
Text |
การคำนวณหาเลขยกกำลัง |
|
2. GroupBox |
Name |
GroupbBox1 |
Text |
ป้อนข้อมูล |
|
3. Label |
Name |
Label1 |
Text |
ป้อนเลขฐาน |
|
4. Label |
Name |
Label2 |
Text |
ป้อนเลขยกกำลัง |
|
5. TextBox |
Name |
TextBox1 |
Text |
|
|
6. TextBox |
Name |
TextBox1 |
Text |
|
|
7. GroupBox |
Name |
GroupBox2 |
Text |
ผลลัพธ์ |
|
Visible |
False |
|
8. Label |
Name |
Label3 |
Text |
|
|
9. Button |
Name |
Button1 |
Text |
ตกลง |
B) เขียนชุดคำสั่ง (Source Code)
Public Class frmPower
Private Sub
FrmPower_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.Load Me.CenterToScreen()
GroupBox1.Text = "ป้อน ตัวเลข "
GroupBox2.Text = " ผลลัพธ์ "
Label1.Text = "ป้อนเลขฐาน"
Label2.Text = "ป้อนเลขกำลัง"
TextBox1.Text = ""
TextBox2.Text = ""
Button1.Text = "ตกลง"
GroupBox2.Visible = False
End Sub
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button1.Click
Dim b, ee, i, s As Integer b =
CInt(TextBox1.Text) ee
= CInt(TextBox2.Text)
Label1.Text = b i
= 1 s
= 1 Do
While (i <= ee)
s = s * b
i = i + 1
Loop 'MsgBox(s) 'MessageBox.Show(s)
Label3.Text = b & " ^ " & ee & " = "
& s
GroupBox2.Visible = True
End Sub End Class |
2.
การเขียนโปรแกรมย่อย ใน VB2005 มี 2 ประเภท คือ
1. Sub (Sub Routine)
เป็นโปรแกรมย่อยที่ไม่มีการส่งผลการทำงานกลับมาให้ผู้เรียกใช้โปรแกรมย่อยทราบ
รูปแบบ
ดังนี้ |
Sub ชื่อซับรูทีน(รายการพารามิเตอร์) < คำสั่งการทำงาน >
End
Sub |
2. Function เป็นโปรแกรมย่อยที่มีการส่งผลการทำงานกลับมาให้ผู้เรียกใช้ฟังก์ชั่นทราบ
รูปแบบ
ดังนี้ |
Function ชื่อฟังก์ชัน(รายการพารามิเตอร์) As ชนิดข้อมูล < คำสั่งการทำงาน >
ชื่อฟังก์ชัน = ค่าที่คืนกลับ End
Function |
A) ตัวอย่างการเรียกใช้งาน
Label3.Text =
Power(TextBox1.Text, TextBox2.Text) |
B) ตัวอย่างฟังก์ชัน
Function Power(ByVal base As String, ByVal expoment As String) As Integer Dim b, ex, i, s As Integer b
= CInt(base) ex
= CInt(expoment) s
= 1 i
= 1 Do While (i <=
ex)
s = s * b
i = i + 1 Loop Return s
End Function |
หมายเหตุ
ประยุกต์โดยการเขียนไว้ใน Module จะทำให้ทุกฟอร์มสามารถเรียกใช้งานฟังก์ชัน Power ได้
3) ประยุกต์ใช้งานเขียนฟังก์ชันหาผลรวม
ค่าเฉลี่ยของตัวเลข (ทั้งหมด , เลขคี่ ,
เลขคู่) จากการป้อนของตัวเลข 2 จำนวน
|
\
A)
ตัวอย่าง
ชุดคำสั่ง(Source Code) ฟังก์ชัน ใน Module
Module Module1 Function
SUMNUMBER(ByVal N1 As
String, ByVal
N2 As String,
ByVal Type As
Byte) As Integer Dim X, Y, S As Integer X
= Val(N1) Y
= Val(N2) S
= 0 Select Case Type
Case 1 'ทั้งหมด
Do While
(X <= Y)
S = S + X
X = X + 1
Loop
Case 2 ' เลขคี่
Do While
(X <= Y)
If (X Mod
2 = 1) Then
S = S + X
End If X
= X + 1
Loop
Case 3 ' เลขคู่
Do While
(X <= Y)
If (X Mod
2 <> 1) Then
S = S + X
End If
X = X + 1
Loop End Select Return S
End Function End Module |
B)
ตัวอย่าง
ชุดคำสั่ง(Source Code) ในฟอร์ม
Public Class Form1
Private Sub
Form1_Load Me.CenterToScreen()
Label1.Text = "ป้อนเลขเริ่มต้น"
Label2.Text = "ป้อนเลขสุดท้าย"
Label3.Text = ""
TextBox1.Text = ""
TextBox2.Text = ""
Label3.Text = ""
Button1.Text = " ออก "
RadioButton1.Text = " ทั้งหมด "
RadioButton2.Text = " เลขคึ่ "
RadioButton3.Text = " เลขคู่ "
End Sub
Private Sub
Button1_Click End
End Sub
Private Sub
RadioButton2_CheckedChanged
RadioButton2.CheckedChanged
Label3.Text = SUMNUMBER(TextBox1.Text, TextBox2.Text, 2)
End Sub
Private Sub
RadioButton3_CheckedChanged
RadioButton3.CheckedChanged
Label3.Text = SUMNUMBER(TextBox1.Text, TextBox2.Text, 3)
End Sub
Private Sub
RadioButton1_CheckedChanged
RadioButton1.CheckedChanged
Label3.Text = SUMNUMBER(TextBox1.Text, TextBox2.Text, 1)
End Sub End Class |
4) Download ตัวอย่างโปรแกรม
คลิก