Bỏ qua để đến nội dung

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àiTên bàiFile chương trìnhĐiểm
1Ước chung lớn nhấtUcln.sb36.0
2Tìm xâuXau.sb36.0
3Trò chơi bắn rồngBanRong.sb38.0

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.

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.

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”
STTTên bàiTên tệp dữ liệu vàoTên tệp kết quảĐiểm
Bài 1Ước chung lớn nhấtUC.INPUC.OUT6
Bài 2Đếm cặpDC.INPDC.OUT8
Bài 3XâuXAU.INPXAU.OUT6

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.INPUC.OUT
6 18 126

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.INPDC.OUTGiải thích
7
6 2 4 2 4 3 4
4Có 4 cặp số bằng nhau là: a₂=a₄=2,
a₃=a₅=4, a₃=a₇=4, a₅=a₇=4

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

i12345678
A[i]ab2108ball71car200H21093

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.INPXAU.OUT
8
ab2 108 ball 71 car 200H 210 93
ab2 71 ball 93 car 200H 108 210