ใบงานที่ 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() |