Đề thi học sinh giỏi tin học 9 năm học 2020 2021 huyện Văn Bàn, Lào Cai Đề thi học sinh giỏi tin học 9 năm học 2020 2021 huyện Văn Bàn, Lào Cai Đề thi học sinh giỏi tin học 9 năm học 2020 2021 huyện Văn Bàn, Lào Cai Đề thi học sinh giỏi tin học 9 năm học 2020 2021 huyện Văn Bàn, Lào Cai
Trang 1UBND HUYỆN VĂN BÀN
PHÒNG GIÁO DỤC VÀ ĐÀO TẠO
ĐỀ THI CHỌN HỌC SINH GIỎI
LỚP 9 CẤP HUYỆN Năm học 2020 - 2021
MÔN THI TIN HỌC
Thời gian làm bài 150 phút không kể thời gian giao đề.
Đề thi gồm 5 câu, 4 trang
Câu Tệp chương trình File dữ liệu vào File dữ liệu ra Điểm
Lưu ý:
- Dấu * trong phần tên chương trình tương ứng với ngôn ngữ lập trình
mà thí sinh sử dụng Ví dụ PAS
- Thí sinh bắt buộc phải đặt tên File chương trình, File dữ liệu như trên.
Câu 1 (4 điểm)
a) Viết các chương trình thực hiện:
Tính tổng Với n, x là số nguyên
dương Kết quả làm tròn đến chữ số thập phân thứ 4
Dữ liệu vào: Đọc dữ liệu từ tệp Cau1a.inp gồm số nguyên dương N và X Kết quả ra: Ghi kết quả ra tệp Cau1a.out tổng của S
Lưu bài với tên tệp Cau1a.pas
b) Cho số nguyên dương N, tính tổng các chữ số chẵn của số nguyên dương N
Dữ liệu vào: Đọc dữ liệu từ tệp Cau1b.inp Gồm một số nguyên dương N
(với 0<n<107)
Kết quả ra: Ghi kết quả ra tệp Cau1b.out tổng các chữ số chẵn của số
nguyên dương N
n n
s
n
Trang 2Lưu bài với tên tệp Cau1b.pas
Câu 2 (4 điểm)
a) Một nhà xe có 2 ô tô trở khách theo tuyến cố định Nhà xe có lịch trình
đi và rời bến của các xe đảm bảo theo số ngày quy định và đến bến xe ngày nào trả khách xong thì cũng rời bến trong chính ngày đó Tại bến xe chính, xe 1 cứ
X ngày thì cập bến một lần; xe 2 cứ Y ngày lại cập bến một lần (X<>Y)
Em hãy sử dụng ngôn ngữ lập trình viết chương trình tính xem nếu hai xe rời bến cùng ngày thì thời gian ngắn nhất hai xe gặp lại nhau tại bến xe chính đó
là bao nhiêu ngày?
Dữ liệu vào: Đọc dữ liệu từ tệp Cau2a.inp số ngày của xe 1 và xe 2
rời bến
Kết quả ra: Ghi kết quả ra tệp Cau2a.out thời gian ngắn nhất hai xe
gặp nhau
Lưu bài với tên tệp Cau2a.pas
b) Nhập vào một số N Xuất ra số Fibonanci thứ N (Dãy Fibonacnci là các phần tử sau bằng tổng hai phần tử đứng ngay trước nó: 1, 1, 2, 3, 5, 8, 13, 21, )
- Dữ liệu vào: Đọc dữ liệu từ tệp Cau2b.inp gồm một số nguyên dương N
- Kết quả ra: Ghi kết quả ra tệp Cau2b.out số Fibonanci thứ N
Lưu bài với tên tệp Cau2b.pas
Câu 3 (4 điểm)
Số hoàn hảo là số có tổng các ước trừ nó ra thì bằng chính nó (Ví dụ: Số 6
là số hoàn hảo vì nó có tổng các ước 1 + 2 + 3 = 6) Viết chương trình:
a) Đếm và tính tổng các số hoàn hảo có trong dãy số nguyên dương gồm
N phần tử a1, a2, …, an Với 0<N<104 và 0<a[i]<105
b) Xóa tất cả các phần tử chia hết cho 2 và cho 3 có trong dãy
Dữ liệu vào: Đọc dữ liệu từ tệp Cau3.inp
- Dòng 1 số nguyên dương N;
- Dòng 2 dãy các phần tử có trong mảng a1, a2, a3, ,an
Kết quả ra: Ghi kết quả ra tệp Cau3.out
- Dòng 1 ghi lượng các số hoàn hảo có trong dãy
- Dòng 2 ghi tổng các số hoàn hảo có trong dãy
- Dòng 3 in ra dãy sau khi xóa các phần tử chia hết cho 2 và cho 3
Lưu bài với tên tệp Cau3.pas
Trang 3Cau3.inp Cau3.out
8
10 6 28 25 496 20 36 30
3 530
10 28 25 496 20
Câu 4 (4 điểm)
a) Cho xâu S1 gồm các chữ cái in thường viết liên tiếp Hãy nén xâu theo quy tắc sau: Một dãy các chữ cái liên tiếp, nếu hai chữ cái giống nhau trở lên thì người ta viết thành 1 chữ cái đầu và số lần xuất hiện của chữ cái đó Ví dụ:abbccc được nén thành ab2c3
b) Cho xâu S2
- Đếm số lần xuất hiện của 1 kí tự bất kì có trong xâu S2 (không phân biệt chữ hoa, chữ thường)
- Chuyển tất cả các chữ thành chữ thường
- Xóa các kí tự liên tiếp giống nhau chỉ giữ lại một kí tự
Lưu bài với tên tệp Cau4.pas
Dữ liệu vào: Đọc dữ liệu từ tệp Cau4.inp
- Dòng 1 chứa xâu nén S1;
- Dòng 2 chứa xâu S2
- Dòng 3 chứa kí tự cần đếm có trong xâu
Kết quả ra: Ghi kết quả ra tệp Cau4.out
- Dòng 1 ghi kết quả xâu nén
- Dòng 2 ghi số lượng từ cần đếm trong xâu
- Dòng 3 ghi ra xâu chữ thường của xâu S2
- Dòng 4 ghi ra xâu xóa kí tự giống nhau của xâu S2
aaaaabbbhhhhccccc
THhhhI traaaaan khaanhhhhh yEn
h
a5b3h4c5 10
thhhhi traaaaan khaanhhhhh yen thi tran khanh yen
Câu 5 (4 điểm)
Mẹ và Hà cùng đi siêu thị để mua hàng cho Tết Nguyên đán sắp tới Khi vào siêu thị mẹ và Hà mỗi người cầm theo một giỏ hàng để đựng, vì siêu thị rộng lại có đông người mua sắm nên hai mẹ con không đi cùng nhau để chọn hàng Sau một thời gia lựa chọn hàng mẹ và Hà cùng gặp nhau ở chỗ thanh toán tiền và phát hiện có một số mặt hàng trong giỏ của Hà trùng với giỏ của mẹ (các mặt hàng đều được siêu thị đánh mã số theo thứ tự) Mẹ bảo Hà giúp mẹ loại bỏ các mặt hàng trùng nhau (trùng mã) và chỉ giữ lại một giỏ hàng với các mặt hàng khác nhau được lấy từ hai giỏ, khi loại bỏ các mã mặt hàng trùng nhau Hà muốn xếp các mặt hàng có mã lớn hơn đứng trước để đưa ra quầy thành toán
Trang 4Sau khi thanh toán xong Hà được siêu thị khuyến mại thêm 1 mã sản phẩm (mã sản phẩm khuyến mại của siêu thị là các mặt hàng có mã từ 1 đến 9)
và bạn ấy cũng muốn xếp các mặt hàng theo đúng mã thứ tự giảm dần
Em hãy viết chương trình giúp bạn Hà loại bỏ những mã mặt hàng trùng
mã nhau và mã các mặt hàng lớn hơn được xếp lên trước, rồi chèn thêm mã sản phẩm hàng khuyến mại sao cho mã hàng vẫn giảm dần theo đúng thứ tự Biết rằng giỏ hàng của mẹ là dãy số a1, a2, a3, ,an (0<N<106), (0<ai<106) và giỏ hàng của Hà là dãy số b1, b2, b3, ,bn (0<M<106), (0<bi<106); mã hàng khuyến mại là s (0<s<=9)
Dữ liệu vào: Đọc từ tệp văn bản Cau5.INP
- Dòng 1ghi số nguyên N;
- Dòng 2 ghi giá trị các phần tử của mảng A mỗi phần tử cách nhau một kí tự trống
- Dòng 3 ghi số nguyên M;
- Dòng 4 ghi giá trị các phần tử của mảng B mỗi phần tử cách nhau một kí tự trống
- Dòng 5 ghi mã mặt hàng được khuyến mại s (0<s<=9)
Kết quả ra: Ghi ra tệp văn bản Cau5.OUT
- Dòng 1 là mã các mặt hàng khác nhau được xếp theo thứ tự giảm dần
- Dòng 2 là mã các mặt hàng sau khi được bổ sung thêm hàng khuyến mại vẫn được xếp theo đúng thứ tự giảm dần
6
5 4 1 5 3 1
10
2 3 3 9 9 6 7 6 1 5
8
9 7 6 5 4 3 2 1
9 8 7 6 5 4 3 2 1
8
100 15 9 3 45 60 45 8
8
100 15 45 60 3 6 20 4
5
100 60 45 20 15 9 8 6 4 3
100 60 45 20 15 9 8 6 5 4 3
HẾT
-Lưu ý: - Thí sinh chỉ được sử dụng máy vi tính không có kết nối mạng.
- Cán bộ coi thi không giải thích gì thêm
Họ và tên thí sinh SBD