Đề thi môn Kỹ thuật lập trình - Năm học 2011 - 2012 - Khoa Khoa học và Kỹ thuật máy tính

Kết quả in ra màn hình là:
A) Lần lượt hiển thị các giá trị của a, b và c
B) Báo lỗi vì a,b và c không thể truy xuất được
C) Báo lỗi vì a và b không thể truy xuất được
D) Báo lỗi vì a không thể truy xuất được
E) Tất cả các đáp án trên đều sai. 
pdf 5 trang xuanthi 27/12/2022 3260
Bạn đang xem tài liệu "Đề thi môn Kỹ thuật lập trình - Năm học 2011 - 2012 - 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:

  • pdfde_thi_mon_ky_thuat_lap_trinh_nam_hoc_2011_2012_khoa_khoa_ho.pdf

Nội dung text: Đề thi môn Kỹ thuật lập trình - Năm học 2011 - 2012 - Khoa Khoa học và Kỹ thuật máy tính

  1. TRƯỜ NG ĐAỊ HOC̣ BÁ CH KHOA TP.HCM Sinh viên: Khoa Khoa học & Kỹ thuật Máy tính MSSV: 11: MyStaticClass::value = 0; 12: for(int i=0; i  using namespace std;  class Father{  public: Father(){cout << "F ";}  };  class Child: public Father{  public: Child(){ cout << "C ";}  };  void main(){  Child c;  } Kết quả in ra màn hình là: A) F B) C C) F C D) C F E) Tất cả các chọn lựa trên đều sai Phần lập trình (9 điểm) Một trung tâm cung cấp dịch vụ nhận tin nhắn SMS cần một phần mềm quản lý các tin nhắn. Mỗi tin nhắn gửi về trung tâm thông thường có từ hai đến ba từ, giữa hai từ luôn có một khoảng trắng. Từ đầu tiên gồm 4 ký tự số, là mã dịch vụ cần sử dụng. Từ thứ hai là tên tài khoản người sử dụng. Từ thứ ba (nếu có) là thông tin đối số. Ví dụ "3556 huyhoang" và "3556 huyhoang doiso" là các dạng tin nhắn hợp lệ, với 3556 la mã dịch vụ và huyhoang là Đề thi môn Kỹ thuâṭ lâp̣ trình 501127 – 2011-2012 Trang 2
  2. TRƯỜ NG ĐAỊ HOC̣ BÁ CH KHOA TP.HCM Sinh viên: Khoa Khoa học & Kỹ thuật Máy tính MSSV: b) (2 điểm) Hãy hiện thực hàm có prototype là int countSMS(char* post, tm t1, tm t2), dùng để xác định số lượng nhận tin nhắn có mã dịch vụ post được nhận trong từ thời điểm t1 đến thời điểm t2. c) (2 điểm cho sinh viên lớp thường; 1 điểm cho sinh viên lớp KSTN) Sử dụng kỹ thuật đệ qui, hãy hiện thực hàm có prototype là int countSMS(char* post, tm t1, tm t2, int n1, int n2) để xác định số lượng tin nhắn có mã dịch vụ post được nhận trong từ thời điểm t1 đến thời điểm t2 và được lưu trữ từ chỉ số n1 đến chỉ số n2 của dãy sms. d) (2 điểm) Hãy hiện thực một hàm thống kê có thể trả về nhiều giá trị để cho biết cùng lúc mã dịch vụ nào nhận nhiều tin nhắn nhất từ thời điểm t1 đến thời điểm t2 và số lượng tin nhắn của dịch vụ đó nhận được từ thời điểm t1 đến thời điểm t2. Lưu ý: Sinh viên tự đề xuất prototype cho hàm đáp ứng yêu cầu là có thể trả về nhiều giá trị khác nhau sau mỗi lần gọi hàm (có nhiều phương pháp: biến toàn cục, truyền tham khảo, con trỏ, cấu trúc đặc biệt, ). Sinh viên cần dùng tối thiểu hai trong các phương pháp trên sao cho mỗi lần gọi hàm có thể trả về nhiều giá trị khác nhau. e) (1 điểm cho sinh viên lớp KSTN; 1 điểm thưởng cho sinh viên lớp thường) Hãy hiện thực hàm có prototype là void getKBestServices(int k, tm t1, tm t2), dùng để hiển thị k mã dịch vụ nào nhận nhiều tin nhắn nhất trong khoảng thời gian t1 đến t2. f) (1 điểm) Trong thiết kế chương trình hiện tại, số tin nhắn tối đa có thể lưu trữ được là 10000, chỉ có tối đa 3 từ trong 1 tin nhắn, chỉ có tối đa 10 ký tự trong 1 từ. Hãy đề xuất giải pháp để loại bỏ các giới hạn trên. g) (1 điểm thưởng) Hãy nêu các giải pháp và phân tích ưu và nhược điểm của mỗi giải pháp để các tin nhắn vẫn được lưu trữ khi chương trình kết thúc, và khi chương trình được thực thi trở lại, các tin nhắn được sử dụng trở lại. -HẾT- Đề thi môn Kỹ thuâṭ lâp̣ trình 501127 – 2011-2012 Trang 4