01/10/2010
Khoa CNTT-ĐH.KHTN
Nội dung
Lập Trình Ứng Dụng Quản Lý 1
Chương 2:
Lập trình hướng đơn thể với
VB.NET
GV. Trương Phước Lộc
•
•
•
•
•
•
Thủ tục – Procedure.
Hàm - Function.
Tham số - Parameter.
Đơn thể - Module.
Tầm vực.
Áp dụng.
Khối khai báo
Void main()
{…}
Thủ tục
Hàm
Chương trình
GV. Trương Phước Lộc
2
Khoa CNTT-ĐH.KHTN
1. Thủ tục - Procedure
Khoa CNTT-ĐH.KHTN
1.1 Khái niệm
• Khái niệm.
• Cú pháp.
• Ví dụ
GV. Trương Phước Lộc
• Khái niệm:
Thủ tục là dãy các câu lệnh để thực thi một
công việc, một chức năng đặc thù nào đó, thủ
tục được xem như là một thành phần của
chương trình.
3
ThS. Nguyễn Tấn Trần Minh Khang
GV. Trương Phước Lộc
4
Khoa CNTT-ĐH.KHTN
1.2 Cú pháp
ThS. Nguyễn Tấn Trần Minh Khang
Khoa CNTT-ĐH.KHTN
1.2 Cú pháp
[<attributelist>] [accessmodifier]
[proceduremodifiers] [shared] [shadows]
Sub name [(Of typeparalist)] [(parameterlist)]
[Implements implementslist | Handles eventlist]
[statements]
[Exit sub]
[statements]
End sub
GV. Trương Phước Lộc
ThS. Nguyễn Tấn Trần Minh Khang
5
ThS. Nguyễn Tấn Trần Minh Khang
[Public, Protected, Private] Sub <Tên thủ tục>
[(danh sách các tham số)]
<Khai báo biến thuộc tầm vực thủ tục>
Câu lệnh 1
Câu lệnh 2
…
End sub
GV. Trương Phước Lộc
6
ThS. Nguyễn Tấn Trần Minh Khang
1
01/10/2010
Khoa CNTT-ĐH.KHTN
1.3 Ví dụ
Khoa CNTT-ĐH.KHTN
2 Hàm - Function
Module Module1
Sub XuatChuoi(byval str As String)
Console.WriteLine(str)
End Sub
• Khái niệm.
• Cú pháp.
• Ví dụ.
Sub Main()
XuatChuoi("Chao ban ...")
End Sub
End Module
GV. Trương Phước Lộc
7
ThS. Nguyễn Tấn Trần Minh Khang
GV. Trương Phước Lộc
8
Khoa CNTT-ĐH.KHTN
2.1 Khái niệm
Khoa CNTT-ĐH.KHTN
2.2 Cú pháp
• Khái niệm:
Hàm là dãy các câu lệnh để thực thi một thao
tác đặc thù nào đó, hàm được xem như là một
thành phần của chương trình.
GV. Trương Phước Lộc
ThS. Nguyễn Tấn Trần Minh Khang
9
ThS. Nguyễn Tấn Trần Minh Khang
[<attributelist>] [accessmodifier]
[proceduremodifiers] [shared] [shadows]
Function name [(Of typeparalist)] [(parameterlist)]
[As returntype]
[Implements implementslist | Handles eventlist]
[statements]
[Exit Funtion]
[statements]
End Function
GV. Trương Phước Lộc
10
Khoa CNTT-ĐH.KHTN
2.2 Cú pháp
ThS. Nguyễn Tấn Trần Minh Khang
Khoa CNTT-ĐH.KHTN
2.3 Ví dụ
[Public, Protected, Private] Function <tên hàm>
[(danh sách các tham số)] as kiểu dữ liệu trả về
<Khai báo biến thuộc tầm vực hàm>
Câu lệnh 1
Câu lệnh 2
…
End Function
Module Module1
Function Cong(ByVal a As Double, ByVal b As Double)
As Double
Dim kq As Double
kq = a + b
Return kq
End Function
Sub Main()
Dim x, y, tong As Double
x = 10
y = 20
tong = Cong(x, y)
Console.WriteLine(tong)
End Sub
End Module
GV. Trương Phước Lộc
11
ThS. Nguyễn Tấn Trần Minh Khang
GV. Trương Phước Lộc
12
ThS. Nguyễn Tấn Trần Minh Khang
2
01/10/2010
Khoa CNTT-ĐH.KHTN
3. Tham số - Parameter
Khoa CNTT-ĐH.KHTN
3.1 Khái niệm
• Khái niệm.
• Phân loại.
• Ví dụ.
• Khái niệm: tham số là các thơng số đầu vào của
một hàm.
• Ví dụ:
▫ Hàm tìm ước số của số ngun dương n.
▫ Hàm tính tổng hai số.
▫ Hàm giải phương trình bậc nhất ax + b = 0.
GV. Trương Phước Lộc
13
ThS. Nguyễn Tấn Trần Minh Khang
GV. Trương Phước Lộc
14
Khoa CNTT-ĐH.KHTN
3.2 Phân loại
Khoa CNTT-ĐH.KHTN
3.3 Ví dụ
Có 2 loại tham số: tham trị và tham biến.
• Tham trị: khơng đổi.
▫ Ví dụ:
Function Ten(byval a as integer, …) as …
• Tham biến: có thể thay đổi về mặt giá trị sau lời
gọi hàm.
▫ Ví dụ:
Function Ten(byref a as integer, …) as …
GV. Trương Phước Lộc
15
ThS. Nguyễn Tấn Trần Minh Khang
Module Module1
Sub HoanVi(By a As Double, ByRef b As Double)
Dim t As Double
t=a
a=b
b=t
End Sub
Sub Main()
Dim x, y As Double
x = 10
y = 20
HoanVi(x, y)
Console.WriteLine("x = {0} & y = {1}", x, y)
End Sub
End Module
GV. Trương Phước Lộc
16
Khoa CNTT-ĐH.KHTN
4. Đơn thể - module
ThS. Nguyễn Tấn Trần Minh Khang
Khoa CNTT-ĐH.KHTN
4.1 Khái niệm
• Khái niệm.
• Cú pháp.
• Phân loại.
GV. Trương Phước Lộc
ThS. Nguyễn Tấn Trần Minh Khang
• Khái niệm:
Đơn thể là một hệ thống các thủ tục và hàm
được thiết kế và xây dựng để phục vụ cho một
chức năng nào đó trong chương trình.
17
ThS. Nguyễn Tấn Trần Minh Khang
GV. Trương Phước Lộc
18
ThS. Nguyễn Tấn Trần Minh Khang
3
01/10/2010
Khoa CNTT-ĐH.KHTN
4.2 Cú pháp
4.3 Phân loại
• Đơn thể hướng chức năng.
• Đơn thể hướng dữ liệu.
[<attributelist>] [accessmodifier]
Module name [
[statements]
End Module
GV. Trương Phước Lộc
Khoa CNTT-ĐH.KHTN
19
ThS. Nguyễn Tấn Trần Minh Khang
GV. Trương Phước Lộc
20
Khoa CNTT-ĐH.KHTN
5. Tầm vực
Khoa CNTT-ĐH.KHTN
6. Áp dụng
Mức (Level)
Mô tả
Khối lệnh
Block scope
Thuộc phạm vi khối lệnh mà biến được
khai báo.
Thủ tục, hàm
Procedure scope
Đơn thể
Module scope
Không gian tên
Namespace scope
Thuộc phạm vi thủ tục, hàm mà biến
được khai báo
Thuộc phạm vi đơn thể, lớp, hoặc cấu
trúc mà biến được khai báo
Được hiểu trong toàn phạm vi
namespace mà biến được khai báo
GV. Trương Phước Lộc
ThS. Nguyễn Tấn Trần Minh Khang
21
ThS. Nguyễn Tấn Trần Minh Khang
• Cho n. Tìm chữ số đảo ngược của n.
• Cho n. Liệt kê tất cả ước số của n.
• Cho n. Kiểm tra n có phải là số hồn thiện hay
khơng.
• Cho a, b, c. Giải phương trình ax4 + bx2 + c = 0.
GV. Trương Phước Lộc
22
ThS. Nguyễn Tấn Trần Minh Khang
Khoa CNTT-ĐH.KHTN
Câu hỏi
GV. Trương Phước Lộc
23
ThS. Nguyễn Tấn Trần Minh Khang
4