Thẻ: De thi hsg tin 9 cấp huyện c++

Bộ 21 Đề Thi HSG Tin Học Lớp 9 Đồng Tháp 2026 – 2027 (Có Đáp Án)

Kỳ thi Học sinh giỏi (HSG) Tin học lớp 9 cấp xã và tỉnh luôn là một trong những thử thách lớn đối với các bạn học sinh đam mê lập trình và thuật toán. Để đạt được thành tích cao, việc luyện đề và cọ xát với các dạng bài thi thực tế từ các năm trước là phương pháp ôn luyện vô cùng hiệu quả.

Nhằm đồng hành cùng các bạn học sinh và quý thầy cô trên địa bàn tỉnh, Vi Tính Tấn Dân xin chia sẻ Bộ 21 Đề thi HSG Tin học lớp 9 Đồng Tháp năm học 2026 – 2027 (Kèm đáp án và hướng dẫn giải chi tiết).

📌 Tổng Quan Tệp Tài Liệu Đề Thi HSG Tin Học Lớp 9 Đồng Tháp

Bộ tài liệu được sưu tầm, tuyển chọn và biên soạn kỹ lưỡng, bám sát cấu trúc đề thi chính thức của Sở GD&ĐT Tỉnh Đồng Tháp qua các kỳ thi gần đây.

Thông Tin Tài LiệuChi Tiết
Môn thiTin học (Khối 9)
Khu vựcTỉnh Đồng Tháp
Năm học2026 – 2027
Số lượng21 Đề thi hoàn chỉnh
Định dạngFile PDF / Word (Dễ dàng tải & in ấn)
Đính kèmĐáp án, Test case & Code mẫu (Pascal / C++ / Python)

Bộ 21 Đề Thi HSG Tin Học Lớp 9 Đồng Tháp 2026 – 2027 (Có Đáp Án)

Bộ 21 Đề Thi HSG Tin Học Lớp 9 Đồng Tháp 2026 – 2027 (Có Đáp Án)

Bộ 21 Đề Thi HSG Tin Học Lớp 9 Đồng Tháp 2026 – 2027 (Có Đáp Án)

Bộ 21 Đề Thi HSG Tin Học Lớp 9 Đồng Tháp 2026 – 2027 (Có Đáp Án)

Bộ 21 Đề Thi HSG Tin Học Lớp 9 Đồng Tháp 2026 – 2027 (Có Đáp Án)

Bộ 21 Đề Thi HSG Tin Học Lớp 9 Đồng Tháp 2026 – 2027 (Có Đáp Án)

Đáp án đề thi HSG Tin học lớp 9 cấp thị xã Gò Công:

Đây là một đề HSG THCS khá hay, gồm 5 bài với mức độ từ cơ bản → vận dụng. Mình sẽ phân tích từng bài theo đúng phong cách luyện HSG:

  • Ý tưởng
  • Thuật toán
  • Độ phức tạp
  • Lưu ý dễ sai
  • Code Python dùng sys.stdin=open(...)
  • Giải thích từng dòng

Đáp Án Bài 1: DAY – Ngày lắng nghe:

Đề bài

Cho một ngày dạng

dd/mm
So sánh với
14/02
In ra
BEFORE
nếu trước
AFTER
nếu sau
EXACTLY
nếu đúng.

Phân tích

Ví dụ

15/01
Ngày 15 tháng 1

thì

15/1 < 14/2
=> BEFORE

Ví dụ

01/03
tháng 3

lớn hơn tháng 2

=> AFTER


Ý tưởng

Có hai trường hợp

Nếu tháng nhỏ hơn 2

BEFORE
Nếu tháng lớn hơn 2
AFTER
Nếu tháng bằng 2

So tiếp ngày.

day<14
BEFORE
day==14
EXACTLY
day>14
AFTER

Thuật toán

Đọc chuỗi
Tách ngày và tháng
Nếu month<2
      BEFORE
Nếu month>2
      AFTER
Nếu month==2
      day<14
            BEFORE
      day==14
            EXACTLY
      day>14
            AFTER

Độ phức tạp

Đọc đúng 1 lần

O(1)
Bộ nhớ
O(1)
Nhanh gần như tức thì.

Code Python

import sys
sys.stdin = open("DAY.INP", "r")
sys.stdout = open("DAY.OUT", "w")
s = input()
ngay, thang = map(int, s.split("/"))
if thang < 2:
    print("BEFORE")
elif thang > 2:
    print("AFTER")
