Thứ Hai, 20 tháng 3, 2017

Đề thi HSG 12, môn Tin học (bảng B), tỉnh Đồng Nai, năm 2016 - 2017

Mời các bạn tham khảo
Đề thi HSG 12, môn Tin học (bảng B), tỉnh Đồng Nai, năm 2016 - 2017
Chấm thử:


Hướng dẫn giải: https://hsgtindongnai.blogspot.com/2017/12/huong-dan-giai-e-thi-hsg-12-mon-tin-hoc.html
---









SỞ GIÁO DỤC VÀ ĐÀO TẠO
ĐỒNG NAI
KỲ THI CHỌN HỌC SINH GIỎI LỚP 12
NĂM HỌC 2016-2017

ĐỀ THI CHÍNH THỨC
Môn: Tin học.
Thời gian làm bài: 150 phút.
(Đề thi này gồm 04 trang)
TỔNG QUAN ĐỀ THI
Phần thi
ACCESS
PASCAL
Tên file nộp
KYTHIQG.ACCDB
BIENQC.PAS
GIANGDEN.PAS
QUAYSO.PAS
Tên file nhập

BIENQC.INP
GIANGDEN.INP
QUAYSO.INP
Tên file xuất
BIENQC.OUT
GIANGDEN.OUT
QUAYSO.OUT
Điểm
8
4
4
4
Lưu ý thí sinh: Toàn bộ bài làm thí sinh lưu trong thư mục Số báo danh trên ổ đĩa do giám thị quy định. Không tạo thêm thư mục con trong thư mục Số báo danh. Lưu các file bài làm theo yêu cầu như trên.
PHẦN 1. QUẢN LÝ CƠ SỞ DỮ LIỆU ACCESS (8 điểm) Thí sinh sử dụng phần mềm Microsoft Access tạo cơ sở dữ liệu lưu với tên KYTHIQG.ACCDB.
A. Tạo bảng (Table) (2,0đ)
1. Tạo cấu trúc các bảng như sau, các field được gạch chân và in đậm là khóa chính của bảng:
tblCum – bảng Cụm thi

tblTruongTHPT – bảng Trường THPT
Field Name
Data Type
Field Size

Field Name
Data Type
Field Size
MaCum
Text
2

MaTruong
Text
5
TenCum
Text
20

TenTruong
Text
40


DiaChi
Text
100
tblThiSinh – bảng Thí sinh

MaCum
Text
2
Field Name
Data Type
Field Size




MaTS
Text
8




HoTen
Text
50

tblKetQuaThi – bảng Kết quả thi
NgaySinh
Date/Time


Field Name
Data Type
Field Size
GioiTinh
Yes/No
Yes:Nam; No: Nữ

MaTS
Text
8
MaTruong
Text
5

Toan
Number
Single
DTB12
Number
Single

Van
Number
Single
UuTien
Number
Single

NN
Number
Single
KK
Number
Single

KHTN
Number
Single
TuChon
Text
4

KHXH
Number
Single
2. Thiết lập liên kết giữa các bảng như sau:
3. Nhập dữ liệu mẫu như sau:
     
B. Tạo mẫu hỏi (Query) (2,0đ)
1. Tạo query qryXetTN bao gồm các thông tin sau: MaTS, DTB12, UuTien, KK, Toan, Van, NN, DiemTuChon, DemXetTN, KetQua. Trong đó:
·        DiemTuChon là điểm của bài thi tự chọn (KHTN hoặc KHXH);
·         .
Gợi ý: dùng hàm Nz để xử lý trường hợp bài thi không có điểm (vắng thi). Hàm Nz(n) trả về 0 nếu n rỗng, ngược lại thì trả về giá trị của n. Yêu cầu DiemXetTN được làm tròn đến 02 chữ số thập phân.
·        KetQua: “Đạt” nếu DiemXetTN từ 5,0 trở lên và tất cả 4 bài thi đều đạt trên 1,0 điểm mỗi bài, ngược lại thì “Hỏng”.
2. Tạo query qryThongKe cho biết số lượng thí sinh dự thi, số lượng đạt và tỷ lệ đạt tốt nghiệp theo từng trường, thông tin gồm: MaTruong, TenTruong, SoTSDuThi, SoTSDat, TyLeDat. Yêu cầu TyLeDat được định dạng % lấy 02 chữ số thập phân.



