Đề thi môn Kỹ thuật lập trình - Năm học 2010 - 2011 - Khoa Khoa học và Kỹ thuật máy tính
Câu 1.
Đâu là lý do tốt nhấ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 các kiểu dữ liệu riêng
c) Một chương trình hướng đối tượng có thể được dạy để tự sửa lỗi
c) Dễ dàng định hình một chương trình hướng đối tượng
d) Có thể định nghĩa các kiểu dữ liệu riêng và dễ dàng định hình một chương trình hướng đối
tượng
Đâu là lý do tốt nhấ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 các kiểu dữ liệu riêng
c) Một chương trình hướng đối tượng có thể được dạy để tự sửa lỗi
c) Dễ dàng định hình một chương trình hướng đối tượng
d) Có thể định nghĩa các kiểu dữ liệu riêng và dễ dàng định hình một chương trình hướng đối
tượng
Bạn đang xem tài liệu "Đề thi môn Kỹ thuật lập trình - Năm học 2010 - 2011 - Khoa Khoa học và Kỹ thuật máy tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- de_thi_mon_ky_thuat_lap_trinh_nam_hoc_2010_2011_khoa_khoa_ho.pdf
Nội dung text: Đề thi môn Kỹ thuật lập trình - Năm học 2010 - 2011 - Khoa Khoa học và Kỹ thuật máy tính
- TR ƯỜ NG ĐẠ I H ỌC BÁCH KHOA TP.HCM Sinh viên: Khoa Khoa h ọc & K ỹ thu ật Máy tính MSSV: a) 11 b) 13 c) 15 d) 17 e) 19 Câu 5. Một l ớp d ẫn xu ất ( derived class ) a) th ừa k ế dữ li ệu và ph ươ ng th ức thành viên ( data members and member functions ) t ừ lớp c ơ s ở (base class ) b) th ừa k ế các hàm t ạo ( constructors ) và các hàm h ủy ( destructors ) c) đối t ượng có th ể truy c ập vào nh ững thành viên được b ảo v ệ (protected members ) cùng với dấu ch ấm ( dot operator ). d) th ừa k ế dữ li ệu và ph ươ ng th ức thành viên ( data members and member functions ) t ừ lớp c ơ s ở (base class ) c ũng nh ư là th ừa k ế các hàm t ạo ( constructors ) và các hàm h ủy ( destructors ) Câu 6. Gi ả sử rằng l ớp X không có quá t ải toán t ử cho phép gán ( overloaded assignment operator ). Điều gì x ảy ra khi m ột phép gán a=b được th ực hi ện, v ới a và b là hai đối t ượng thu ộc l ớp X? a) Toán t ử gán t ự động ( automatic assignment operator ) sẽ được s ử dụng b) Hàm t ạo b ản sao ( copy constructor ) s ẽ được dùng c) Xu ất hi ện l ỗi biên d ịch ( compiler error ) d) Xu ất hi ện l ỗi th ực thi ( run-time error ) Ph ần l ập trình (8 điểm) Để hỗ tr ợ hiện th ực một h ệ th ống qu ản lý khách hàng ( CRM – customer relation management ), chúng ta c ần xây d ựng m ột class Customer và m ột class CRM với m ục đích nh ư sau: - Customer : lưu tr ữ thông tin, nh ững thu ộc tính và ph ươ ng th ức c ần thi ết để thao tác v ới các th ực th ể khách hàng nh ư sau: o Khách hàng có th ể là cá nhân ho ặc đạ i di ện cho một c ơ quan, doanh nghi ệp nào đó. o Tr ường h ợp khách hàng mang tính ch ất cá nhân, c ần l ưu nh ững thông tin cá nhân sau: mã khách hàng, h ọ và tên, và các thông tin b ổ sung nh ư tên vi ết t ắt (bi ệt danh), địa ch ỉ, ngày sinh (bao g ồm ngày tháng và n ăm), mã d ịch v ụ (ki ểu s ố Đề thi môn Kỹ thu ật l ập trình 501127 – 2010-2011 Trang 2
- TR ƯỜ NG ĐẠ I H ỌC BÁCH KHOA TP.HCM Sinh viên: Khoa Khoa h ọc & K ỹ thu ật Máy tính MSSV: hay thông th ường) và làm th ế nào để xác đị nh m ột khách hàng là thu ộc d ạng cá nhân hay là doanh nghi ệp. f) (0,5 điểm) Vi ết một ph ươ ng th ức trong Customer tr ả v ề cùng lúc số l ượng d ịch v ụ sử dụng và tổng số ti ền dịch v ụ thu được từ khách hàng. g) (0,5 điểm) Xây d ựng nh ững ph ươ ng th ức trong CRM , cho phép ch ỉnh s ửa thông tin khách hàng có mã là ‘ID’ nh ư 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 của d ịch v ụ sau m ỗi l ần s ử d ụng cho c ả hai l ớp đối v ới m ột khách hàng. Lưu ý r ằng c ần nh ập thông tin v ề th ời gian s ử d ụng d ịch v ụ, ở đây chúng ta đơn gi ản hóa b ằng cách l ưu tr ữ th ời điểm l ưu tr ữ thông tin. Gi ả s ử trong th ư vi ện, ta có sẵn hàm void time(DateTime &x) sẽ 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 các thu ộc tính c ần thi ết trong l ớp Customer và sau đó viết các ph ươ ng th ức h ổ tr ợ vi ệc tính th ống kê trong l ớp CRM nh ư : o số l ượng khách riêng l ẻ (cá nhân), o số l ượng khách là doanh nhân, o tổng s ố l ượng khách hàng, o tỷ l ệ khách doanh nhân trê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 trong CRM để hi ển th ị thông tin khách hàng theo th ứ t ự trong b ảng ch ữ cái. o Gi ả s ử cho s ẵn hàm so sánh gi ữa hai chu ỗi compare(char* s1, char* s2): tr ả v ề giá tr ị “ true ” n ếu nh ư s1 đứng tr ước s2 theo th ứ t ự trong b ảng ch ữ cái, và tr ả v ề “false ” trong tr ường h ợp ng ược l ại. k) (0,5 điểm) Vi ết hàm main , t ạo m ột l ớp CRM và nh ập vào kho ảng 5 khách hàng cá nhân và 5 doanh nhân; sau đó, xu ất ra các 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 4