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ƯỚ...
tthai/htthanh@fit.hcmus.edu.vn
Trang 2
MỤC LỤC
1 Thành phần tĩnh ............................................................
tthai/htthanh@fit.hcmus.edu.vn
Trang 3
1 Thành phần tĩnh
1.1 Giới thiệu
Một lớp sẽ có 2 thành phần:
Các thuộc tính của lớp...
tthai/htthanh@fit.hcmus.edu.vn
Trang 4
Tính sin
Tính cos
Tính tan
Tính cotan
Tính trị tuyệt đối
Tính căn bậc 2
Tính căn bậ...
tthai/htthanh@fit.hcmus.edu.vn
Trang 5
4. Thông tin nhân viên gồm: số cmnd, họ tên, địa chỉ, năm sinh. Viết 2 hàm nhập và ...
tthai/htthanh@fit.hcmus.edu.vn
Trang 6
Hãy áp dụng cơ chế xử lý lỗi vào các hàm này
3. Trong lớp mảng số nguyên có các hàm...
tthai/htthanh@fit.hcmus.edu.vn
Trang 7
Lương giáo viên = hệ số lương * lương cơ bản + số tiết dạy * 60.000
Lương giáo viên...
Upcoming SlideShare
Loading in …5
×

Cq lt hdt-th2011-01-tuan08

