Đề thi chọn học sinh giỏi môn Tin học lớp 12 năm học 2011-2012 – Sở Giáo dục và Đào tạo Hà Nam (Đề chính thức) được biên soạn 3 bài tập và có kèm theo hướng dẫn chấm; phục vụ giáo viên trong quá trình đánh giá và phân loại năng lực của học sinh.
SỞ GIÁO DỤC VÀ ĐÀO TẠO HÀ NAM ĐỀ CHÍNH THỨC KỲ THI CHỌN HỌC SINH GIỎI LỚP 12 THPT NĂM HỌC 2011 2012 Mơn: TIN HỌC Thời gian: 180 phút (khơng kể thời gian giao đề) (Đề thi có 4 trang, gồm 3 bài) BÀI 1: (7,0 điểm). Để quản lí việc cho th phịng nghỉ của một khách sạn, người ta dùng 4 bảng sau: Bảng TBL_LoaiPhong (thơng tin về loại phịng mà khách cần th) TT Field Name Data Type Size Description LoaiPhong Text Loại phòng DienGiai Text 50 Diễn giải DonGia Number Long Integer Giá phịng Bảng TBL_DangKy (thơng tin về việc đăng ký th phịng của khách hàng) TT Field Name Data Type Size Description MaDK Text Mã đăng ký SoPhong Text Số phòng LoaiPhong Text Loại phòng NgayVao Date/Time Short Date Ngày thuê NgayRa Date/Time Short Date Ngày trả Bảng TBL_KhachHang (thơng tin chi tiết về khách hàng th phịng) TT Field Name Data Type Size Description MaDK Text Mã đăng ký DoiTuongKH Text Đối tượng khách hàng TenKH Text 20 Tên khách hàng GioiTinh Text Giới tính Ngaysinh Date/Time Short Date Ngày sinh (m/d/yyyy) DiaChi Text 50 Địa chỉ của khách DienThoai Text 11 Điện thoại Bảng TBL_DoiTuongKH (thơng tin về đối tượng khách hàng th phịng) TT Field Name DoiTuongKH DienGiai Data Type Text Text Size 50 Description Đối tượng khách hàng Diễn giải Câu a: Tạo một tệp CSDL có tên QLTHUEPHONG.MDB, thiết kế 4 bảng có tên và cấu trúc như trên, xác định khố chính trong các bảng, từ đó thiết lập mối quan hệ giữa các bảng trên Câu b: Nhập dữ liệu cho 4 bảng trên theo các thơng tin sau: Trang 1 / 1, Nhập dữ liệu bảng TBL_LoaiPhong LoaiPhong DienGiai A Máy lạnh, nước nóng, tivi, tủ lạnh, điện thoại B Máy lạnh, nước nóng, điện thoại 2, Nhập dữ liệu bảng TBL_DoiTuongKH DonGia 350000 300000 DoituongKH DienGiai Khách vãng lai Khách quen Khách có thẻ bảo hiểm 3, Nhập dữ liệu bảng TBL_DangKy và bảng TBL_KhachHang MaDK SoPhong LoaiPhong NgayVao NgayRa DoiTuongKH 001 101 A 2/1/2011 2/15/2011 TenKH Trần Văn GioiTinh NgaySinh DiaChi DienThoai Nam 12/2/1984 Hà Nam 0916113537 Nữ 5/4/1981 Nữ 3/18/1969 Nam 9/7/1975 Nữ 8/21/1989 Nam 5/1/1979 Nữ 5/25/1973 Hà Nam Nữ 12/19/1990 Hà Nội Nữ 3/6/1983 Nữ 5/12/1985 Bình Lương 002 105 B 4/30/2011 5/25/2011 003 204 A 1/12/2012 2/3/2012 Thị Dung Nguyễ n Thị Yến Phạm 004 303 A 2/20/2012 2/25/2012 005 502 B 5/1/2011 5/11/2011 Văn Minh Trần Thị Thảo Nguyễ 006 407 B 12/12/2011 2/6/2012 007 505 A 5/8/2009 1/4/2010 008 301 B 2/23/2010 1/1/2011 009 504 B 6/7/2010 9/25/2010 010 402 B 1/5/2009 7/6/2010 n Văn Ba Phan Thị Yến Cao Thu Hà Trần Thị Thủy Trần Thị Hằng Hải Phòng Hà Nội 0989416222 Hà Nam Hưng Yên Bắc Ninh Hà Nam Bắc Giang Câu c: Tạo Query có tên Qry_KhachHang. Mẫu hỏi hiển thị danh sách khách hàng th phịng vào các ngày 30/4, 1/5 (tính theo ngày vào) là Nữ khách hàng ở phịng loại B và có độ tuổi lớn hơn hoặc bằng 20. Phải sắp xếp theo thứ tự tăng dần về TenKH (tên khách hàng), gồm các cột: LoaiPhong, SoPhong, TenKH, NgaySinh, GioiTinh, NgayVao Câu d: Tạo Query có tên Qry_ThanhToan. Mẫu hỏi hiển thị danh sách khách hàng th Trang 2 / phịng được sắp xếp theo thứ tự tăng dần về SoPhong (số phịng), gồm các cột: MaDK, SoPhong, LoaiPhong, DoiTuongKH, TenKH, NgayVao, NgayRa, SoNgayO (s ố ngày khách ở), DonGia, ThanhTien (tiền khách phải trả), GiamGia (giảm giá th phịng), ThucThu (thực thu của khách sạn) Trong đó: 1, SoNgayO = NgayRa – NgayVao 2, Thành tiền (ThanhTien): Nếu số ngày ở 7: ThanhTien = DonGia x SoNgayO Nếu 7 20: ThanhTien = DonGia x SoNgayO x 0.95 (Giảm 5%) 3, Giảm giá (GiamGia): Nếu là khách vãng lai: GiamGia = 0 Nếu là khách quen: GiamGia = 5% x ThanhTien Nếu là khách có thẻ bảo hiểm: GiamGia = 7% x ThanhTien 4, ThucThu = ThanhTien GiamGia Câu e: Hãy tạo Subform có tên Frm_LoaiPhong và trình bày theo mẫu sau: Trang 3 / Hãy lập trình giải quyết các bài tốn sau đây bằng ngơn ngữ Pascal : BÀI 2 : (7,0 ĐIỂM). TỔNG SỐ TÊN FILE CHƯƠNG TRÌNH TONGSO.PAS Một dãy số được viết lần lượt theo thứ tự như sau: 1 số 1, 2 số 2, 3 số 3, 4 số 4, và 5 số 5, ( 1 , 2 , 2 , 3 , 3 , 3, 4 , 4, 4 , 4 , 5 , 5 , 5 , 5 , 5 , ) Tổng các số ngun từ số ngun thứ 1 đến số ngun thứ 3 là : 1 + 2 + 2 = 5 Hãy tính tổng các số ngun trong dãy số trên kể từ số ngun thứ A trong dãy đến số ngun thứ B trong dãy. u cầu: * Dữ liệu vào: đọc từ file văn bản : TONGSO.INP Chỉ có 1 dịng ghi 2 số ngun A và B ( Error: Reference source not found) * Kết quả ghi ở file : TONGSO.OUT Chỉ có một dịng duy nhất ghi giá trị tổng các số trong dãy tính từ số ngun thứ A đến số ngun thứ B Ghi chú: (Các số trên cùng một dịng trong file cách nhau ít nhất bởi một dấu cách trắng) Ví dụ : TONGSO.INP TONGSO.OUT TONGSO.INP TONGSO.OUT TONGSO.INP TONGSO.OUT 1 3 5 3 7 15 50 50 10 BÀI 3 : (6,0 ĐIỂM). SỐ MAY MẮN TÊN FILE CHƯƠNG TRÌNH MAYMAN.PAS Chữ số 4 và chữ số 7 là các chữ số may mắn, cịn các chữ số khác là khơng may mắn. Một số ngun chỉ chứa các chữ số may mắn 4 và 7 (biểu diễn ở hệ thập phân) gọi là số may mắn. Dãy các số ngun may mắn sắp theo thứ tự : 4 ; 7 ; 44 ; 47 ;74 ;77; 444 ; Chúng ta cần tìm số nguyên may mắn thứ K trong dãy số nguyên may mắn Yêu cầu : * Dữ liệu vào : đọc từ file văn bản : MAYMAN.INP K 109 Chỉ một dịng duy nhất chứa 1 số ngun K () * Kết quả ghi : ở file văn bản : MAYMAN.OUT Chỉ một dịng duy nhất chứa 1 số là số ngun may mắn thứ K. Ví dụ : Trang 4 / MAYMAN.INP MAYMAN.OUT MAYMAN.INP MAYMAN.OUT MAYMAN.INP MAYMAN.OUT 44 Họ và tên thí sinh : ………………………………………… Số báo danh: ……………… Chữ kí giám thị 1 : ………………………………………………………………………… Chữ kí giám thị 2 : ………………………………………………………………………… Trang 5 / ĐÁP ÁN,HƯỚNG DẪN VÀ BIỂU ĐIỂM CHẤM THI HỌC SINH GIỎI LỚP 12 THPT MƠN TIN HỌC ĐỀ CHÍNH THỨC NĂM 2012 BÀI 1/ (7,0 điểm) Relationships Câu Câu a (2 điểm) Nội dung Điể m 0,25đ + Tạo đúng bảng TBL_LoaiPhong và TBL_DoiTuongKH (tên trường 0,25đ và kiểu dữ liệu) 0,25đ + Tạo đúng bảng TBL_DangKy (tên trường và kiểu dữ liệu) 0,5đ + Tạo đúng bảng TBL_KhachHang (tên trường và kiểu dữ liệu) + Tạo đúng khố chính cho các bảng (Khóa chính trong bảngTBL_LoaiPhong: LoaiPhong ; TBL_DangKy: MaDK ; TBL_KhachHang: MaDK ; TBL_DoiTuongKH: DoiTuongKH) + Tạo đúng mối quan hệ giữa các bảng (như mơ hình trên) TBL_LoaiPhong (1) và TBL_DangKy () TBL_DangKy (1) và TBL_KhachHang (1) TBL_KhachHang () và TBL_DoiTuongKH (1) (Giải thích: một LoaiPhong có nhiều Khách đăng ký (1 ); một Khách có một MaDK (1 1); một loại DoiTuongKH có nhiều Khách (1 – )) + Nhập đúng dữ liệu cho các bảng theo đúng thơng tin mẫu Câu b (0,25điểm ) Câu c + Tạo được Qr_KhachHang đầy đủ các cột và sắp xếp tăng dần theo (1,5điểm) Tên khách hàng + Xác định được Khách thuê phòng vào các ngày 30/4, 1/5 (Day([NgayVao])= 30 and Month([NgayVao])=4) or (Day([NgayVao])= 1 and Month([NgayVao])=5) + Xác định được Khách hàng là Nữ và ở phòng loại B + Xác định độ tuổi >=20 (Year(Date()) Year([NgaySinh])>=20) Trang 6 / 0,25đ 0,25đ 0,25đ 0,25đ 0,25đ 0,5đ 0,5đ 0,25đ Câu d + Tạo được Qr_ThanhToan đầy đủ các cột và sắp xếp tăng dần theo 0,25đ (1,75điểm số Phòng 0,25đ + Xác định đúng SoNgayO (Số ngày ở của khách) ) (SoNgayO = NgayRa – NgayVao) 0,5đ + Xác định đúng ThanhTien (Thành tiền) IIf([SoNgayO]7)And ([SoNgayO]20,[DonGia]*[SoNgayO]*0.95))) + Xác định được GiamGia (Giảm giá phòng trọ) IIf([TBL_KhachHang]![DoiTuongKH]="3",0.07*[ThanhTien], IIf([TBL_KhachHang]![DoiTuongKH]="2",0.05*[ThanhTien],0)) Câu e (1,5điểm) + Xác định ThucThu (thực thu của khách sạn) ([ThanhTien][GiamGia]) + Tạo được và đủ nội dung Form có tên Frm_LoaiPhong + Tạo được liên kết SubForm đúng + Tạo Form đúng mẫu, đúng kết quả cột: SoNgayO, ThanhTien và đẹp Các bài lập trình trên ngơn ngữ pascal đều chấm thơng qua các test BÀI 2/ (7,0 điểm) Bài chia ra 10 TEST mỗi TEST : 0,7 Điểm BÀI 3/ (6,0 điểm) Bài chia ra 10 TEST mỗi TEST : 0,6 Điểm - HẾT - Trang 7 / 0,5đ 0,25đ 0,5đ 0,25đ 0,75đ ... ĐÁP ÁN,HƯỚNG DẪN VÀ BIỂU ĐIỂM CHẤM? ?THI HỌC? ?SINH? ?GIỎI LỚP? ?12? ?THPT MƠN? ?TIN? ?HỌC ĐỀ CHÍNH THỨC NĂM 2 012 BÀI 1/ (7,0 điểm) Relationships Câu Câu a (2 điểm) Nội dung Điể m 0,25đ +? ?Tạo? ?đúng bảng TBL_LoaiPhong? ?và? ?TBL_DoiTuongKH (tên trường... 3/18/1969 Nam 9/7/1975 Nữ 8/21/1989 Nam 5/1/1979 Nữ 5/25/1973 Hà? ? Nam Nữ 12/ 19/1990 Hà? ?Nội Nữ 3/6/1983 Nữ 5 /12/ 1985 Bình Lương 002 105 B 4/30/2011 5/25/2011 003 204 A 1 /12/ 2 012 2/3/2 012 Thị Dung... Thu? ?Hà Trần Thị Thủy Trần Thị Hằng Hải Phòng Hà? ?Nội 0989416222 Hà? ? Nam Hưng Yên Bắc Ninh Hà? ? Nam Bắc Giang Câu c:? ?Tạo? ?Query có tên Qry_KhachHang. Mẫu hỏi hiển thị danh sách khách hàng th