BÀI THỰC HÀNH Họ và tên:..................................................................... Lớp:.............................................................................. HỌC PHẦN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI C++ DÀNH CHO HỆ ĐẠI HỌC (Lưu hành nội bộ) HÀ NỘI, 122020 1 HƯỚNG DẪN SỬ DỤNG 1. Sinh viên cần chuẩn bị bài thực hành ở nhà trước khi đến phòng thực hành, bao gồm: Nghiên cứu đề bài. Đọc các kiến thức liên quan. Cài đặt trước (nếu có thể). 2. Mang theo tài liệu này khi tới phòng thực hành. 3. Với các bài yêu cầu thiết kế, sinh viên thiết kế sơ đồ lớp tại nhà; giáo viên hướng dẫn thực hành sẽ kiểm tra tính chính xác của bản thiết kế trước khi cài đặt. 4. Với mỗi bài tập, sinh viên sẽ: Tự làm bài tập trong vòng 10 phút. Nếu gặp khó khăn: nghe gợi ý làm bài trong 10 phút tiếp theo và tự làm bài. Nếu vẫn gặp khó khăn: xem đáp án và tự làm bài trong 10 phút tiếp theo. Nếu vẫn không tự hoàn thành bài tập, sinh viên sao chép code mẫu và chạy thử. 5. Sau mỗi bài tập, sinh viên tự đánh giá mức độ đạt được của mình theo 5 mức cho sẵn. 2 TỔNG QUAN VỀ HỌC PHẦN I. THÔNG TIN CHUNG Tên học phần Lập trình hướng đối tượng (C++) Thời lượng: 30 tiết lý thuyết + 30 giờ thực hành Số bài kiểm tra: 02 bài Điểm chuyên cần: Có, dự phòng Hình thức kiểm tra: Trên máy, 45 phút Hình thức thi: Trên máy, 60 phút Điều kiện tiên quyết: Sinh viên đã hoàn thành học phần: Kỹ thuật lập trình. Học phần tiếp theo: Kiến thức của học phần này sẽ được sử dụng trong các học phần: Lập trình .NET; Lập trình Java; ASP, PHP, Python. Điều kiện dự thi: Sinh viên đủ điều kiện dự thi nếu thỏa mãn cả 3 điều kiện sau: Không nghỉ quá 10 tiết lý thuyết Không nghỉ quá 3 buổi thực hành Bài kiểm tra số 2 không dưới 4. Tài liệu: Thông tin chung về học phần (giảng viên cung cấp) Giáo trình lập trình Lập trình HĐT (thư viện) Bài thực hành (giảng viên cung cấp) Hướng dẫn thực hành (giảng viên cung cấp) Hướng dẫn ôn tập (giảng viên cung cấp) Assignment (3 bài, giảng viên cung cấp) Bảng đánh giá (giảng viên cung cấp) Giảng viên: TS. Nguyễn Mạnh Cường Support: Edmodo.com (mã lớp: xin liên hệ giảng viên) II. NỘI DUNG HỌC PHẦN Stt Nội dung Số giờ chuẩn bị của cá nhân sinh viên (giờ) 1 Chương 1. Lập trình HĐT và các khái niệm cơ bản 8 2 Chương 2. Xây dựng và sử dụng lớp 30 3 Chương 3. Hàm định nghĩa chồng và các toán tử 24 4 Chương 4. Kế thừa 20 5 Chương 5. Phương thức ảo và tính đa hình 14 6 Chương 6. Dòng nhập xuất dữ liệu 14 7 Chương 7. Khuôn hình và biệt lệ 10 3 TIÊU CHUẨN ĐÁNH GIÁ MÔN HỌC Stt Nội dung – Yêu cầu Ghi chú Phần căn bản C1 Check here Check here Check here Check here Check here Check here Check here Check here Check here Hiểu khái niệm: lớp đối tượng thuộc tính phương thức Biết các mối quan hệ giữa các lớp Đọc, hiểu được sơ đồ lớp Cài đặt thành thạo một lớp đơn giản Cài đặt thành thạo việc sinh và sử dụng đối tượng Hiểu cấu trúc của mảng đối tượng và cách sử dụng Hiểu các phạm vi truy cập: private protected public Biết cách đặt phạm vi truy cập cho các thành phần Thành thạo ba cách truy cập thuộc tính riêng tư C2 C3 C4 C5 C6 C7 C8 C9 Phương thức khởi tạo phương thức hủy C10 Check here Check here Check here Hiểu phân loại phương thức khởi tạo phương thức hủy Hiểu cơ chế sử dụng phương thức khởi tạo pt hủy Viết thành thạo các phương thức khởi tạo pt hủy C11 C12 Quan hệ kết tập C13 Check here Check here Check here Hiểu quan hệ kết tập, các kiểu kết tập Cài đặt thành thạo quan hệ kết tập 11 Cài đặc thành thạo quan hệ kết tập 1nhiều C14 C15 Quan hệ kế thừa C16 Check here Check here Check here Check here Check here Check here Hiểu khái niệm kế thừa Xác định được lớp cơ sở lớp dẫn xuất Cài đặt được lớp cơ sở Cài đặt được lớp dẫn xuất kế thừa lớp cơ sở Hiểu cách sử dụng lại code của lớp cơ sở Thành thạo xử lý pt khởi tạo có đối trong lớp dẫn xuất C17 C18 C19 C20 C21 Tổng hợp kiến thức cơ bản C22 Check here Check here Check here Thiết kế được sơ đồ lớp Cài đặt thành phạo một sơ đồ lớp Cài đặt được các hàm bạn truy xuất dữ liệu lớp C23 C24 Nạp chồng toán tử C25 Check here Check here Check here Hiểu và phân loại được các toán tử Hiểu cú pháp cài đặt một phương thức toán tử Cài đặt thành thạo phương thức toán tử 1, 2 ngôi C26 C27 C28 4 C29 Check here Check here Check here Check here Check here Sử dụng được phương thức toán tử Cài đặt được hàm toán tử nhập xuất Sử dụng thành thạo hàm toán tử nhập xuất Xuất được dữ liệu vào tệp text bằng hàm toán tử xuất Đọc được dữ liệu tử tệp text bằng hàm toán tử nhập C30 C31 C32 Phương thức ảo khuôn mẫu biệt lệ C33 Check here Check here Check here Check here Check here Hiểu và cài đặt được phương thức ảo Hiểu khái niệm kết buộc động Hiểu khái niệm tính đa hình Hiểu khái niệm về khuôn mẫu Cài đặt, sử dụng thành thạo khuôn mẫu C34 C35 C36 C37 Tổng hợp kiến thức cuối khóa C38 Check here Check here Check here Check here Check here Tôi thành thạo cài đặt phiếu Tôi thành thạo cài đặt sơ đồ lớp phức tạp Tôi thành thạo cài đặt các câu bonus Tôi thành thạo cài đặt pt toán tử Tôi thành thạo cài đặt nhập xuất fil
BÀI THỰC HÀNH Họ tên: Lớp: HỌC PHẦN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI C++ DÀNH CHO HỆ ĐẠI HỌC (Lưu hành nội bộ) HÀ NỘI, 12/2020 HƯỚNG DẪN SỬ DỤNG [1] Sinh viên cần chuẩn bị thực hành nhà trước đến phòng thực hành, bao gồm: - Nghiên cứu đề - Đọc kiến thức liên quan - Cài đặt trước (nếu có thể) [2] Mang theo tài liệu tới phòng thực hành [3] Với yêu cầu thiết kế, sinh viên thiết kế sơ đồ lớp nhà; giáo viên hướng dẫn thực hành kiểm tra tính xác thiết kế trước cài đặt [4] Với tập, sinh viên sẽ: - Tự làm tập vịng 10 phút - Nếu gặp khó khăn: nghe gợi ý làm 10 phút tự làm - Nếu gặp khó khăn: xem đáp án tự làm 10 phút - Nếu khơng tự hồn thành tập, sinh viên chép code mẫu chạy thử [5] Sau tập, sinh viên tự đánh giá mức độ đạt theo mức cho sẵn TỔNG QUAN VỀ HỌC PHẦN I THÔNG TIN CHUNG Tên học phần Lập trình hướng đối tượng (C++) Thời lượng: 30 tiết lý thuyết + 30 thực hành Số kiểm tra: 02 Điểm chuyên cần: Có, dự phịng Hình thức kiểm tra: Trên máy, 45 phút Hình thức thi: Trên máy, 60 phút Điều kiện tiên quyết: Sinh viên hoàn thành học phần: Kỹ thuật lập trình Học phần tiếp theo: Kiến thức học phần sử dụng học phần: - Lập trình NET; - Lập trình Java; - ASP, PHP, Python Điều kiện dự thi: Sinh viên đủ điều kiện dự thi thỏa mãn điều kiện sau: - Không nghỉ 10 tiết lý thuyết - Không nghỉ buổi thực hành - Bài kiểm tra số không Tài liệu: - Thông tin chung học phần (giảng viên cung cấp) Giáo trình lập trình Lập trình HĐT (thư viện) Bài thực hành (giảng viên cung cấp) Hướng dẫn thực hành (giảng viên cung cấp) Hướng dẫn ôn tập (giảng viên cung cấp) Assignment (3 bài, giảng viên cung cấp) Bảng đánh giá (giảng viên cung cấp) Giảng viên: TS Nguyễn Mạnh Cường Support: Edmodo.com (mã lớp: xin liên hệ giảng viên) II Stt NỘI DUNG HỌC PHẦN Nội dung Số chuẩn bị cá nhân sinh viên (giờ) Chương Lập trình HĐT khái niệm Chương Xây dựng sử dụng lớp 30 Chương Hàm định nghĩa chồng toán tử 24 Chương Kế thừa 20 Chương Phương thức ảo tính đa hình 14 Chương Dòng nhập xuất liệu 14 Chương Khn hình biệt lệ 10 TIÊU CHUẨN ĐÁNH GIÁ MÔN HỌC Stt Nội dung – Yêu cầu Ghi Phần C1 Check here C2 Check here C3 Check here C4 Check here C5 Check here C6 Check here C7 Check here C8 Check here C9 Check here - Hiểu khái niệm: lớp/ đối tượng/ thuộc tính/ phương thức Biết mối quan hệ lớp Đọc, hiểu sơ đồ lớp Cài đặt thành thạo lớp đơn giản Cài đặt thành thạo việc sinh sử dụng đối tượng Hiểu cấu trúc mảng đối tượng cách sử dụng Hiểu phạm vi truy cập: private/ protected/ public Biết cách đặt phạm vi truy cập cho thành phần Thành thạo ba cách truy cập thuộc tính riêng tư Phương thức khởi tạo/ phương thức hủy C10 Check here C11 Check here C12 Check here - Hiểu/ phân loại phương thức khởi tạo/ phương thức hủy Hiểu chế sử dụng phương thức khởi tạo/ pt hủy Viết thành thạo phương thức khởi tạo/ pt hủy - Hiểu quan hệ kết tập, kiểu kết tập Cài đặt thành thạo quan hệ kết tập 1-1 Cài đặc thành thạo quan hệ kết tập 1-nhiều - Hiểu khái niệm kế thừa Xác định lớp sở/ lớp dẫn xuất Cài đặt lớp sở Cài đặt lớp dẫn xuất kế thừa lớp sở Hiểu cách sử dụng lại code lớp sở Thành thạo xử lý pt khởi tạo có đối lớp dẫn xuất Quan hệ kết tập C13 Check here C14 Check here C15 Check here Quan hệ kế thừa C16 Check here C17 Check here C18 Check here C19 Check here C20 Check here C21 Check here Tổng hợp kiến thức C22 Check here C23 Check here C24 Check here - Thiết kế sơ đồ lớp Cài đặt thành phạo sơ đồ lớp Cài đặt hàm bạn truy xuất liệu lớp - Hiểu phân loại toán tử Hiểu cú pháp cài đặt phương thức toán tử Cài đặt thành thạo phương thức tốn tử 1, ngơi Nạp chồng tốn tử C25 Check here C26 Check here C27 Check here C28 C29 Check here C30 Check here C31 Check here C32 Check here Check here - Sử dụng phương thức toán tử Cài đặt hàm toán tử nhập/ xuất Sử dụng thành thạo hàm toán tử nhập/ xuất Xuất liệu vào tệp text hàm toán tử xuất Đọc liệu tử tệp text hàm tốn tử nhập Phương thức ảo/ khn mẫu/ biệt lệ C33 Check here C34 Check here C35 Check here C36 Check here C37 Check here - Hiểu cài đặt phương thức ảo Hiểu khái niệm kết buộc động Hiểu khái niệm tính đa hình Hiểu khái niệm khuôn mẫu Cài đặt, sử dụng thành thạo khuôn mẫu Tổng hợp kiến thức cuối khóa C38 Check here C39 Check here C40 Check here C41 Check here C42 Check here - Tôi thành thạo cài đặt phiếu Tôi thành thạo cài đặt sơ đồ lớp phức tạp Tôi thành thạo cài đặt câu bonus Tôi thành thạo cài đặt pt tốn tử Tơi thành thạo cài đặt nhập/ xuất file BÀI THỰC HÀNH SỐ 1: LỚP ĐƠN GIẢN Bài 1.1 STUDENT CLASS Cài đặt lớp SINHVIEN gồm thuộc tính miêu tả sinh viên như: Mã Sinh Viên, Họ Tên, Tuổi, Điểm phương thức: NHAP: nhập tồn thơng tin cho sinh viên XUAT: xuất tồn thơng tin sinh viên hình Cài đặt hàm main khai báo hai sinh viên a, b Sử dụng phương thức hai sinh viên để nhập vào thông tin sinh viên a, b; xuất thông tin hai sinh viên hình SINHVIEN Masv Hoten Tuoi Diem void NHAP() void XUAT() Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hoàn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 1.2 RECTANGLE CLASS Cài đặt lớp Hình chữ nhật bao gồm hai thuộc tính Dài, Rộng phương thức: NHAP: nhập chiều dài chiều rộng VE: vẽ hình chữ nhật lên hình cách sử dụng ký tự ‘*’ với chiều dài, chiều rộng vốn có DIENTICH: trả diện tích hình chữ nhật CHUVI: trả chu vi hình chữ nhật Cài đặt hàm main khai báo 01 hình chữ nhật x Nhập vào chiều dài chiều rộng x Vẽ hình chữ nhật x hình In hình diện tích chu vi x HCN D (chiều dài) R (chiều rộng) void NHAP() void VE() float DIENTICH() float CHUVI() Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 1.3 OBJECT ARRAY HANG Cài đặt lớp Hàng Hóa với thuộc tính: Mã hàng, Tên hàng, Đơn giá, Số lượng phương thức: NHAP: nhập thông tin mặt hàng XUAT: xuất thông tin mặt hàng lên hình (dữ liệu xuất dòng) kèm theo Thành tiền Mahang Tenhang Dongia Soluong Viết hàm main nhập vào danh sách gồm n mặt hàng In danh sách mặt hàng vừa nhập hình void NHAP() void XUAT() Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hồn thành tập Tôi chép code mẫu Tôi chưa hoàn thành tập Bài 1.4 OBJECT ARRAY CONTINUE SACH Cài đặt lớp Sách bao gồm thuộc tính: Mã sách, Tên sách, Nhà xuất bản, Số trang, Giá tiền phương thức: NHAP: nhập vào thông tin sách XUAT: xuất thông tin sách hình (trên dịng) Viết hàm main nhập vào danh sách gồm n sách In danh sách hình Masach Tensach Nxb Sotrang Giatien void NHAP() void XUAT() Đánh giá o o o o o Tôi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập BÀI THỰC HÀNH SỐ 2: THIẾT KẾ HƯỚNG ĐỐI TƯỢNG Bài 2.1 START Sinh viên tự thiết kế lớp, thuộc tính, phương thức cần thiết phép chương trình chính, giải biện luận phương trình bậc Thiết kế: Sinh viên vẽ sơ đồ lớp đây: Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hồn thành tập Tôi chép code mẫu Tôi chưa hoàn thành tập Bài 2.2 CONTINUE Sinh viên tự thiết kế lớp, thuộc tính, phương thức cần thiết phép chương trình chính, nhập vào mảng gồm n số nguyên, xếp mảng tăng dần, in mảng hình Thiết kế: Sinh viên vẽ sơ đồ lớp đây: Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hoàn thành tập Bài 2.3 COMPLETE Sinh viên tự thiết kế lớp, thuộc tính, phương thức cần thiết phép chương trình chính, nhập vào mảng gồm n số thực, tìm in phần tử lớn phần tử nhỏ mảng In mảng hình Thiết kế: Sinh viên vẽ sơ đồ lớp đây: Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hoàn thành tập Bài 2.4 SKILL Thiết kế lớp Doanh Nghiệp bao gồm thuộc tính: Tên doanh nghiệp, Địa doanh nghiệp, Số nhân viên, Doanh thu phương thức cần thiết để chương trình nhập vào thơng tin cho danh sách gồm n doanh nghiệp In thông tin vừa nhập hình Thiết kế: Sinh viên vẽ sơ đồ lớp đây: Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hoàn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 2.5 COMPLEX Thiết kế lớp Ơtơ với thuộc tính: Mã oto, Giá mua mới, Số năm sử dụng, Tỷ lệ khấu hao/ năm phương thức cần thiết để chương trình nhập vào thông tin danh sách xe ôtô, in thông tin vừa nhập giá trị xe Thiết kế: Sinh viên vẽ sơ đồ lớp đây: Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hoàn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 4.3 FRIENDS Cài đặt lớp theo sơ đồ sau (thuộc tính Ngaysx = Ngày sản xuất) HANG Mahang Tenhang DATE Ngaysx DATE D (ngày) M (tháng) Y (năm) void NHAP() void XUAT() Cài đặt hàm main nhập vào danh sách mặt hàng In mặt hàng sản xuất năm 2017 Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hoàn thành tập Bài 4.4 CONSTRUCTOR METHODS Cài đặt lớp Phương trình bậc với thuộc tính a, b, c phương thức: NHAP: nhập vào a, b, c phương trình bậc XUAT: in phương trình bậc dạng: ax2+bx+c=0 GIAI: giải phương trình bậc Hàm tạo khơng đối khởi gán giá trị a, b, c Hàm tạo có đối khởi gán giá trị cho a, b, c Viết hàm main khai báo phương trình bậc hai P khởi tạo giá trị ban đầu cho P In phương trình P sau khởi tạo hình giải P Nhập vào phương trình bậc hai Q In phương trình Q hình giải Q Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hoàn thành tập 13 Bài 4.5 CONSTRUCTOR/ DESTRUCTOR METHODS Cài đặt lớp ARRAY theo sơ đồ bên với: Phương thức khởi tạo không đối: khởi gán giá trị n =0 Phương thức khởi tạo có đối: khởi gán giá trị cho n; cấp phát nhớ cho mảng; gán giá trị cho phần tử mảng Phương thức hủy: đặt lại n=0 giải phóng nhớ mảng Phương thức NHAP: nhập giá trị cho mảng Phương thức XUAT: in mảng hình ARRAY int *VALUE int n ARRAY() ARRAY(…) ~ARRAY() void NHAP() void XUAT() Cài đặt hàm main khai báo mảng a, khởi tạo giá trị cho a in giá trị khởi tạo hình Nhập vào mảng a gồm n phần tử nguyên In phần tử a hình; giải phóng nhớ cấp phát cho a Đánh giá o o o o o Tôi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 14 BÀI THỰC HÀNH SỐ 5: BÀI TẬP TỔNG HỢP DẠNG PHIẾU Bài 5.1 COUPON CONTINUE Viết chương trình cho phép nhập, xuất thông tin phiếu sau: PHIẾU NHẬP HÀNG Mã phiếu: PH001 Ngày lập: 1/1/2007 Mã NCC: NCC1 Tên NCC: LG-Electronic Địa chỉ: Khu công nghiệp Như Quỳnh A Tên hàng Đơn giá Số lượng TiVi 30 Quạt 1.2 Mobi 10 Cộng thành tiền Thành tiền 60 3.6 50 113.6 Thiết kế: sinh viên vẽ sơ đồ lớp tương ứng vào Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hoàn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 15 Bài 5.2 TRANSCRIPT Viết chương trình cho phép nhập, xuất phiếu báo điểm theo mẫu sau: PHIẾU BÁO ĐIỂM Mã sinh viên: SV001 Tên sinh viên: Nguyễn Hải Hà Lớp: CNTT1 Khố: 10 Bảng điểm: Tên mơn Số trình Điểm Cơ sở liệu Lập trình HĐT Hệ điều hành Điểm trung bình 8.17 Trong điểm trung bình = (Số trình * Điểm)/ (Số trình) Thiết kế: sinh viên vẽ sơ đồ lớp tương ứng vào Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 16 Bài 5.3 INVENTORY Viết chương trình cho phép nhập, xuất phiếu kiểm kê tài sản theo mẫu sau: PHIẾU KIỂM KÊ TÀI SẢN Mã phiếu: PH01 Nhân viên kiểm kê: Kiều Thị Thanh Kiểm kê phịng: Tổ chức hành Trưởng phịng: Hồng Bích Hảo Tên tài sản Máy vi tính Máy vi tính Bàn làm việc Ngày kiểm kê: Chức vụ: Mã phòng: Số lượng Số tài sản kiểm kê: 1/1/2007 Kế tốn viên PTC Tình trạng Tốt Hết khấu hao - hỏng Tốt Tổ số lượng: 14 Bonus 1: Sửa thông tin Số lượng tài sản “Máy vi tính” (nếu có) thành 20 Bonus 2: Sắp xếp danh sách tài sản kiểm kê theo chiều tang dần số lượng Thiết kế: sinh viên vẽ sơ đồ lớp tương ứng vào Đánh giá o o o o o Tôi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 17 BÀI THỰC HÀNH SỐ 6: SỰ KẾ THỪA Bài 6.1 PERSON Xây dựng lớp PERSON gồm thông tin: Họ tên, Ngày sinh, Quê quán Sau đó, xây dựng lớp dẫn xuất KYSU ngồi thơng tin lớp Person, lớp KYSU cịn có thơng tin về: Ngành học, Năm tốt nghiệp (int) phương thức: PERSON Hoten Ngaysinh Quequan Phương thức nhập: nhập thông tin kỹ sư KYSU Phương thức xuất: xuất thông tin lên hình Xây dựng chương trình nhập vào danh sách n kỹ sư In danh sách kỹ sư lên hình thơng tin kỹ sư tốt nghiệp gần (năm tốt nghiệp lớn nhất) Nganh NamTN (int) void NHAP() void XUAT() Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 6.2 PRINTER Xây dựng lớp Máy in, Máy in kim Máy in Laser theo sơ đồ sau: PRINTER TrongLuong Hãngsx Namsx Tocdo (số trang/ DOTPRINTER phút) LASERPRINTER Mậtđộkim Độphângiải void NHAP() void XUAT() void NHAP() void XUAT() 18 Viết hàm main nhập vào máy in Laser máy in kim In thơng tin máy in hình Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 6.3 VEHICLE Xây dựng lớp theo sơ đồ sau: VEHICLE NhãnHiệu Nămsx Hãng void NHAP() void XUAT() OTO MOTO Sốchỗngồi Dungtích Phânkhối void NHAP() void XUAT() void NHAP() void XUAT() Viết hàm main nhập vào xe oto vào xe moto In thông tin hai xe hình Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 19 Bài 6.4 CONSTRUCTOR/ DESTRUCTOR INHERITANCE Cài đặt lớp theo sơ đồ sau: ELECTRONIC Cơngsuất Điệnáp ELECTRONIC(…) MAYGIAT TULANH DungTích (kg) Loại DungTích (lít) SốNgăn MAYGIAT(…) void XUAT() TULANH(…) void XUAT() Viết hàm main khai báo máy giặt a tủ lạnh b đồng thời khởi gán giá trị cho thuộc tính a, b In thông tin khởi gán hai thiết bị hình Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hoàn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 20 BÀI THỰC HÀNH SỐ 7: BÀI TẬP TỔNG HỢP DẠNG SƠ ĐỒ LỚP Bài 7.1 PRODUCT Cài đặt lớp theo sơ đồ sau: HANG Tenhang NSX x Dongia void NHAP() void XUAT() HANG() DATE D (ngày) M (tháng) Y (năm) NSX TenNSX DiaChi void NHAP() void XUAT() TIVI Kichthuoc DATE NgayNhap void NHAP() void XUAT() TIVI() void NHAP() void XUAT() Viết hàm main nhập vào thông tin Tivi Xuất thông tin Tivi vừa nhập lên hình Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 21 Bài 7.2 STUDENT Cài đặt lớp theo sơ đồ sau: FACULTY PERSON Name Birth Address void input(); void output(); Person(); Name Date SCHOOL x void input(); void output(); STUDENT FACULTY y Class Score void input(); void output(); Student(); SCHOOL Name Date Trong hàm main, nhập vào thông tin sinh viên In đầy đủ thông tin sinh viên hình Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 22 Bài 7.3 SCHOOL Cài đặt lớp theo sơ đồ sau: TRUONG Mãtrường Têntrường Địachỉ void Nhập() void Xuất() TRUONGDH KHOA KHOA x[] int n BAN y[] int m Mãkhoa Tênkhoa Trưởngkhoa void Nhập() Mãban Tênban Ngàythànhlập void Xuất() BAN Viết hàm main nhập vào thông tin trường đại học gồm n Khoa m Ban In tồn thơng tin trường vừa nhập hình Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hoàn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 23 Bài 7.4 HOSPITAL Cài đặt lớp theo sơ đồ sau: BệnhNhân Mã Tiền sử Chẩn đoán Bệnh viện Nhap() Xuat() Người Họ tên Tuổi Nhap() Xuat() BệnhViện Tên bệnh viện Địa Giám đốc Hàm main: Nhập vào danh sách gồm n bệnh nhân, in danh sách vừa nhập hình Bonus 1: Cho biết danh sách vừa nhập, có bệnh nhân lớn 30 tuổi Bonus 2: Sửa thông tin Tuổi bệnh nhân có mã “BN01” (nếu có) thành 20 tuổi Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 24 BÀI THỰC HÀNH SỐ 8: PHƯƠNG THỨC TOÁN TỬ Bài 8.1 FRACTION Phép nhân, chia, cộng, trừ hai phân thức định nghĩa sau: a c ac b d bd a c ad : b d bc a c ad bc b d bd a c ad bc b d bd Hãy xây dựng lớp Phân số với thuộc tính Tử số, Mẫu số phương thức: Hàm toán tử nhập: nhập giá trị tử số mẫu số Hàm toán tử xuất: đưa phân số hình (dưới dạng Tử_Số/ Mẫu_số) Các phương thức toán tử: nhân, chia, cộng, trừ hai phân số Phương thức tốn tử tính giá trị: trả giá trị kiểu thực Tử_Số/ Mẫu_Số Viết chương trình nhập hai phân số, đưa hình (sau đưa vào tệp) phân số tích, thương, tổng, hiệu hai phân số vừa nhập kèm theo giá trị phân số kết Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 8.2 COMPLEX NUMBER Cho hai số phức dạng: SP1 = a1+ i*b1; SP2 = a2+ i*b2 với a1, a2 phần thực b1, b2 phần ảo; Phép cộng, trừ hai số phức định nghĩa sau: SP3 = SP1 + SP2 = (a1+a2) + i*(b1+b2); SP4 = SP1 - SP2 = (a1-a2) + i*(b1-b2); Hãy xây dựng lớp số phức với thuộc tính Thực, Ảo phương thức: Phương thức khởi tạo: khởi gán phần thực phần ảo số phức Hàm toán tử xuất: in số phức lên hình theo định dạng + i* Phương thức toán tử: + - hai số phức Viết hàm main nhập vào hai số phức SP1 SP2 Tính in số phức SP3 SP4 tổng hiệu hai số phức SP1, SP2 25 Đánh giá o o o o o Tôi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 8.3 TRINOMIAL Xây dựng lớp Tam thức bậc hai với thuộc tính hệ số a, b, c kiểu thực phương thức: Phương thức khởi tạo: khởi gán giá trị hệ số a, b, c Hàm toán tử xuất: in tam thức lên hình (có dạng ax2+bx+c ) Phương thức tốn tử “Đổi dấu tam thức”: đổi dấu hệ số a, b, c Phương thức toán tử cộng, trừ hai tam thức (cộng trừ hệ số tương ứng) Xây dựng chương trình khai báo hai tam thức Khởi gán giá trị cho hệ số đảo dấu hai tam thức In tam thức đảo dấu hình Tính in hình tam thức tổng hiệu hai tam thức đảo dấu Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hoàn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 8.4 MATRIX Xây dựng lớp ma trận gồm thuộc tính: double a[][] mảng hai chiều chứa phần tử ma trận; n, m thuộc tính kích thước thực tế ma trận phương thức: Hàm toán tử nhập: nhập giá trị n, m; cấp phát nhớ nhập ma trận a Hàm toán tử xuất: xuất giá trị ma trận a lên hình Phương thức toán tử “Đổi dấu ma trận” (-): đổi dấu tất phần tử ma trận; cộng, trừ hai ma trận (cộng trừ phần tử tương ứng ma trận) 26 Xây dựng chương trình khai báo nhập giá trị cho hai ma trận P Q Đổi dấu ma trận in ma trận đổi dấu hình Tính in hình ma trận tổng, hiệu ma trận đổi dấu Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập Bài 8.5 SKILL Ta định nghĩa phương thức toán tử xếp mảng chiều sau: Phương thức ++ xếp mảng theo chiều tăng dần Phương thức xếp mảng theo chiều giảm dần Hãy định nghĩa lớp Mảng gồm: thuộc tính VALUE[] kiểu float, biến kích thước mảng n kiểu nguyên phương thức: Hàm tốn tử nhập: nhập kích thước mảng n, cấp phát nhớ nhập giá trị cho mảng Hàm toán tử xuất: Xuất giá trị mảng hình Phương thức tốn tử ++ để xếp mảng tăng dần giảm dần Viết chương trình sử dụng lớp để nhập vào mảng n phần tử thực, sau xếp mảng theo chiều tăng dần (giảm dần) in mảng lên hình Đánh giá o o o o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hoàn thành tập 27 ... tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tơi tham khảo code mẫu tự hoàn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 14 BÀI THỰC HÀNH SỐ 5: BÀI TẬP TỔNG HỢP DẠNG PHIẾU Bài 5.1... hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hồn thành tập 20 BÀI THỰC HÀNH SỐ 7: BÀI TẬP TỔNG HỢP DẠNG SƠ ĐỒ LỚP Bài 7.1... o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý Tôi tham khảo code mẫu tự hồn thành tập Tơi chép code mẫu Tơi chưa hoàn thành tập BÀI THỰC HÀNH SỐ 3: QUAN HỆ KẾT TẬP Bài 3.1 DATE TYPE