Bảng B 2019 - Tỉnh Ninh Bình
HỘI THI TIN HỌC TRẺ TỈNH NINH BÌNH
Lần thứ XXII – Năm 2019
ĐỀ THI BẢNG B – THCS
Ngày thi: 14/6/2019. Thời gian làm bài: 120 phút.
Đề số 1: Sử dụng công cụ lập trình Scratch
Phần tiêu đề “Đề số 1: Sử dụng công cụ lập trình Scratch”| Bài | Tên bài | File chương trình | Điểm |
|---|---|---|---|
| 1 | Ước chung lớn nhất | Ucln.sb3 | 6.0 |
| 2 | Tìm xâu | Xau.sb3 | 6.0 |
| 3 | Trò chơi bắn rồng | BanRong.sb3 | 8.0 |
Bài 1: Ước chung lớn nhất
Phần tiêu đề “Bài 1: Ước chung lớn nhất”Nhập 3 số từ bàn phím, kiểm soát dữ liệu nhập vào là số nguyên dương. Lập chương trình tìm ước chung lớn nhất của 3 số trên.
Ví dụ: nhập 3 số 4, 6, 12 thì kết quả ước chung lớn nhất là 2.
Bài 2: Tìm xâu
Phần tiêu đề “Bài 2: Tìm xâu”Nhập hai xâu ký tự từ bàn phím, kiểm tra xem xâu 2 có nằm trong xâu 1 hay không, nếu có thì chỉ ra vị trí đầu tiên mà xâu 2 nằm trong xâu 1 và số lần xuất hiện của xâu 2.
Ví dụ: nhập xâu 1 là “abcdefcd”, xâu 2 là “cd” thì thông báo xâu cd nằm trong xâu abcdefcd, vị trí đầu tiên xuất hiện của xâu 2 là 3, số lần xuất hiện của xâu 2 là 2 lần.
Bài 3: Trò chơi bắn rồng
Phần tiêu đề “Bài 3: Trò chơi bắn rồng”Phía trên các con rồng sẽ xuất hiện ngẫu nhiên trong thời gian <3 giây sẽ sinh thêm 1 con và bay ngang qua màn hình theo chiều ngang. Phía dưới có mũi tên. Nhiệm vụ của người chơi là điều khiển mũi tên để hướng đến bắn rồng. Con rồng bị bắn sẽ chết - biến mất khi va chạm với mũi tên. Người chơi thắng cuộc nếu bắn được > 30 con rồng. Số con rồng bắn được và số rồng còn sống hiện trên màn hình. Người chơi sẽ thua nếu số lượng rồng xuất hiện quá đông > 10. Người chơi dùng phím space để bắn, dùng phím mũi tên phải, trái để di chuyển tên bắn. Con rồng và mũi tên có sẵn trong thư viện nhân vật của Scratch.
Đề số 2: Sử dụng ngôn ngữ lập trình Pascal
Phần tiêu đề “Đề số 2: Sử dụng ngôn ngữ lập trình Pascal”| STT | Tên bài | Tên tệp dữ liệu vào | Tên tệp kết quả | Điểm |
|---|---|---|---|---|
| Bài 1 | Ước chung lớn nhất | UC.INP | UC.OUT | 6 |
| Bài 2 | Đếm cặp | DC.INP | DC.OUT | 8 |
| Bài 3 | Xâu | XAU.INP | XAU.OUT | 6 |
Bài 1: Ước chung lớn nhất
Phần tiêu đề “Bài 1: Ước chung lớn nhất”Cho ba số nguyên dương a, b, c (a, b, c ≤ 10⁸).
Yêu cầu: Tìm ước chung lớn nhất của ba số trên.
Dữ liệu vào: Đọc từ file UC.INP gồm một dòng chứa ba số nguyên
dương a, b, c.
Kết quả: Ghi ra file UC.OUT một số nguyên duy nhất là kết quả của
bài toán.
Ví dụ:
| UC.INP | UC.OUT |
|---|---|
6 18 12 | 6 |
Bài 2: Đếm cặp
Phần tiêu đề “Bài 2: Đếm cặp”Cho số nguyên dương N và mảng A gồm N số nguyên dương a₁, a₂, …, aₙ (2 ≤ N ≤ 10⁵, 1 ≤ aᵢ ≤ 10⁵).
Yêu cầu: Đếm số cặp (i, j) thoả mãn aᵢ = aⱼ (1 ≤ i, j ≤ N, i ≠ j), (aᵢ, aⱼ) và (aⱼ, aᵢ) chỉ được tính là một cặp.
Dữ liệu vào: Đọc từ file văn bản DC.INP:
- Dòng thứ nhất chứa số nguyên dương N.
- Dòng thứ hai chứa N số nguyên dương a₁, a₂, …, aₙ.
Kết quả: Ghi ra tệp văn bản DC.OUT số lượng cặp thoả mãn.
Ví dụ:
| DC.INP | DC.OUT | Giải thích |
|---|---|---|
76 2 4 2 4 3 4 | 4 | Có 4 cặp số bằng nhau là: a₂=a₄=2, a₃=a₅=4, a₃=a₇=4, a₅=a₇=4 |
Bài 3: Xâu
Phần tiêu đề “Bài 3: Xâu”Cho mảng A gồm N phần tử, các phần tử là các xâu kí tự (chỉ gồm chữ cái và chữ số) có độ dài tối đa không quá 25 và được đánh số từ 1 đến N (2 ≤ N ≤ 50).
Yêu cầu: Sắp xếp các phần tử chỉ gồm các chữ số của mảng A theo thứ tự tăng dần (các phần tử có lẫn chữ cái giữ nguyên vị trí ban đầu).
Ví dụ: N = 8
| i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| A[i] | ab2 | 108 | ball | 71 | car | 200H | 210 | 93 |
Mảng A sau khi sắp xếp: ab2 71 ball 93 car 200H 108 210
(Các phần tử 108, 71, 210, 93 - toàn bộ là chữ số - được sắp xếp tăng dần 71, 93, 108, 210 rồi đặt lại đúng vào 4 vị trí mà chúng đã chiếm ban đầu (vị trí 2, 4, 7, 8); các phần tử ab2, ball, car, 200H có lẫn chữ cái nên giữ nguyên vị trí.)
Dữ liệu vào: Đọc từ file văn bản XAU.INP:
- Dòng thứ nhất chứa số nguyên dương N.
- Dòng thứ hai chứa n phần tử a₁, a₂, …, aₙ.
Kết quả: Ghi ra file văn bản XAU.OUT mảng A sau khi đã sắp xếp.
Ví dụ:
| XAU.INP | XAU.OUT |
|---|---|
8ab2 108 ball 71 car 200H 210 93 | ab2 71 ball 93 car 200H 108 210 |