PHÒNG GD&ĐT CAM LỘ KỲ THI CHỌN HỌC SINH GIỎI VĂN HÓA LỚP 9 NĂM HỌC 2019 - 2020
Khoá ngày 24 tháng 10 năm 2019
MÔN THI: TIN HỌC
Thời gian: 120 phút ( không kể thời gian giao đề)
(Đề thi gồm có 02 trang)
TỔNG QUAN BÀI THI
| Tên bài | Tên chương trình | Dữ liệu vào | Kết quả |
Câu 1 | Tổng các tích | CAU1.PAS | CAU1.INP | CAU1.OUT |
Câu 2 | Kiểm tra | CAU2.PAS | CAU2.INP | CAU2.OUT |
Câu 3 | Mật thư | CAU3.PAS | CAU3.INP | CAU3.OUT |
Câu 4 | Bộ số | CAU4.PAS | CAU4.INP | CAU4.OUT |
Em hãy dùng ngôn ngữ lập trình Pascal hoặc Free Pascal để lập trình giải các bài toán sau:
Câu 1: (3 điểm) Tổng các tích Tên File chương trình: CAU1.PAS
Cho số nguyên n (n<=50). Em hãy lập trình tính tổng sau:
\(S = 2 + \frac{3}{{1.2}} + \frac{4}{{1.2.3}} + \ldots + \frac{{n + 1}}{{1.2.3..n}}\)
Input: Cho bởi tệp CAU1.INP gồm một dòng duy nhất chứa số nguyên n.
Output: Cho bởi tệp CAU1.OUT gồm một dòng duy nhất chứa kết quả (làm tròn đến 10 chữ số thập phân).
Ví dụ:
CAU1.INP | CAU1.OUT |
3 | 4.1666666667 |
Câu 2: (7 điểm) Kiểm tra Tên File chương trình: CAU2.PAS
Một biểu thức số học chứa dấu mở ngoặc ‘(‘ và đóng ngoặc ‘)’ xác định một cách đặt ngoặc đúng, nếu thỏa mãn các điều kiện sau:
- Tổng số ngoặc đóng = tổng số ngoặc mở
- Đi từ trái qua phải, ở bất cứ vị trí nào số ngoặc đóng phải nhỏ hơn hoặc bằng số ngoặc mở
Yêu cầu: Em hãy xác định một biểu thức số học có phải là một cách đặt ngoặc đúng không?
Input: Cho bởi tệp CAU2.INP có cấu trúc như sau:
- Dòng dầu là số test n (0 < n < 100)
- n dòng tiếp theo, mỗi dòng là một dãy các biểu thức số học.
Output: Cho bởi tệp CAU2.OUT Gồm n dòng, mỗi dòng là kết quả một test tương ứng, xuất “YES” nếu cách đặt ngoặc đúng, ngược lại xuất “NO”
CAU2.INP | CAU2.OUT |
3 2(3+5) (2x+1)(4y+2) (2x-1))(3y-2) | YES YES NO
|
Ví dụ:
Câu 3: (5 điểm) Mật thư Tên File chương trình: CAU3.PAS
Trong Hội trại chào mừng huyện Cam Lộ đạt chuẩn nông thôn mới, ban tổ chức có một tin nhắn được mã hóa và giấu trong một mật thư trước khi gửi đi.
Quy tắc mã hóa tin nhắn:
- Thay mỗi chữ cái trong tin nhắn thành một chữ cái đứng cách nó k vị trí trong bảng chữ cái tiếng Anh theo quy tắc xoay vòng.
- Các ký tự không phải chữ cái thì không thay đổi.
- Trong xâu có thể có nhiều tin nhắn, giữa các tin nhắn được ngăn cách nhau bởi các kí tự trống (space).
Biết rằng tin nhắn có độ dài lớn nhất là tin nhắn cần tìm. Nếu có nhiều tin nhắn có cùng chiều dài thì tin nhắn đầu tiên tìm thấy là tin nhắn cần giải mã.
Yêu cầu: Cho trước một xâu S dài không quá 255 ký tự và một số nguyên dương k. Em hãy tìm và giải mã tin nhắn được giấu trong xâu S để giành phần quà từ ban tổ chức.
Input: Cho bởi tệp CAU3.INP gồm hai dòng:
− Dòng đầu tiên chứa xâu S (S<256);
− Dòng thứ hai: số nguyên dương k.
Ouput: Xuất ra tệp văn bản có tên CAU3.OUT gồm hai dòng:
− Dòng đầu: số lượng tin nhắn tìm được;
− Dòng thứ hai: nội dung tin nhắn cần tìm đã được giải mã.
Ví dụ:
CAU3.INP | CAU3.OUT |
ABC DBNMP 12abc 1 | 2 CAMLO |