else:
    if ngay < 14:
        print("BEFORE")
    elif ngay == 14:
        print("EXACTLY")
    else:
        print("AFTER")

Chú ý

Nhiều bạn so sánh

dd/mm
dưới dạng chuỗi

Ví dụ

9/2
14/2
sẽ sai.

Phải chuyển sang số nguyên.


Đáp Án Bài 2: SUNFLOWER


Đề

Có n bông hoa.

Hoa đặc biệt nếu số hạt là số nguyên tố.

Đếm có bao nhiêu hoa đặc biệt.

1≤n≤10000

ai≤10^12

Phân tích

Ví dụ

1 4 3
chỉ có
3
là nguyên tố.

Đáp án

1

Khó ở đâu?

ai≤10^12
Không thể sàng Eratosthenes.

Ta phải kiểm tra nguyên tố từng số.


Kiểm tra nguyên tố

Một số nguyên tố chỉ cần thử đến

√n
Ví dụ
97
√97≈9

chỉ thử

2
3
5
7
là đủ.

Thuật toán kiểm tra

Nếu

n<2
không nguyên tố.

Nếu

2
nguyên tố.

Nếu

chia hết cho 2
không nguyên tố.

Sau đó

3
5
7
9
11
...
tăng
2
đến
√n
Nếu chia hết

không nguyên tố.

Ngược lại

nguyên tố.


Vì sao đúng?

Nếu

n=a×b
thì luôn tồn tại
a≤√n
nên chỉ cần thử tới căn.

Thuật toán

ans=0
lặp qua từng ai
      nếu nguyên tố
             ans+=1
in ans

Độ phức tạp

Giả sử

M=max(ai)
Mỗi số
O(√M)
Ở đây
√10^12=10^6
Nên
O(n√M)
Trong thực tế rất nhanh vì:
  • gặp ước sẽ dừng sớm
  • nhiều số chẵn
  • n chỉ 10000

Code Python

 
import sys
import math

sys.stdin = open("SUNFLOWER.INP", "r")
sys.stdout = open("SUNFLOWER.OUT", "w")


def nguyen_to(x):
    if x < 2:
        return False

    if x == 2:
        return True

    if x % 2 == 0:
        return False

    i = 3

    while i <= math.isqrt(x):
        if x % i == 0:
            return False
        i += 2

    return True


n = int(input())

a = list(map(int, input().split()))

dem = 0

for x in a:
    if nguyen_to(x):
        dem += 1

print(dem)
 

Vì sao dùng math.isqrt()

Thay vì

int(math.sqrt(x))
ta dùng
math.isqrt(x)
Ưu điểm
  • Chính xác với số rất lớn.
  • Không bị sai số số thực.
  • Nhanh hơn.

Các lỗi thường gặp

Sai 1

1
không phải số nguyên tố.

Sai 2

Quên xét

2

Sai 3

Thử đến

n
thay vì
√n
→ quá chậm.

Sai 4

Dùng

for i in range(2, x):
với
10^12
sẽ không chạy được.

Tổng kết

BàiThuật toánĐộ phức tạpĐộ khó
DAYSo sánh ngày, thángO(1)★☆☆☆☆
SUNFLOWERKiểm tra số nguyên tố đến √nO(n√M)★★☆☆☆

Đáp Án Bài 3: ROBOT (4 điểm)


Đề bài

  • n cây
  • vị trí robot là p
  • pin đủ đi được k đơn vị chỉ từ trái sang phải

Có n cây tại các vị trí

a1 < a2 < ... < an
Đếm xem robot thu hoạch được bao nhiêu cây.

Ví dụ

4 3 4

2 5 6 9
Robot

ở vị trí

3
đi được
4
đơn vị

nên tới

7
Các cây nằm trong đoạn
[3 ; 7]
5
6
=> đáp án
2

Phân tích

Robot KHÔNG quay lại.

Robot chỉ đi

p → p+k
Vậy cây được thu hoạch khi
p ≤ ai ≤ p+k
Bài toán trở thành:

Đếm bao nhiêu số nằm trong đoạn [L,R].


Ý tưởng 1 (dễ hiểu)

Duyệt toàn bộ mảng.

Nếu

p<=ai<=p+k
thì
dem+=1

Thuật toán

 
Đọc dữ liệu

dem=0

For mỗi cây

    nếu p<=ai<=p+k

          dem++

In dem
 

Độ phức tạp

n≤10^6

Chỉ duyệt đúng một lần.

