Tải bản đầy đủ (.doc) (6 trang)

Đề thi học sinh giỏi lớp 12 THPT tỉnh Hà Nam năm 2011 - 2012 môn Tin học (Có đáp án)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (203.36 KB, 6 trang )

SỞ GIÁO DỤC VÀ ĐÀO TẠO
HÀ NAM
KỲ THI CHỌN HỌC SINH GIỎI LỚP 12 THPT
NĂM HỌC 2011 - 2012
Môn: TIN HỌC
ĐỀ CHÍNH THỨ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 thuê 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 thuê)
TT Field Name Data Type Size Description
1 LoaiPhong Text 1 Loại phòng
2 DienGiai Text 50 Diễn giải
3 DonGia Number Long Integer Giá phòng
 Bảng TBL_DangKy (thông tin về việc đăng ký thuê phòng của khách hàng)
TT Field Name Data Type Size Description
1 MaDK Text 5 Mã đăng ký
2 SoPhong Text 3 Số phòng
3 LoaiPhong Text 1 Loại phòng
4 NgayVao Date/Time Short Date Ngày thuê
5 NgayRa Date/Time Short Date Ngày trả
 Bảng TBL_KhachHang (thông tin chi tiết về khách hàng thuê phòng)
TT Field Name Data Type Size Description
1 MaDK Text 5 Mã đăng ký
2 DoiTuongKH Text 1 Đối tượng khách hàng
3 TenKH Text 20 Tên khách hàng
4 GioiTinh Text 5 Giới tính
5 Ngaysinh Date/Time Short Date Ngày sinh (m/d/yyyy)
7 DiaChi Text 50 Địa chỉ của khách
8 DienThoai Text 11 Điện thoại
 Bảng TBL_DoiTuongKH (thông tin về đối tượng khách hàng thuê phòng)


TT Field Name Data Type Size Description
1 DoiTuongKH Text 1 Đối tượng khách hàng
2 DienGiai Text 50 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 khoá 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:
1, Nhập dữ liệu bảng TBL_LoaiPhong
LoaiPhong DienGiai DonGia
A Máy lạnh, nước nóng, tivi, tủ lạnh, điện thoại 350000
B Máy lạnh, nước nóng, điện thoại 300000
Trang 1 / 4
2, Nhập dữ liệu bảng TBL_DoiTuongKH
DoituongKH DienGiai
1 Khách vãng lai
2 Khách quen
3 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
TenKH GioiTinh NgaySinh DiaChi DienThoai
001 101 A 2/1/2011 2/15/2011 3
Trần
Văn
Bình
Nam 12/2/1984

Nam

0916113537
002 105 B 4/30/2011 5/25/2011 1
Lương
Thị
Dung
Nữ 5/4/1981
Hải
Phòng
003 204 A 1/12/2012 2/3/2012 2
Nguyễn
Thị
Yến
Nữ 3/18/1969 Hà Nội
0989416222
004 303 A 2/20/2012 2/25/2012 2
Phạm
Văn
Minh
Nam 9/7/1975

Nam
005 502 B 5/1/2011 5/11/2011 1
Trần
Thị
Thảo
Nữ 8/21/1989
Hưng
Yên
006 407 B 12/12/2011 2/6/2012 3
Nguyễn

Văn Ba
Nam 5/1/1979
Bắc
Ninh
007 505 A 5/8/2009 1/4/2010 2
Phan
Thị
Yến
Nữ 5/25/1973

Nam
008 301 B 2/23/2010 1/1/2011 1
Cao
Thu Hà
Nữ 12/19/1990 Hà Nội
009 504 B 6/7/2010 9/25/2010 1
Trần
Thị
Thủy
Nữ 3/6/1983

Nam
010 402 B 1/5/2009 7/6/2010 3
Trần
Thị
Hằng
Nữ 5/12/1985
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 thuê

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 thuê
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á thuê phòng), ThucThu
(thực thu của khách sạn).
Trong đó:
1, SoNgayO = NgayRa – NgayVao
Trang 2 / 4
2, Thành tiền (ThanhTien):
 Nếu số ngày ở 7: ThanhTien = DonGia x SoNgayO
 Nếu 7 < số ngày ở 20: ThanhTien = DonGia x SoNgayO x 0.97 (Giảm 3%)
 Nếu số ngày ở > 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:
Hãy lập trình giải quyết các bài toá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ố nguyên từ số nguyên thứ 1 đến số nguyên thứ 3 là : 1 + 2 + 2 = 5.
Trang 3 / 4



Hãy tính tổng các số nguyên trong dãy số trên kể từ số nguyên thứ A trong dãy đến số
nguyên thứ B trong dãy.
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ố nguyên 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ố nguyên thứ A
đến số nguyên 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ố nguyên 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ố nguyên 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 trên.
Yêu cầu :
* Dữ liệu vào : đọc từ file văn bản : MAYMAN.INP
Chỉ một dòng duy nhất chứa 1
số nguyên 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ố nguyên may mắn thứ K.
Ví dụ :
MAYMAN.INP MAYMAN.OUT MAYMAN.INP MAYMAN.OUT MAYMAN.INP MAYMAN.OUT
1 4 2 7 3 44
________________________
Họ và tên thí sinh : ………………………………………… Số báo danh: ……………….
Chữ kí giám thị 1 : …………………………………………………………………………

Chữ kí giám thị 2 : …………………………………………………………………………
Trang 4 / 4
9
1 K 10≤ ≤
ĐÁ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 Nội dung Điểm
Câu a
(2 điểm)
+ Tạo đúng bảng TBL_LoaiPhong và
TBL_DoiTuongKH (tên trường và kiểu dữ liệu)
+ Tạo đúng bảng TBL_DangKy (tên trường và kiểu dữ liệu)
+ Tạo đúng bảng TBL_KhachHang (tên trường và
kiểu dữ liệu)
+ Tạo đúng khoá 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 – )).
0,25đ
0,25đ
0,25đ
0,5đ

0,25đ
0,25đ
0,25đ
Câu b
(0,25điểm)
+ Nhập đúng dữ liệu cho các bảng theo đúng thông tin mẫu. 0,25đ
Câu c
(1,5điểm)
+ Tạo được Qr_KhachHang đầy đủ các cột và sắp xếp tăng dần theo
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 được độ tuổi >=20 (Year(Date())-
Year([NgaySinh])>=20)
0,25đ
0,5đ
0,5đ
0,25đ
Câu d
(1,75điểm
)
+ Tạo được Qr_ThanhToan đầy đủ các cột và sắp xếp tăng dần theo số
Phòng
+ Xác định đúng SoNgayO (Số ngày ở của khách)
(SoNgayO = NgayRa – NgayVao)
+ Xác định đúng ThanhTien (Thành tiền)
IIf([SoNgayO]<=7,[DonGia]*[SoNgayO],IIf(([SoNgayO]>7)And
([SoNgayO]<=20),[DonGia]*[SoNgayO]*0.97,

0,25đ
0,25đ
0,5đ
Trang 5 / 4




IIf([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))
+ Xác định ThucThu (thực thu của khách sạn)
([ThanhTien]-[GiamGia])
0,5đ
0,25đ
Câu e
(1,5điểm)
+ 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
0,5đ
0,25đ
0,75đ
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 6 / 4

×