572 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
572
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cq lt hdt-th2011-01-tuan08

  1. 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 08 THÀNH PHẦN TĨNH – CƠ CHẾ XỬ LÝ LỖI TRẦN THANH HẢI HỒ TUẤN THANH TP.HCM, ngày 14 tháng 11 năm 2012
  2. 2. tthai/htthanh@fit.hcmus.edu.vn Trang 2 MỤC LỤC 1 Thành phần tĩnh ............................................................................................................3 1.1 Giới thiệu ...............................................................................................................3 1.2 Lưu ý......................................................................................................................3 1.3 Bài tập ....................................................................................................................3 2 Cơ chế xử lý lỗi.............................................................................................................5 2.1 Bài tập ....................................................................................................................5 3 Kế thừa..........................................................................................................................6
  3. 3. tthai/htthanh@fit.hcmus.edu.vn Trang 3 1 Thành phần tĩnh 1.1 Giới thiệu Một lớp sẽ có 2 thành phần: Các thuộc tính của lớp đó Các phương thức của lớp đó Khái niệm thuộc tính tĩnh (static attribute) dùng để thay thế khái niệm biến toàn cục (global variable) trong lập trình thủ tục thông thường. Dĩ nhiên, khi lập trình hướng đối tượng trong ngôn ngữ C++, ta vẫn có quyền khai báo biến toàn cục. Tuy nhiên, xét trường hợp ta muốn khai báo một biến toàn cục, nhưng chỉ có ý nghĩa trong class A. Nếu ta khai báo biến đó là biến toàn cục thì rõ ràng, bất kì hàm nào trong class A cũng có thể thay đổi giá trị của biến đó. Không những thế, bất kì hàm nào không thuộc class A cũng có thể thay đổi giá trị của biến toàn cục đó, làm cho biến đó bị sai. Do đó, ta có thể khai báo biến đó là thuộc tính tĩnh của class A. Ngoài thuộc tính tĩnh, trong một lớp ta cũng có thể khai báo thuộc tính tĩnh. 1.2 Lưu ý Trong các ngôn ngữ lập trình thuần hướng đối tượng như C++, Java, tất cả các biến mà ta muốn khai báo đều phải nằm trong một hàm nào đó (biến cục bộ) hoặc nằm trong một class nào đó (thuộc tính). Do đó, nếu muốn khai báo biến toàn cục, hãy nghĩ đến việc khai báo thuộc tính tĩnh trong class nào đó Trong một class, nếu một phương thức không hề thao tác với thuộc tính không tĩnh nào của class đó, ta có thể để phương thức đó là phương thức tĩnh của class Trong phương thức tĩnh, ta không thể truy xuất đến các thuộc tính không tĩnh trong class đó. 1.3 Bài tập 1. Hãy khai báo lớp Random cung cấp các hàm sau: Phát sinh số nguyên ngẫu nhiên đoạn [0, n) với n là số nguyên Phát sinh số nguyên ngẫu nhiên trong đoạn [a, b] với a, b là số nguyên và a<=b Yêu cầu: sử dụng phương thức tĩnh 2. Hãy khai báo lớp Math cung cấp các hàm sau:
  4. 4. tthai/htthanh@fit.hcmus.edu.vn Trang 4 Tính sin Tính cos Tính tan Tính cotan Tính trị tuyệt đối Tính căn bậc 2 Tính căn bậc 3 Tính căn bậc n Tính x^n Yêu cầu: sử dụng phương thức tĩnh 3. Hãy khai báo lớp Utility cung cấp hàm sau: Tìm ước chung lớn nhất 2 số nguyên dương Tìm bội chung nhỏ nhất 2 số nguyên dương Kiểm tra số nguyên dương x có phải là số nguyên tố không Kiểm tra số nguyên dương x có phải là số chính phương không Kiểm tra số nguyên dương x có phải là số hoàn thiện không Đổi một số từ độ sang radian Đổi một số từ radian sang độ Đổi từ m sang mm Đổi từ mm ra m Đổi từ km ra m Đổi từ m ra km Đổi từ kg ra g Đổi từ g ra kg Đổi từ m ra foot Đổi từ foot ra m Đổi từ inch ra mm Đổi từ mm ra inch Đổi từ gallon ra lít Đổi từ lít ra gallon Đổi từ dặm ra km Đổi từ km ra dặm Đổi từ yard ra m Đổi từ m ra yard Đổi từ km/h ra m/s Đổi từ m/s ra km/h
  5. 5. tthai/htthanh@fit.hcmus.edu.vn Trang 5 4. Thông tin nhân viên gồm: số cmnd, họ tên, địa chỉ, năm sinh. Viết 2 hàm nhập và xuất thông tin nhân viên. Biết rằng công ty chỉ nhận nhân viên từ 18 tuổi đến 35 tuổi. Hãy sử dụng thuộc tính tĩnh lưu tuổi tối thiểu và tuổi tối đa. 5. Thông tin của một sinh viên gồm: mssv, họ tên, điểm thực hành, điểm lí thuyết. Viết 5 hàm: nhập, xuất, tính điểm môn học, xét đậu rớt và xếp loại sinh viên đó. Biết rằng: Điểm môn học = 60% lí thuyết và 40% thực hành Xếp loại sinh viên (xuất sắc, giỏi, khá, trung bình khá, trung bình, yếu): dựa vào thang điểm mà trường ta đang áp dụng. Yêu cầu: sử dụng thuộc tính tĩnh lưu tỉ lệ thang điểm (60%, 40%, …), lưu mức điểm ứng với mức xếp loại (8.0 cho loại giỏi, …) 2 Cơ chế xử lý lỗi 2.1 Bài tập Trong các bài tập 1, 2, 3, 4, với mỗi exception, sinh viên hãy xây dựng một class kế thừa class exception trong thư viện chuẩn của C++ 1. Trong lớp PhanSo có các hàm: Nhập Xuất Cập nhật tử Cập nhật mẫu Chia 2 phân số Đọc từ file Ghi xuống file Hãy áp dụng cơ chế xử lý lỗi vào các hàm này 2. Trong lớp Ngay có các hàm sau: Nhập Xuất Cập nhật ngày Cập nhật tháng Cập nhật năm Đọc từ file Ghi xuống file
  6. 6. tthai/htthanh@fit.hcmus.edu.vn Trang 6 Hãy áp dụng cơ chế xử lý lỗi vào các hàm này 3. Trong lớp mảng số nguyên có các hàm sau: Nhập Xuất Thêm phần tử x vào vị trí k Xóa phần tử tại k Trả về phần tử vị trí k Cập nhật phần tử vị trí k Hãy áp dụng cơ chế xử lý lỗi vào các hàm này 4. Hãy áp dụng cơ chế xử lý lỗi vào bài tập đọc thông tin từ file svg và vẽ hình sử dụng GDI+ 5. Nếu trong constructor của một lớp xảy ra exception thì destructor của class đó có được gọi hay không? Viết một đoạn code minh họa. 6. Cho biết cơ chế two-stage construction là gì? Viết một đoạn code minh họa. 7. Cho biết kết quả thực hiện đoạn chương trình sau: 3 Kế thừa Thông tin của một giáo viên gồm: họ tên, địa chỉ, hệ số lương, số tiết dạy Giáo viên chủ nhiệm làm công việc của một giáo viên và ngoài ra còn phải làm chủ nhiệm một lớp. Biết rằng:
  7. 7. tthai/htthanh@fit.hcmus.edu.vn Trang 7 Lương giáo viên = hệ số lương * lương cơ bản + số tiết dạy * 60.000 Lương giáo viên chủ nhiệm = hệ số lương * lương cơ bản + số tiết dạy * 60.000 + 500.000 (tiền chủ nhiệm một lớp) Hãy viết các hàm sau: Lớp giáo viên: o Hàm dựng mặc định o Hàm dựng đầy đủ tham số o Hàm dựng sao chép o Toán tử gán bằng o Hàm hủy o Nhập o Xuất o Tính lương Lớp giáo viên chủ nhiệm: o Hàm dựng mặc định o Hàm dựng đầy đủ tham số o Hàm dựng sao chép o Toán tử gán bằng o Hàm hủy o Nhập o Xuất o Tính lương Yêu cầu: Sử dụng kiểu dữ liệu char * để lưu chuỗi Sử dụng thuộc tính tĩnh/phương thức tĩnh

×