JavaScript is required

Thư viện trường học là trung tâm văn hóa, khoa học của nhà trường nhằm mở rộng kiến thức, góp phần nâng cao hiệu quả dạy - học và nghiên cứu khoa học của giáo viên và học sinh.

Một thư viện trường học cần quản lý danh sách các loại sách gồm 2 loại như sau:

● Sách giáo khoa: mã sách, tên sách, nhà xuất bản, số lượng, đơn giá và tình trạng (0: cũ, 1: mới).

- Nếu tình trạng sách là mới thì: Thành tiền = số lượng * đơn giá.

- Nếu tình trạng sách là cũ thì: Thành tiền = số lượng * đơn giá * 50%

● Sách tham khảo: mã sách, tên sách, nhà xuất bản, số lượng, đơn giá và tiền thuế.

- Thành tiền = số lượng * đơn giá + thuế

Yêu cầu:

1. Áp dụng kiến thức lập trình hướng đối tượng (kế thừa, đa hình) thiết kế sơ đồ chi tiết các lớp đối tượng.

2. Định nghĩa các lớp để quản lý theo yêu cầu của thư viện trường học.

3. Xây dựng các phương thức để thực hiện các yêu cầu sau:

a. Nhập và xuất danh sách các sách của thư viện trường học.

b. Tính thành tiền mà thư viện trường học phải trả cho từng loại sách và hiển thị thông tin chi tiết những sách nào có thành tiền phải trả ít nhất.

c. Tìm thông tin các sách giáo khoa của nhà xuất bản có tên do người dùng nhập vào.

Trả lời:

Đáp án đúng:


Câu hỏi này yêu cầu thiết kế một hệ thống quản lý sách cho thư viện trường học sử dụng lập trình hướng đối tượng. Các yêu cầu cụ thể bao gồm: thiết kế sơ đồ lớp, định nghĩa các lớp (Sách, Sách Giáo Khoa, Sách Tham Khảo), và xây dựng các phương thức để nhập/xuất danh sách sách, tính thành tiền, tìm sách giáo khoa theo nhà xuất bản. **Phân tích chi tiết:** 1. **Sơ đồ lớp:** Cần xác định các lớp chính và mối quan hệ giữa chúng. Lớp `Sách` sẽ là lớp cha, chứa các thuộc tính chung như mã sách, tên sách, nhà xuất bản, số lượng, đơn giá. Lớp `Sách Giáo Khoa` và `Sách Tham Khảo` sẽ kế thừa từ lớp `Sách` và thêm các thuộc tính riêng (tình trạng sách cho Sách Giáo Khoa, tiền thuế cho Sách Tham Khảo). 2. **Định nghĩa lớp:** Cần định nghĩa các thuộc tính (biến thành viên) và phương thức (hàm thành viên) cho mỗi lớp. Các phương thức bao gồm các phương thức khởi tạo, phương thức nhập/xuất thông tin, phương thức tính thành tiền. 3. **Xây dựng phương thức:** * **Nhập/xuất danh sách sách:** Cần xây dựng các phương thức để nhập thông tin cho từng loại sách và lưu trữ chúng trong một danh sách (ví dụ: `ArrayList`). Sau đó, xây dựng phương thức để hiển thị danh sách sách. * **Tính thành tiền:** Xây dựng phương thức tính thành tiền cho từng loại sách dựa trên công thức đã cho. Duyệt qua danh sách sách, tính thành tiền cho từng cuốn sách và hiển thị thông tin chi tiết của những cuốn sách có thành tiền ít nhất. * **Tìm sách giáo khoa:** Xây dựng phương thức để tìm kiếm các sách giáo khoa của một nhà xuất bản cụ thể. Người dùng nhập tên nhà xuất bản, sau đó chương trình sẽ tìm kiếm và hiển thị thông tin các sách giáo khoa có nhà xuất bản trùng khớp. **Đây là một bài tập lập trình hướng đối tượng điển hình, đòi hỏi kiến thức về kế thừa, đa hình và sử dụng các cấu trúc dữ liệu để lưu trữ và quản lý dữ liệu.** Vì câu hỏi này yêu cầu thiết kế và xây dựng chương trình, nên không có một đáp án cụ thể duy nhất mà sẽ có nhiều cách tiếp cận và triển khai khác nhau.

Đề thi cuối kỳ môn Lập Trình Hướng Đối Tượng của Đại học Quốc gia TP.HCM, Trường ĐH Công nghệ Thông tin, Khoa Công nghệ Phần mềm. Đề thi gồm các câu hỏi về giải thích các khái niệm OOP (trừu tượng, bao bọc, kế thừa, đa hình), thiết kế lớp biểu diễn đơn thức và xây dựng hệ thống quản lý thư viện trường học với các loại sách khác nhau.


4 câu hỏi 90 phút

Câu hỏi liên quan