Thời gian

O(n)

Bộ nhớ

O(n)

(vì lưu mảng)

Nếu đọc từng số cũng chỉ O(1) bộ nhớ.


Vì sao đúng?

Mỗi cây chỉ có hai khả năng

  • nằm trong đoạn
  • không nằm trong đoạn

Duyệt hết một lần sẽ không bỏ sót.


Code Python

 
import sys
sys.stdin = open("ROBOT.INP", "r")
sys.stdout = open("ROBOT.OUT", "w")
n, p, k = map(int, input().split())
a = list(map(int, input().split()))
dem = 0
for x in a:
    if p <= x <= p + k:
        dem += 1
print(dem)

Nếu muốn nhanh hơn?

Do dãy đã tăng dần

Có thể dùng

binary search

tìm

  • vị trí đầu tiên ≥ p
  • vị trí cuối cùng ≤ p+k

Độ phức tạp

O(log n)

nhưng đề này O(n) đã đủ.


Các lỗi thường gặp

Sai

if x>p and x<p+k

Sẽ bỏ mất cây ở

p

hoặc

p+k

Phải là

if p<=x<=p+k


Đáp Án Bài 4: LAVENDER


Đề

m dòng

n cột

Ma trận

Đếm số phần tử

>=T

Ví dụ

2 3 50

10 12 50

44 60 55

50

60

55

=>3


Phân tích

Không yêu cầu tìm vị trí.

Không yêu cầu sắp xếp.

Chỉ cần đếm.


Ý tưởng

Đọc từng số

Nếu

>=T

thì tăng biến đếm.


Thuật toán

Đọc
m n T
dem=0
Lặp m lần
      đọc một dòng
      duyệt n số
            nếu >=T
                  dem++
In dem

Độ phức tạp

m,n≤1000
Nhiều nhất
10^6
phần tử.

Thời gian

O(mn)
Bộ nhớ
O(n)
vì chỉ lưu từng dòng.

Vì sao đúng?

Mỗi phần tử được xét đúng một lần.

Không bỏ sót.


Code

 
import sys

sys.stdin = open("LAVENDER.INP", "r")
sys.stdout = open("LAVENDER.OUT", "w")

m, n, T = map(int, input().split())

dem = 0

for _ in range(m):

    dong = list(map(int, input().split()))

    for x in dong:

        if x >= T:
            dem += 1

print(dem)

Tối ưu bộ nhớ

Không cần

a=[]
vì đề không yêu cầu dùng lại.

Đọc từng dòng là tốt nhất.


Lỗi thường gặp

Viết

if x>T
sai.

Đề là

>=T

Đáp Án Bài 5: ESSENCE


Đề

Cho chuỗi

Ví dụ

ABCCDZDC

Độ đậm đặc

=

số lần xuất hiện nhiều nhất của một ký tự.

Ví dụ

A :1

B :1

C :3

D :2

Z :1

Đáp án

3

Phân tích

Đây chính là

tần số lớn nhất.


Cách 1 (đơn giản)

Dùng Dictionary.


Ý tưởng

Duyệt chuỗi.

Nếu ký tự chưa có

thêm vào.

Nếu có

tăng lên 1.

Sau đó lấy giá trị lớn nhất.


Thuật toán

Đọc chuỗi

Dictionary rỗng

For ký tự

      tăng số lần xuất hiện

In max(dictionary.values())

Độ phức tạp

Chuỗi dài

1000
Thời gian
O(n)
Bộ nhớ
O(26)
vì chỉ có chữ cái tiếng Anh in hoa.

Vì sao đúng?

Dictionary lưu đúng số lần xuất hiện từng ký tự.

Giá trị lớn nhất chính là đáp án.


Code Python

import sys

sys.stdin = open("ESSENCE.INP", "r")
sys.stdout = open("ESSENCE.OUT", "w")

s = input()

dem = {}

for ch in s:

    if ch not in dem:
        dem[ch] = 1
    else:
        dem[ch] += 1

print(max(dem.values()))

Cách 2 (đẹp hơn)

Dùng mảng 26 phần tử.


Ý tưởng

A ->0

B ->1

...

Z ->25

Mỗi lần gặp

ord(ch)-ord('A')
thì tăng lên.

Code Python

import sys

sys.stdin = open("ESSENCE.INP", "r")
sys.stdout = open("ESSENCE.OUT", "w")

s = input()

cnt = [0] * 26

for ch in s:

    cnt[ord(ch) - ord('A')] += 1

