Giáo trình Nhập môn lập trình - Hướng dẫn thực hành tuần 4 - Phạm Minh Tuấn
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
HỆCHÍNH QUI
MÔN: NHẬP MÔN LẬP TRÌNH
GVLT: ThS. PHẠM MINH TUẤN
HDTH TUẦN 04
PHẠM TÚ SAN
TRẦN NGỌC HIỆU
TP.HCM, tháng 11 năm 2012
ptsan/[email protected].vn
1 Mục tiêu
- Làm quen với lập trình hàm
- Làm quen với tổ chức chương trình
- Lập trình hàm với các bài tập cấu trúc chọn và vòng lặp
2 Nội dung
2.1 Một hàm có 3 thành phần
Tên hàm:
o Tuân theo qui tắc đặt tên biến
o Bắt đầu bằng động từ
o Ví dụ: hàm kiểm tra số nguyên tố kiemTraSoNguyenTo
Các đầu vào hay còn gọi là tham số của hàm:
o Có mấy tham số?
o Kiểu dữ liệu của mỗi tham số là gì?
o Ví dụ: hàm kiểm tra số nguyên tố đầu vào là một số nguyên dương
int x
Đầu ra hay còn gọi là kiểu trả về:
o Ví dụ: hàm kiểm tra số nguyên tố trả về kết quả có hoặc ko qui ước
1: có và 0: ko int
o Ta có: int kiemTraSoNguyenTo(int k);
2.2 Khi viết một hàm cần làm 3 việc
Khai báo hàm:
o Cho biết tên hàm, các đầu vào và đầu ra
o Để “quảng cáo” hàm của mình có thể làm gì
o Ví dụ:
Trang 2
ptsan/[email protected].vn
o Lưu ý:
. Có dấu chấm phẩy (;) ở cuối dòng khai báo hàm
. Hàm ko trả về giá trị kiểu trả về là void
o Viết trong file header (file .h)
Định nghĩa hàm:
o Qui định cách xử lý của hàm đó
o Ví dụ: Hàm kiểm tra số nguyên tố.
. Cách xử lý 1: Duyệt từ 1 đến k. Đếm số ước, nếu bằng 2 thì là số
nguyên tố.
. Cách xử lý 2: Duyệt từ 2 đến k-1. Nếu k chia hết cho bất kì số nào
thì k ko phải là số nguyên tố.
. Cách xử lý 3: Duyệt từ 2 đến k/2. Nếu k chia hết cho bất kì số nào
thì k ko phải là số nguyên tố.
. Cách xử lý 4: Duyệt từ 2 đến sqrt(k). Nếu k chia hết cho bất kì số
nào thì k ko phải là số nguyên tố.
Trang 3
ptsan/[email protected].vn
o Viết trong file .cpp
o Lưu ý:
. Ko có dấu chấm phẩy (;) ở dòng đầu tiên
. Hàm phải có cặp dấu { và }
. Nếu hàm ko có tên là nhập, xuất, liệt kê thì trong hàm tuyệt đối ko
được dùng lệnh printf và scanf
. Đầu mỗi hàm, nên có một đoạn ghi chú (comment) cho biết ý nghĩa
của hàm, các giá trị trả về
. Dòng khai báo hàm phải giống với dòng đầu tiên của định nghĩa
hàm
Sử dụng hàm:
o Khi đã có hàm (hàm đó có thể do bạn tự viết như hàm
kiemTraSoNguyenTo, có thể ai đó viết sẵn mình chỉ sử dụng như hàm sin,
Trang 4
ptsan/[email protected].vn
cos, pow, sqrt) sử dụng hàm. Sử dụng hàm hay còn gọi là Gọi hàm. Nếu
hàm có giá trị trả về thì có thể nhận giá trị đó để xử lý tiếp.
o Lưu ý:
. Các tham số: chỉ quan tâm tham số đó kiểu gì. Truyền vào hàm các
biến có kiểu dữ liệu có cùng với kiểu dữ liệu lúc khai báo hàm, và ko
cần trùng tên.
. Khi truyền tham số chỉ truyền tên biến, ko viết lại kiểu dữ liệu.
2.3 Tham số
Có hai cách truyền: tham trị và tham biến
Tham trị:
o Khi trong hàm ko có nhu cầu thay đổi giá trị tham số.
Tham biến:
o Khi trong hàm có nhu cầu thay đổi giá trị tham số.
o Khi trong hàm muốn trả về nhiều hơn 1 giá trị.
2.4 Tổ chức chương trình
Mỗi project có 3 file
File Ham.h
Trang 5
ptsan/[email protected].vn
o Add New Item Header File
o Viết câu lệnh #pragma onceở dòng đầu tiên
o Kế tiếp, viết các câu lệnh #include
o Viết các dòng khai báo hàm
o Lưu ý: Cuối mỗi dòng khai báo hàm dấu chấm phẩy (;)
File Ham.cpp
o #include “Ham.h”
o Viết các định nghĩa của các hàm khai báo trong “Ham.h”
File Main.cpp
o #include “Ham.h”
Code hàm main
3 Bài tập
1. Nhập vào độ dài 3 cạnh a, b, c của 1 tam giác.
a. Cho biết 3 cạnh đó có lập thành một tam giác không ?
b. Nếu có, cho biết loại tam giác nào (thường, cân, vuông, đều, vuông cân).
2. Nhập 1 chữ cái, nếu là chữ thường thì đổi thành chữ hoa, ngược lại đổi thành chữ
thường.
3. Tính tiền đi taxi từ số km đã được nhập vào, biết:
- 1 km đầu giá 15000đ
- Từ km thứ 2 đến km thứ 5 giá 13500đ
- Từ km thứ 6 trở đi giá 11000đ
- Nếu đi hơn 120km sẽ đƣợc giảm 10% trên tổng số tiền.
4. Viết chương trình xuất ra màn hình dãy số Fibonanci cấp n, xác định theo công
thức :
Fib(1) = 1 Fib(2) = 1
Fib(n) = Fib(n-1) + Fib(n-2) với n> 2.
5. In ra tất cả các số nguyên tố nhỏ hơn số n được nhập vào từ bàn phím.
6. Một số tự nhiên được gọi là số hoàn thiện nếu nó bằng tổng tất cả các ước số của
nó, kể cả 1. Hãy viết hàm kiểm tra một số có phải là số hoàn thiện hay không, và
in ra tất cả các số hoàn thiện nhỏ hơn số N cho trước
7. Kiểm tra xem 1 số nguyên dương n có phải là số toàn số lẻ.
Trang 6
ptsan/[email protected].vn
8. Tìm chữ số lẻ đầu tiên của số nguyên dương n
9. Nhập vào số nguyên dương n. Cho biết n có phải số đối xứng không?
√
√
√
(
)
10. Viết hàm tính
√
11. Viết hàm tính S = 1! + 2! + … + n!
12. Viết hàm tính S(n) = 1 +1/2 + 1/3 +1/4 + … + 1/n.
13. Viết hàm tính S(x,n) = x2 + x4 + … + x2n
14. Viết hàm tính S(n) = 1/2 + 1/4 + … + 1/(2n)
15. Viết hàm tính S(n) = 1/3 + 1/5 + … + 1/(2n+1)
16. Viết hàm tính S(n) = 1/(1 *2) + 1/(2*3) + … + 1/(n*(n+1))
17. Viết hàm tính S(n) = 1/2 + 2/3 + 3/4 + … + n/(n+1)
18. Nhâp 2 sô nguyên dương a, b khác không. (i) Tìm USCLN(a, b); (ii) Tìm hai số
nguyên x và y sao cho: USCLN(a, b) = a * x + b * y
19. Viết chương trình in bảng cửu chương ra màn hình
20. Viết hàm tính chu vi và diện tích hình chữ nhật khi biết độ dài 2 cạnh. Sau đó vẽ
hình chữ nhật ra màn hình bằng các dấu *. Hàm tính chu vi, diện tích và hàm vẽ
hình chữ nhật phải độc lập nhau.
******************
*
*
*
*
*
*
*
*
******************
21. Viết hàm in ra hình tam giác vuông với chiều cao do người dùng nhập vào
*
***
*****
*******
22. Viết hàm in ra hình tam giác cân với chiều cao do người dùng nhập vào
*
***
*****
*******
4 Qui định
Các bài tập làm chung trong một solution. Tên solution là MSSV của bạn.
Mỗi bài là một project. Tên project lần lượt là Bai01, Bai02, …
Trang 7
ptsan/[email protected].vn
Trong mỗi project phải tổ chức file theo đúng như file HDTH (xem kĩ phần 2)
Nộp bài: Xóa các thư mục Debug, Release, file *.sdf (nếu có), nén thư mục chứa solution
thành file có tên dạng <MSSV>.rar hoặc <MSSV>.zip.
Mọi trường hợp làm sai qui định 0 điểm bài tập này.
Thởi hạn nộp bài: 23h55 Ngày 21/11/2012
Trang 8
Bạn đang xem tài liệu "Giáo trình Nhập môn lập trình - Hướng dẫn thực hành tuần 4 - Phạm Minh Tuấn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
giao_trinh_nhap_mon_lap_trinh_huong_dan_thuc_hanh_tuan_4_pha.pdf

