Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
173,07 KB
Nội dung
BÀI THỰC HÀNH Họ tên: Lớp: HỌC PHẦN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 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 I TỔNG QUAN VỀ HỌC PHẦN THÔNG TIN CHUNG Tên học phần Lập trình hướng đối tượng (C++) Thời lượng: Lý thuyết: 20 trực tiếp-10 trực tuyến; Thực hành: 21 trực tiếp, trực tuyến 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: Điều kiện dự thi: Sinh viên đủ điều kiện dự thi thỏa mãn điều kiện sau: Tài liệu: Lập trình NET; Lập trình Java; ASP, PHP, Python - Không nghỉ tiết lý thuyết Không nghỉ buổi thực hành Bài kiểm tra số không 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, sử dụng in) - 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) Tài liệu học trực tuyến: - Video clip giảng: 05 clips - Câu hỏi trắc nghiệm: 05 - Slide giảng: 05 - Phiếu giao tập: phiếu Giảng viên: Support: TS Nguyễn Mạnh Cường Edmodo.com (mã lớp: xin liên hệ giảng viên) II NỘI DUNG HỌC PHẦN Tên học Định nghĩa sử dụng lớp Trực tiếp Quan hệ kết tập phạm vi truy cập Phương thức khởi tạo, phương thức hủy, trỏ this, quan hệ kế thừa Phương thức toán tử dịng nhập/ xuất Phương thức ảo, tính đa hình, khuôn mẫu biệt lệ Định nghĩa sử dụng lớp đơn giản Quan hệ kết tập tập tổng hợp dạng phiếu Hàm bạn/ lớp bạn/ hàm tạo/ hàm hủy Quan hệ kế thừa tập tổng hợp Ôn tập 1, 2, 3 Phương thức tốn tử dịng nhập xuất Ôn tập 4, 3 TIÊU CHUẨN ĐÁNH GIÁ MÔN HỌC Stt Nội dung – Yêu cầu Ghi Phần - 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 C5 - Hiểu cấu trúc mảng đối tượng cách sử dụng C6 - Hiểu phạm vi truy cập: private/ protected/ public C7 - Biết cách đặt phạm vi truy cập cho thành phần C8 - Thành thạo ba cách truy cập thuộc tính riêng tư C1 C2 C3 C4 C9 Phương thức khởi tạo/ phương thức hủy C10 - Hiểu/ phân loại phương thức khởi tạo/ phương thức hủy C11 - Hiểu chế sử dụng phương thức khởi tạo/ pt hủy C12 - Viết thành thạo phương thức khởi tạo/ pt hủy C13 - Hiểu quan hệ kết tập, kiểu kết tập C14 - Cài đặt thành thạo quan hệ kết tập 1-1 C15 - Cài đặc thành thạo quan hệ kết tập 1-nhiều C18 - 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ở C19 - Cài đặt lớp dẫn xuất kế thừa lớp sở C20 - Hiểu cách sử dụng lại code lớp sở C21 - 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 Quan hệ kế thừa C16 C17 Tổng hợp kiến thức C22 C23 C24 Check here 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 Check here Nạp chồng toán tử C25 - Hiểu phân loại toán tử C26 - Hiểu cú pháp cài đặt phương thức toán tử C27 - Cài đặt thành thạo phương thức tốn tử 1, ngơi C28 C29 C30 C31 C32 - 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ệ - Hiểu cài đặt phương thức ảo C36 - 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 C37 - Cài đặt, sử dụng thành thạo khuôn mẫu C33 C34 C35 Tổng hợp kiến thức cuối khóa C38 - Tơi thành thạo cài đặt phiếu C39 - Tôi thành thạo cài đặt sơ đồ lớp phức tạp C40 - Tôi thành thạo cài đặt câu bonus C41 - Tơi thành thạo cài đặt pt tốn tử C42 - Tôi thành thạo cài đặt nhập/ xuất file BÀI THỰC HÀNH SỐ 1: 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 toà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 LỚP ĐƠN GIẢN SINHVIEN Masv Hoten Tuoi Diem void NHAP() void XUAT() Đánh giá o o Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý o Tôi tham khảo code mẫu tự hồn thành tập o o 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 Tơi tự hồn thành tập Tơi tự hoàn thành tập sau nghe gợi ý o Tơi tham khảo code mẫu tự hồn thành tập o o Tôi chép code mẫu Tôi chưa hoà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 Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý o Tơi tham khảo code mẫu tự hồn thành tập o o Tôi chép code mẫu Tơi chưa hồ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 Tơi tự hồn thành tập Tơi tự hồn thành tập sau nghe gợi ý o Tôi tham khảo code mẫu tự hồn thành tập o o Tơi chép code mẫu Tơi chưa hồn thành tập Bài 1.5 ARRAY OF NUMBERS 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ự 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.6 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 hồn thành tập 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 Bonus 1: Sửa lại Năm sản xuất máy in vừa nhập thành 2020 Đá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 4.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 Bonus 1: Sửa lại Dung tích xe oto vừa nhập thành 3.0 Đá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 18 Bài 4.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ự 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 THỰC HÀNH ONLINE 2: BÀI TẬP TỔNG HỢP DẠNG SƠ ĐỒ LỚP Bài O2.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 20 Bài O2.2 STUDENT Cài đặt lớp theo sơ đồ sau: PERSON Name Birth Address FACULTY Name Date SCHOOL x void input(); void output(); void input(); void output(); Person(); 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 Bonus 1: Sửa lại thơng tin Tên trường sinh viên vừa nhập thành ĐHCNHN Đá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 21 Bài O2.3 SCHOOL Cài đặt lớp theo sơ đồ sau: TRUONG Mãtrường Têntrường Địachỉ void Nhập() void Xuất() KHOA TRUONGDH 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 Bonus 1: Xóa thơng tin Khoa có mã khoa KH01 danh sách khoa trường đại học vừa nhập In lại thơng tin trường đại học 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 O2.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() 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 23 BÀI THỰC HÀNH SỐ 5: PHƯƠNG THỨC TOÁN TỬ Bài 5.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 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ự 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 5.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 24 Đá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 5.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 tốn tử xuất: in tam thức lên hình (có dạng ax +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ự 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 5.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) 25 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 26 BÀI THỰC HÀNH ONLINE SỐ 3: DÒNG NHẬP/ XUẤT VÀ TEMPLATE Bài O3.1 ONE-DIMENTION ARRAY 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 từ thiết bị nhập Hàm toán tử xuất (