print(max(cnt))

Vì sao mảng nhanh hơn Dictionary?

  • Truy cập trực tiếp theo chỉ số (O(1) với hằng số rất nhỏ).
  • Không cần băm (hash).
  • Chỉ có 26 chữ cái nên rất phù hợp.

Tổng kết cả đề

BàiÝ tưởngĐộ phức tạpBộ nhớMức độ
Bài 1 – DAYSo sánh ngày, thángO(1)O(1)
Bài 2 – SUNFLOWERKiểm tra số nguyên tố đến √nO(n√M)O(1)⭐⭐
Bài 3 – ROBOTĐếm số vị trí trong đoạn [p, p+k]O(n)O(n) (hoặc O(1) nếu đọc từng số)⭐⭐
Bài 4 – LAVENDERDuyệt ma trận, đếm số ≥ TO(mn)O(n)
Bài 5 – ESSENCEĐếm tần suất ký tự (Dictionary hoặc mảng 26 phần tử)O(n)O(26)

🎯 Nhận xét về Cấu Trúc Trọng Tâm Trong Đề Thi HSG Tin Học 9 Đồng Tháp

Đây là đề HSG THCS thiên về kỹ năng lập trình cơ bản, chưa yêu cầu các thuật toán nâng cao như quy hoạch động, đồ thị hay cây dữ liệu.

Các kiến thức chính được kiểm tra gồm:

  • Bài 1: Rẽ nhánh (if...elif...else).
  • Bài 2: Hàm kiểm tra số nguyên tố và tối ưu đến √n.
  • Bài 3: Duyệt mảng, xử lý đoạn giá trị; có thể mở rộng bằng tìm kiếm nhị phân.
  • Bài 4: Duyệt ma trận và đếm theo điều kiện.
  • Bài 5: Đếm tần suất bằng dict hoặc mảng đếm.

Đây là một đề rất phù hợp để ôn luyện cho học sinh mới bắt đầu thi HSG Tin học vì bao quát nhiều kỹ năng nền tảng quan trọng.

💡 Lời khuyên từ Vi Tính Tấn Dân: Đề thi Tin học lớp 9 hiện nay hướng nhiều đến tư duy thuật toán tối ưu thời gian (O(N \logN) hoặc O(N)). Luyện tập thường xuyên với bộ đề này sẽ giúp bạn làm quen với áp lực thời gian và hạn chế tối đa các lỗi quá thời gian (Time Limit Exceeded).

73 Đề thi HSG Tin học Python THCS cấp tỉnh Tiền Giang có ĐÁP ÁN (Mới & Chọn Lọc)

73 Đề thi HSG Tin học Python THCS cấp tỉnh Tiền Giang có ĐÁP ÁN (Mới & Chọn Lọc)

📥 Link Tải Bộ 21 Đề Thi HSG Tin Học 9 Đồng Tháp (File Chuẩn)

Các bạn học sinh và thầy cô có thể tải trọn bộ đề thi hoàn toàn miễn phí theo đường dẫn dưới đây:

👉 [LINK TẢI TRỌN BỘ 21 ĐỀ THI HSG TIN HỌC LỚP 9 ĐỒNG THÁP (PDF/WORD)]

Tải bằng google driver

(Lưu ý: Nếu gặp bất kỳ lỗi nào trong quá trình tải file, vui lòng để lại bình luận bên dưới để Vi Tính Tấn Dân hỗ trợ kịp thời!)

🖥️ Vi Tính Tấn Dân – Đồng Hành Cùng Tri Thức & Công Nghệ

Bên cạnh việc chia sẻ kiến thức và tài liệu học tập miễn phí, Vi Tính Tấn Dân tự hào là đơn vị uy tín chuyên cung cấp:

  • 💻 Dàn máy tính PC Lập trình – Học tập – Chơi game cấu hình tối ưu, giá rẻ.

  • 🛠️ Dịch vụ sửa chữa, nâng cấp Laptop & PC nhanh chóng, tận tâm tại Đồng Tháp.

  • 🎧 Linh phụ kiện máy tính chính hãng (Bàn phím, chuột, màn hình, SSD…).

Nếu bạn đang tìm kiếm một chiếc máy tính mượt mà để phục vụ việc học lập trình C++, Python hay Pascal, hãy liên hệ ngay với Vi Tính Tấn Dân để nhận được sự tư vấn chu đáo nhất!

7. Cách thức đăng ký và đóng học phí như thế nào?