C. Thiết kế biểu mẫu (Form) (2,0đ)
Tạo biểu mẫu frmNhapTS có dạng như sau. Lưu ý: các field Cụm, Giới tínhTự chọn là các ComboBox.
D. Thiết kế báo cáo (Report) (2,0đ)
Thiết kế báo cáo rptDanhSachTS có dạng như sau:
… tiếp tục cho những trường khác; … tiếp tục cho những cụm thi khác
PHẦN 2. LẬP TRÌNH PASCAL (12 điểm) Thí sinh làm bài trên máy tính bằng phần mềm Free Pascal, lập trình  giải các bài toán sau:
Bài 1. (4 điểm) Biển quảng cáo BIENQC
Để tiết kiệm điện, một biển quảng cáo sử dụng đèn NEON hoạt động theo nguyên tắc sau: bật sáng trong t1 giây, sau đó tắt trong t2 giây, rồi lại sáng trong t1 giây, sau đó tắt trong t2 giây, … Biển quảng cáo được bật lúc 18 giờ và tắt lúc 6 giờ sáng. Khi được bật, biển quảng cáo bắt đầu chu kỳ sáng trước, rồi đến chu kỳ tắt, … Yêu cầu: Hãy xác định tại thời điểm h giờ m phút s giây biển quảng cáo ở trạng thái nào?
Dữ liệu vào: Cho trong tệp văn bản BIENQC.INP ghi năm số nguyên t1, t2, h, m, s (0t1,t2≤100; 0≤h≤23; 0≤m,s≤59), giữa hai số cách nhau một khoảng trắng.
Kết quả: Xuất ra tệp văn bản BIENQC.OUT trạng thái của biển quảng cáo, ghi S nếu biển quảng cáo ở trạng thái bật sáng và ghi T nếu ở trạng thái tắt.
Ví dụ:
BIENQC.INP
BIENQC.OUT
Giải thích: chu kỳ sáng là 10 giây, chu kỳ tắt là 15 giây, tại thời điểm 18 giờ 0 phút 9 giây biển quảng cáo ở trạng thái bật sáng.
10 15 18 0 9
S
Bài 2. (4 điểm) Giăng dây đèn GIANGDEN
Nhân dịp mùa Noel, Tèo có sẵn m mét dây đèn LED đầy màu sắc và muốn sử dụng nó để trang trí dọc theo con đường ở phía bên dãy nhà của mình. Tèo muốn dây đèn được giăng ngang qua nhiều căn nhà nhất có thể. Dây đèn của Tèo là một sợi dây dài liên tục và Tèo không muốn ngắt ra thành nhiều sợi nhỏ. Phía bên dãy nhà của Tèo có n căn nhà và chiều ngang của từng căn nhà thì không giống nhau.
Yêu cầu: Hãy giúp Tèo xác định xem dây đèn có thể giăng qua tối đa bao nhiêu căn nhà?
Dữ liệu vào: Ghi trong tệp văn bản GIANGDEN.INP gồm hai dòng:
- Dòng đầu tiên ghi hai số nguyên dương m và n là số mét dây đèn của Tèo (0<m≤106) và số căn nhà bên phía dãy nhà của Tèo (0<n106);
- Dòng thứ hai ghi n số nguyên dương a1, a2, …, an là kích thước theo chiều ngang của từng căn nhà (0<ai1000; 1in).
Kết quả: Xuất ra tệp GIANGDEN.OUT số lượng tối đa căn nhà có dây đèn giăng qua.
Ví dụ:
GIANGDEN.INP
GIANGDEN.OUT
Giải thích: Tèo có 15 mét dây đèn và dãy bên nhà Tèo có 6 căn nhà. Tối đa có 3 căn nhà được giăng dây đèn là căn nhà thứ 3, 4 và 5 vì tổng chiều ngang của 3 căn nhà này là 6+4+4=14 mét.
15 6
5 7 6 4 4 8
3
Bài 3. (4 điểm) Trò chơi quay số ngẫu nhiên QUAYSO
Nhân kỷ niệm ngày thành lập Đoàn 26/3, đoàn trường THPT Nguyễn Tất Thành tổ chức một trò chơi nhỏ mang tên “Trò chơi quay số ngẫu nhiên”. Quy tắc của trò chơi như sau:
·         Có n người chơi đứng thành vòng tròn xếp theo thứ tự từ 1 đến n theo chiều kim đồng hồ.
·         Ở lượt chơi thứ nhất, người điều khiển trò chơi sẽ đọc ngẫu nhiên một số m1 rồi bắt đầu đếm từ người có số thứ tự 1 cho đến người có số thứ tự m1 và loại người thứ m1 này ra khỏi cuộc chơi. Khi đó trên vòng tròn sẽ còn lại n-1 người chơi.
·         Ở lượt chơi thứ hai, người điều khiển trò chơi lại đọc ngẫu nhiên một số m2 rồi bắt đầu đếm từ người đứng kế tiếp với người vừa rời khỏi cuộc chơi cho đến khi đếm đến số m2 và loại người thứ m2 ra khỏi cuộc chơi. Trên vòng tròn sẽ còn lại n-2 người chơi.
·         Cứ tiếp tục như vậy cho đến khi trên vòng tròn chỉ còn lại một người chơi thì người đó là người chiến thắng.
·         Lưu ý: khi số người còn lại trên vòng tròn nhỏ hơn số ngẫu nhiên của người dẫn chương trình thì quy tắc đếm là xoay vòng cho đến khi đếm đủ số, nghĩa là một người chơi có thể được đếm qua nhiều lần.”
Yêu cầu: Hãy xác định xem ai là người chiến thắng trong trò chơi.
Dữ liệu vào: Cho trong tệp văn bản QUAYSO.INP gồm hai dòng:
- Dòng đầu tiên ghi một số nguyên dương n (2 £ n £ 106) là số người tham gia trò chơi;
- Dòng thứ hai ghi n-1 số: m1, m2, … mn-1 (giữa hai số cách nhau một khoảng trắng) là các số ngẫu nhiên của người điều khiển chương trình (1≤mi≤106; 1≤i≤n-1).
Kết quả: Xuất ra tệp văn bản QUAYSO.OUT số thứ tự của người chiến thắng trong trò chơi.
Ví dụ:
QUAYSO.INP
QUAYSO.OUT
Giải thích: có 5 người chơi và các số ngẫu nhiên lần lượt là 3, 1, 2, 3. Người chiến thắng là người có số thứ tự 5.
5
3 1 2 3
5
---- HẾT ----

(giám thị coi thi không giải thích gì thêm)

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.