1. Trang chủ
  2. » Công Nghệ Thông Tin

Ktlt k2010

4 0 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

KTLT TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM Khoa Khoa học & Kỹ thuật Máy tính Sinh viên MSSV Đề thi môn Kỹ thuật lập trình 501127 – 2010 2011 Trang 1 Đề thi môn Kỹ Thuật Lập Trình, niên khóa 2010 2011 Thời g[.]

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Sinh viên: ……………………………… MSSV:……… Đề thi mơn Kỹ Thuật Lập Trình, niên khóa 2010-2011 Thời gian : 100 phút Tài liệu mở Phần câu hỏi (2 điểm) Sinh viên cần trả lời câu phần Câu Đâu lý tốt cho việc sử dụng ngơn ngữ lập trình hướng đối tượng : a) Có thể định nghĩa kiểu liệu riêng c) Một chương trình hướng đối tượng dạy để tự sửa lỗi c) Dễ dàng định hình chương trình hướng đối tượng d) Có thể định nghĩa kiểu liệu riêng dễ dàng định hình chương trình hướng đối tượng Câu Ba tính ngơn ngữ lập trình hướng đối tượng ? a) Đóng gói liệu (data encapsulation), thừa kế (inheritance) xử lý ngoại lệ (exception handling) b) Thừa kế (inheritance), đa hình (polymorphism) xử lý ngoại lệ (exception handling) c) Đóng gói liệu (data encapsulation), thừa kế (inheritance) đa hình (polymorphism) d) Quá tải (overloading), thừa kế (inheritance) đa hình (polymorphism) Câu Hàm tạo (constructor) a) hàm gọi thực thể lớp khởi tạo b) hàm gọi thực thể lớp bị xóa c) hàm đăc biệt để thay đổi giá trị nhớ cấp phát động d) hàm gọi để thay đổi giá trị biến Câu Cho đoạn mã sau đây: int recur(int n, int a, int d){ if(n==1) return a; else return d + recur(n-1, d, a-1); return ; } Giá trị trả gọi recur(3,5,7) Đề thi môn Kỹ thuật lập trình 501127 – 2010-2011 Trang TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Sinh viên: ……………………………… MSSV:……… a) 11 b) 13 c) 15 d) 17 e) 19 Câu Một lớp dẫn xuất (derived class) a) thừa kế liệu phương thức thành viên (data members and member functions) từ lớp sở (base class) b) thừa kế hàm tạo (constructors) hàm hủy (destructors) c) đối tượng truy cập vào thành viên bảo vệ (protected members) với dấu chấm (dot operator) d) thừa kế liệu phương thức thành viên (data members and member functions) từ lớp sở (base class) thừa kế hàm tạo (constructors) hàm hủy (destructors) Câu Giả sử lớp X khơng có q tải toán tử cho phép gán (overloaded assignment operator) Điều xảy phép gán a=b thực hiện, với a b hai đối tượng thuộc lớp X? a) Toán tử gán tự động (automatic assignment operator) sử dụng b) Hàm tạo (copy constructor) dùng c) Xuất lỗi biên dịch (compiler error) d) Xuất lỗi thực thi (run-time error) Phần lập trình (8 điểm) Để hỗ trợ thực hệ thống quản lý khách hàng (CRM – customer relation management), cần xây dựng class Customer class CRM với mục đích sau: - Customer: lưu trữ thơng tin, thuộc tính phương thức cần thiết để thao tác với thực thể khách hàng sau: o Khách hàng cá nhân đại diện cho quan, doanh nghiệp o Trường hợp khách hàng mang tính chất cá nhân, cần lưu thơng tin cá nhân sau: mã khách hàng, họ tên, thông tin bổ sung tên viết tắt (biệt danh), địa chỉ, ngày sinh (bao gồm ngày tháng năm), mã dịch vụ (kiểu số Đề thi môn Kỹ thuật lập trình 501127 – 2010-2011 Trang TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Sinh viên: ……………………………… MSSV:……… nguyên, không cần quan tâm đến tên cụ thể dich vụ), số lần sử dụng dịch vụ, chí phí thời gian (ngày, giờ) lần sử dụng dịch vụ o Trường hợp khách hàng đại diện cho doanh nghiệp, ngồi thơng tin cá nhân cần lưu thêm thông tin doanh nghiệp như: mã số thuế, tên doanh nghiệp, địa chỉ, điện thoại, fax, email, địa website doanh nghiệp o Loại thẻ khách hàng (thẻ vàng, thẻ bạc, thẻ thông thường) - CRM: quản lý danh sách tất khách hàng (nghĩa chứa mảng đối tượng thuộc lớp Customer) Sau đây, sinh viên cần khai báo thuộc tính phương thức lớp CRM Customer ngôn ngữ C++ thỏa mãn yêu cầu sau: a) (1 điểm) Hãy khai báo thuộc tính cần thiết đặc tả bên hai lớp CRM Customer Giả sử, có sẵn đối tượng DateTime sau : class DateTime{int hour, minute, second, day, month, year;} khai báo kiểu liệt kê Card cho sẵn sau : enum Card {GodenCard, SilverCard, NormalCard } b) (0,5 điểm) Xây dựng hàm tạo Customer để tạo nạp thơng tin chi tiết nhanh chóng: loại khách hàng (cá nhân hay doanh nghiệp, tên, ngày sinh) c) (1 điểm) Trong class CRM, viết phương thức hỗ trợ thêm khách hàng mới, dùng vòng lặp while để kiểm tra xem có chứa thơng tin khách hàng chưa; có sẵn thơng tin khơng cần thêm vào, trường hợp ngược lại thêm vào cuối danh sách d) (1 điểm) Xây dựng phương thức class CRM, cho phép tìm kiếm đối tượng theo tên khách hàng trả đối tượng Customer lưu trữ thông tin tương ứng (trả NULL không tìm thấy) o Hãy sử dụng vịng lặp while(){ …} để thực o Hãy sử dụng kỹ thuật gọi đệ quy để thực e) (0,5 điểm) Xây dựng phương thức Customer cho phép truy xuất sửa chữa thông tin khách hàng: thay đổi (nâng cấp) thẻ khách hành (thẻ vàng, thẻ bạc Đề thi mơn Kỹ thuật lập trình 501127 – 2010-2011 Trang TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Sinh viên: ……………………………… MSSV:……… hay thông thường) làm để xác định khách hàng thuộc dạng cá nhân doanh nghiệp f) (0,5 điểm) Viết phương thức Customer trả lúc số lượng dịch vụ sử dụng tổng số tiền dịch vụ thu từ khách hàng g) (0,5 điểm) Xây dựng phương thức CRM, cho phép chỉnh sửa thơng tin khách hàng có mã ‘ID’ là: họ tên, tên viết tắt, địa chỉ, ngày sinh h) (1 điểm) Viết phương thức void useService(int serviceCode, int servicePrice) cho phép nhập vào thông tin dịch vụ sau lần sử dụng cho hai lớp khách hàng Lưu ý cần nhập thông tin thời gian sử dụng dịch vụ, đơn giản hóa cách lưu trữ thời điểm lưu trữ thông tin Giả sử thư viện, ta có sẵn hàm void time(DateTime &x) gán thời điểm gọi hàm vào biến x i) (1 điểm) Hãy dùng từ khóa static để khai báo thêm thuộc tính cần thiết lớp Customer sau viết phương thức hổ trợ việc tính thống kê lớp CRM : o số lượng khách riêng lẻ (cá nhân), o số lượng khách doanh nhân, o tổng số lượng khách hàng, o tỷ lệ khách doanh nhân tổng số, j) (0,5 điểm) Hãy sử dụng kỹ thuật gọi đệ quy để xây dựng phương thức CRM để hiển thị thông tin khách hàng theo thứ tự bảng chữ o Giả sử cho sẵn hàm so sánh hai chuỗi compare(char* s1, char* s2): trả giá trị “true” s1 đứng trước s2 theo thứ tự bảng chữ cái, trả “false” trường hợp ngược lại k) (0,5 điểm) Viết hàm main, tạo lớp CRM nhập vào khoảng khách hàng cá nhân doanh nhân; sau đó, xuất thơng tin thống kê cho sẵn -HẾT- Đề thi mơn Kỹ thuật lập trình 501127 – 2010-2011 Trang

Ngày đăng: 08/04/2023, 18:53

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w