Bạn có thể liên hệ trực tiếp với Thầy qua các kênh sau để được tư vấn và nhận báo giá ưu đãi:

  • Số điện thoại / Zalo: 0937.179.278

  • Hình thức đóng phí: Chuyển khoản ngân hàng hoặc nộp trực tiếp tại cơ sở (nếu học offline).

Đạt giải 3 học sinh giỏi tin học cấp tỉnh

Đạt giải 3 học sinh giỏi tin học cấp tỉnh

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Vui lòng Chấm điểm 5 sao trang cho bài viết hay !

 

 

2 Khóa Học Tin Học Online Thầy Dân Luyện Thi Chuyên Tin Tin Văn Phòng Cấp Tốc

2 Khóa Học Tin Học Online Thầy Dân Luyện Thi Chuyên Tin Tin Văn Phòng Cấp Tốc

📞 Thông Tin Liên Hệ:

  • Website: vitinhtandan.com

  • Hotline/Zalo: (0937.179.278)

  • Địa chỉ: (Tổ 5, Ấp Tân Lược 1, xã Tân Hương, Đồng Tháp)

Chúc các bạn học sinh ôn luyện thật tốt và đạt kết quả cao nhất trong kỳ thi Học sinh giỏi Tin học lớp 9 sắp tới!

Dưới đây là phần Câu Hỏi Thường Gặp (FAQ) chuẩn SEO dành riêng cho bài viết. Đoạn này không chỉ giúp giữ chân người đọc lâu hơn mà còn rất dễ được Google đưa lên vị trí Featured Snippet (Top 0) hoặc hiển thị trong mục “Mọi người cũng hỏi”:

❓ Câu Hỏi Thường Gặp (FAQ) – Đề Thi HSG Tin Học 9 Đồng Tháp

1. Bộ đề thi HSG Tin học lớp 9 Đồng Tháp có đáp án chi tiết không?

Trả lời: Có. Bộ 21 đề thi HSG Tin học 9 Đồng Tháp do Vi Tính Tấn Dân tổng hợp đều đi kèm đáp án, hướng dẫn giải chi tiết, test case mẫu và code tham khảo bằng các ngôn ngữ phổ biến như C++, Python và Pascal.

2. Tải bộ đề thi HSG Tin học 9 Đồng Tháp 2026 – 2027 có mất phí không?

Trả lời: Hoàn toàn MIỄN PHÍ. Bạn chỉ cần bấm vào đường link Google Drive được đính kèm trong bài viết là có thể tải toàn bộ file PDF/Word về máy để in ấn và học tập dễ dàng.

3. Đề thi HSG Tin học lớp 9 Đồng Tháp thường sử dụng ngôn ngữ lập trình nào?

Trả lời: Hiện nay, các kỳ thi Học sinh giỏi Tin học THCS tại Đồng Tháp ưu tiên sử dụng ngôn ngữ C++Python nhờ tối ưu tốc độ và thư viện phong phú. Tuy nhiên, một số bài thi vẫn chấp nhận Pascal. Học sinh nên tập trung luyện tập kĩ năng tư duy thuật toán trên C++ hoặc Python để đạt điểm tối đa.

4. Học sinh lớp 9 cần tập trung những dạng thuật toán nào để thi HSG Tin học?

Trả lời: Cấu trúc đề thi HSG Tin học 9 Đồng Tháp thường xoay quanh các dạng bài trọng tâm:

  • Xử lý chuỗi, mã hóa và số học cơ bản.

  • Thuật toán tìm kiếm nhị phân, kỹ thuật hai con trỏ, mảng cộng dồn.

  • Sắp xếp tối ưu $O(N \log N)$.

  • Quy hoạch động cơ bản (Đếm cách, Tối ưu hóa).

5. Học lập trình nên chọn cấu hình máy tính/laptop như thế nào?

Trả lời: Để phục vụ tốt việc học lập trình C++, Python và chạy các phần mềm như Code::Blocks, VS Code, PyCharm…, bạn nên chọn PC/Laptop có cấu hình tối thiểu:

  • CPU: Core i3/Ryzen 3 trở lên (thế hệ mới).

  • RAM: Tối thiểu 8GB.

  • Ổ cứng: SSD 256GB để khởi động phần mềm mượt mà.

📌 Nếu bạn cần tư vấn chọn máy tính học tập – lập trình phù hợp với ngân sách, hãy liên hệ ngay hotline của Vi Tính Tấn Dân để được hỗ trợ tốt nhất!