1. 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: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
GVLT: TS. ĐINH BÁ TIẾN
HƯỚNG DẪN THỰC HÀNH
TUẦN 01 – CLASS
TRẦN THANH HẢI
HỒ TUẤN THANH
TP.HCM, ngày 22 tháng 09 năm 2012
2. tthai/htthanh@fit.hcmus.edu.vn
Trang 2
MỤC LỤC
1 Bài tập...........................................................................................................................3
1.1 Bài tập trên lớp.......................................................................................................3
1.2 Bài tập về nhà.........................................................................................................4
3. tthai/htthanh@fit.hcmus.edu.vn
Trang 3
1 Bài tập
Hoàn thành các bài tập dưới đây, tuân thủ các qui tắc lập trình đã học trong 2 môn năm
nhất:
1. Qui tắc đặt tên
2. Qui tắc viết code
3. Qui tắc ghi chú (ghi chú mỗi project và ghi chú mỗi hàm)
4. Qui tắc chia file (.h và .cpp)
5. Qui tắc bố trí project (1 solution, n projects: Bai01, Bai02, …)
1.1 Bài tập trên lớp
1. Khai báo class điểm trong không gian 2 chiều với các phương thức sau:
a. Khởi tạo điểm
b. Nhập điểm từ bàn phím
c. Xuất điểm ra màn hình
d. Tính khoảng cách 2 điểm
e. Kiểm tra điểm có thuộc góc phần tư thứ nhất ko
f. Kiểm tra điểm có thuộc góc phần tư thứ hai ko
g. Kiểm tra điểm có thuộc góc phần tư thứ ba ko
h. Kiểm tra điểm có thuộc góc phần tư thứ tư ko
i. Trả về x (layX)
j. Gán giá trị x (ganX)
k. Trả về y
l. Gán giá trị y
2. Khai báo class tam giác (3 điểm) với các phương thức sau:
a. Khởi tạo tam giác
b. Nhập tam giác từ bàn phím
c. Xuất tam giác ra màn hình
d. Tính chu vi tam giác
e. Tính diện tích tam giác
f. Tìm tọa độ trọng tâm tam giác
g. Tính tổng khoảng cách từ 1 điểm P cho trước đến 3 đỉnh tam giác
h. Trả về A
i. Gán A
j. Trả về B
k. Gán B
l. Trả về C
m. Gán C
4. tthai/htthanh@fit.hcmus.edu.vn
Trang 4
1.2 Bài tập về nhà
Hoàn thành các bài tập trên lớp
Với các bài tập sau, hãy:
1. Vẽ sơ đồ lớp cho các class. Sinh viên sử dụng công cụ StarUML hoặc Astah
Community (menu File – New; menu Diagram – Class Diagram) để vẽ rồi copy
bitmap vào file Word để nộp.
Hình 1 - Sơ đồ lớp (Astah Community)
2. Lập trình trên ngôn ngữ C++
Đề bài:
1. Khai báo class phân số với các phương thức:
a. Khởi tạo phân số (ngẫu nhiên)
b. Nhập phân số
c. Xuất phân số
d. Cộng 2 phân số
e. Trừ 2 phân số
f. Nhân 2 phân số
g. Chia phân số 1 cho phân số 2
h. Lấy tử số
i. Gán tử số
5. tthai/htthanh@fit.hcmus.edu.vn
Trang 5
j. Lấy mẫu số
k. Gán mẫu số (đảm bảo mẫu số khác 0 và mẫu số dương)
l. Rút gọn phân số (làm xong câu này thì sửa lại các phương thức cộng, trừ,
nhân, chia 2 phân số ở trên)
m. Xét dấu phân số
n. Kiểm tra phân số có là phân số dương
o. Kiểm tra phân số có là phân số âm
p. So sánh 2 phân số
2. Khai báo class đường tròn với các phương thức:
a. Khởi tạo đường tròn (ngẫu nhiên)
b. Nhập đường tròn
c. Xuất đường tròn
d. Tính chu vi đường tròn
e. Tính diện tích đường tròn
f. Xét vị trí tương đối của một điểm vs đường tròn
g. Xét vị trí tương đối của 2 đường tròn
h. Kiểm tra đường tròn này có nằm trong đường tròn kia ko
i. Kiểm tra đường tròn này có chứa đường tròn kia ko
j. Kiểm tra 2 đường tròn có giao nhau ko
k. Kiểm tra 2 đường tròn có tiếp xúc nhau ko
l. Kiểm tra 2 đường tròn có nằm ngoài nhau ko
3. Xây dựng lớp phát sinh số ngẫu nhiên với các phương thức sau:
a. Khởi tạo hạt giống (thời gian hiện hành trên máy)
b. Phát sinh số nguyên [0, n) (n cho trước)
c. Phát sinh số nguyên [a, b]
d. Phát sinh số thực [0, 1]
4. Xây dựng lớp học sinh gồm mã học sinh, họ tên, điểm văn, điểm toán với các
phương thức:
a. Khởi tạo (ngẫu nhiên)
b. Nhập học sinh
c. Xuất học sinh
d. Lấy/gán giá trị họ tên, điểm văn, điểm toán
e. Tính điểm trung bình
f. Xếp loại học sinh
g. Cho biết sinh viên lên lớp hay ở lại