KỸ THUẬT LẬP TRÌNH
❖ Trường Đại học Kinh tế Cơng nghiệp Long An
❖ Khoa Công nghệ
❖ Giảng viên: ThS. Ngô Văn Linh
CHƯƠNG 5: CHƯƠNG TRÌNH CON
❑ Gồm các nội dung chính:
5.1. Chương trình con
Khoa Cơng Nghệ
5.2. Khơng gian tên, từ khóa static, phương thức Main
5.3. Xây dựng phương thức
5.4. Phương thức đệ qui
2
5.1. CHƯƠNG TRÌNH CON
Khoa Cơng Nghệ
3
❑ Khái niệm
❖Chương trình con là các module được xây dựng nhằm tránh việc viết lặp đi
lặp lại.
❖Có 2 loại:
➢Hàm: có giá trị trả về
➢Thủ tục: khơng có giá trị trả về
CHƯƠNG 5: CHƯƠNG TRÌNH CON
❑ Gồm các nội dung chính:
5.1. Chương trình con
Khoa Cơng Nghệ
5.2. Khơng gian tên, từ khóa static, phương thức Main
5.3. Xây dựng phương thức
5.4. Phương thức đệ qui
4
5.2. KHƠNG GIAN TÊN, TỪ KHĨA STATIC, PHƯƠNG THỨC MAIN
❑ Khơng gian tên (namespace)
❖C# có sẵn các phương thức được định nghĩa sẵn và lưu trữ ở các không
gian tên.
Khoa Công Nghệ
5
Namespace
Class
Function
5.2. KHƠNG GIAN TÊN, TỪ KHĨA STATIC, PHƯƠNG THỨC MAIN
❑ Khơng gian tên (namespace)
Khoa Cơng Nghệ
Sử dụng từ khóa using để rút gọn việc truy xuất một lớp
Cho biết lệnh truy xuất hàm Main
Rút gọn truy xuất một lớp
6
5.2. KHƠNG GIAN TÊN, TỪ KHĨA STATIC, PHƯƠNG THỨC MAIN
❑ Từ khóa static và phương thức Main
❖Chương trình bắt đầu thực thi phương thức Main()
❖Phương thức Main là phương thức tĩnh nên cần từ khóa static phía trước
Khoa Cơng Nghệ
7
CHƯƠNG 5: CHƯƠNG TRÌNH CON
❑ Gồm các nội dung chính:
5.1. Chương trình con
Khoa Cơng Nghệ
5.2. Khơng gian tên, từ khóa static, phương thức Main
5.3. Xây dựng phương thức
5.4. Phương thức đệ qui
8
5.3. XÂY DỰNG PHƯƠNG THỨC
static <kiểu trả về>
thức> ( [danh sách
tham số])
{
//mã lệnh
return
trả về>;
}
Không giá trị trả về
Khoa Cơng Nghệ
9
Có giá trị trả về
❑ Phương thức
static void
phương thức> (
[danh sách tham
số])
{
//mã lệnh
}
5.3. XÂY DỰNG PHƯƠNG THỨC
❑ Ví dụ
❖Khai báo hàm
❖Gọi hàm
Khoa Cơng Nghệ
Cách gọi hàm
Phương
thức tĩnh
(static)
Hàm khơng có kết quả trả về (void)
Hàm có kết quả trả về (int, float, bool, …)
10
5.3. XÂY DỰNG PHƯƠNG THỨC
❑ Truyền tham số
Khi gọi hàm, giá trị a
và b không thay đổi
(truyền giá trị)
Khi gọi hàm, giá trị
c và d thay đổi
(truyền tham chiếu)
Khoa Công Nghệ
x và y là tham số hình thức
Truyền tham chiếu dùng
từ khóa ref hoặc out
11
Ref: bắt buộc phải khởi tạo giá trị đầu vào
Out: không bắt buộc khởi tạo giá trị đầu vào
5.3. XÂY DỰNG PHƯƠNG THỨC
❑ Ví dụ
Khoa Cơng Nghệ
Out thường dùng trong hàm
cần trả về nhiều giá trị
12
CHƯƠNG 5: CHƯƠNG TRÌNH CON
❑ Gồm các nội dung chính:
5.1. Chương trình con
Khoa Cơng Nghệ
5.2. Khơng gian tên, từ khóa static, phương thức Main
5.3. Xây dựng phương thức
5.4. Phương thức đệ qui
13
5.4. PHƯƠNG THỨC ĐỆ QUI
Khoa Công Nghệ
14
❑ Phương thức đệ qui
❖Là phương thức nếu
bên trong thân nó có
lệnh gọi lại đến chính nó
❖Đặc điểm
➢Phải xác định trường
hợp dừng
➢Phần đệ qui là phần
có gọi lại hàm đang
định nghĩa
5.4. PHƯƠNG THỨC ĐỆ QUI
❑ Ví dụ
❖Tính n giai thừa
Khoa Công Nghệ
Phần dừng
Phần đệ qui
n! = 1 * 2 * 3 * 4 * 5 * … * (n-1) * n
15
CÂU HỎI ƠN TẬP
Khoa Cơng Nghệ
16
1)
2)
3)
4)
5)
Tại sao phải xây dựng chương trình con?
Cho biết cú pháp của hàm và thủ tục?
Vì sao phải sử dụng từ khóa using?
So sánh truyền tham số theo giá trị và theo tham chiếu?
Phương thức đệ qui bắt buộc phải có tiêu chí gì?
BÀI TẬP CHƯƠNG 5
Khoa Cơng Nghệ
17
1) Viết hàm tìm số lớn nhất trong hai số. Áp dụng tìm số lớn nhất trong ba số a,
b, c với a, b, c nhập từ bàn phím?
2) Viết hàm tìm ước chung lớn nhất của hai số a và b. Áp dụng: nhập vào tử và
mẫu số của một phân số, kiểm tra xem phân số đó đã tối giản hay chưa?
3) Viết hàm kiểm tra xem số vừa nhập có phải là số ngun tố khơng?
4) Viết chương trình nhập vào một số nguyên, in ra các số nguyên tố từ 1 đến
số vừa nhập?
5) Viết chương trình tính tổng sau:
𝑆 = 11 + 22 + ⋯ + 𝑛𝑛
22 33
𝑛𝑛
𝑆 = 1 + + + ⋯+
2! 3!
𝑛!
Trong đó, n được nhập từ bàn phím