Thẻ: De thi HSG Tin học THCS

18 Đề thi học sinh giỏi Tin học THCS có đáp ÁN dễ học nhất 2025

Mến chào các em yêu thích môn lập trình Python! Để các em có thể chuẩn bị tốt cho kỳ thi học sinh giỏi cấp huyện sắp tới Thầy đã Tuyển tập Bộ đề thi học sinh giỏi trung học phổ thông môn Tin học. Trong đó có 18 Đề thi học sinh giỏi Tin học THCS có đáp ÁN dễ học nhất năm 2025 để các em có thể dễ dàng ôn luyện để có thể dễ dàng thi đậu kỳ thi học sinh giỏi tin học cấp huyện sắp tới ! Chúc các em thành công !

Đây đã là đề thi số 18 Đề thi học sinh giỏi Tin học THCS có đáp án 

Các đề thi ở cấp huyện cần luyện tập nâng cao:

  1. Tự học Python từ cơ bản đến nâng cao đến giải đề thi nhé có tài liệu pdf tải về học

nguồn: 300bàicode.vn

Giải ngay đề 18 thi học sinh giỏi Tin học THCS có đáp ÁN dễ học nhất năm 2025 !

Thứ tựTên bàiFile

chương

trình

File dữ liệu

vào

File kết quả
Bài 1Phân loại nguy cơ nhiễm CovidD191.*D191.INPD191.OUT
Bài 2ln số đảo ngược của các số nguyên từ m đến nD192.*D192.INPD192.OUT
Bài 3In các số có tổng chữ số là số chính phương trong mảngD193.*D193.INPD193.OUT
Bài 4Đếm số lần xuất hiện của một từ trong xâuD194.*D194.INPD194.OUT
Bài 5Tách các thành phần trong số điện thoại bànD195.*D195.INPD195.OUT

Bài 1: (4 điểm) Phân Loại nguy cơ nhiễm Covid ?

  • Diễn giải: 
    • Để đánh giá nguy cơ dịch COVID-19, người ta dựa vào số lượng F0 được phát hiện hàng tuần trong cộng đồng.
    • Nhập vào số lượng F0 mới được phát hiện dương một xã (thị trấn) là một số nguyên n (0 < n < 105), hãy trả lời mức độ theo qui ước:
    • Nguy cơ thấp: 0 < n < 20
    • Nguy cơ trung bình: 20 <=n <50
    • Nguy cơ rất cao: 150 <=n
  • Input: Một số nguyên có giá trị từ 0 đến 10 mũ 5 cho biết giá trị của n.
  • Ouput: Kết quả theo mô tả trên.
  • Ví dụ:

 INPUT

OUTPUT

21Nguy co trung binh
63Nguy co cao

Bài 2: (4 điểm) In sổ đảo ngược của các số nguyên từ m đến n ?

  • Diễn giải:
    • Nhập vào hai số nguyên m và n (m<=n).
    • In số đảo ngược của các số nguyên từ m đến n.
  • Input: Hai số nguyên dương m và n (0<m, n<10 mũ 5 ), trên một dòng, cách nhau bởi dấu cách.
  • Output: Số đảo ngược của các số nguyên theo thứ tự từ m đến n, các số cách nhau một dấu cách.
  • Ví dụ:
InputOutput
11 1511 21 31 41 51
2 132 3 4 5 6 7 8 9 1 11 21 31

Bài 3: (4 điểm) In các số có tổng chữ số là số chính phương trong mảng ?

  • Diễn giải:
    • Nhập vào một mảng a có n số nguyên: a0, a1, a2, …..an. In các số có tổng chữ số  số chính phương trong mảng theo thứ tự xuất hiện.
  • Input: Dòng một là số nguyên n (0<n<106), n dòng tiếp theo là n sổ nguyên có giá trị tuyệt đối không vượt quá 10s.
  • Output:
    • Các có tổng chữ sổ là số chính phương trong mảng trên cùng một dòng, theo thứ tự xuất hiện, cách nhau bới dấu cách.
    • Nếu không có sổ có tổng chữ số là số chính phương nào trong mảng thì in dấu “-“
  • Ví dụ:

Input

Output

718 97 10 -31
18
61
97
8
10
17
-31

 

572 81 0 22
72
3
81
0
22

 

Bài 4: (4 điểm) Đếm số lần xuất hiện của một từ trong xâu ?

  • Diễn giải:
    • Nhập vào một xâu s và một từ X.
    • Đếm số lần xuất hiện của X trong xâu s
  • Input:
    • Xâu s trên dòng một, có độ dài không vượt quá 105, chứa các ký tự là chữ cái, chữ số, ký hiệu và các dấu cách.
    • Xâu X trên dòng hai là một từ chứa chữ cái với độ dài không vượt quá 10 mũ 2
  • Output: Số lần xuất hiện của từ X trong xâu.
  • Ví Dụ:
Input

Output

Toi moi mua mot chiec PC moi, PC moi, that su rat moi! moi4
Chiec PC moi chay that muot

ngon

0

Bài 5: (4 điểm) Tách các thành phần trong số điện thoại bàn ?

  • Diễn giải:
  • Nhập vào một chuỗi s là số điện thoại bàn đầy đủ. Tách các thành phần trong số điện thoại: mã quốc gia, mã vùng, số điện thoại chính.
  • Input: Chuỗi s trên một dòng, có độ dài không vượt quá 102, chứa các chữ cái, chữ số, và ký hiệu. Các thành phần phân tách nhau bởi dấu cách
  • Output: In mã quốc gia trên dòng một, mã vùng trên dòng hai và số điện thoại chính trên dòng ba
  • Ví dụ:
Input

Output

+1 212 5551234+1
212
5551234

 


+84 273 987654321+84
273
987654321

 

Đáp án bài 1: (4 điểm) Phân Loại nguy cơ nhiễm Covid ?

 

import sys
sys.stdin=open('D191.INP','r')
sys.stdout=open('D191.OUT','w')
n=int(input())
if 0<=n<20:
    print('Nguy co thap')
elif 20<=n<50:
    print('Nguy co trung binh')
elif 50<=n<150:
    print('Nguy co cao')
elif 150<=n:
    print('Nguy co rat cao')

 

Đáp án bài 2: (4 điểm) In sổ đảo ngược của các số nguyên từ m đến n ?

 

import sys
sys.stdin=open('D192.INP','r')
sys.stdout=open('D192.OUT','w')
def daonguoc(n):
    s=str(n)
    s=s[::-1]
    return int(s)
m,n=map(int,input().split())
for i in range(m,n+1):
    print(daonguoc(i),end=' ')

 

Đáp án bài 3: (4 điểm) In các số có tổng chữ số là số chính phương trong mảng ?

 

import sys,math
sys.stdin=open('D193.INP','r')
sys.stdout=open('D193.OUT','w')
def tcs(n):
    tong=0
    while n>0:
        tong+=n%10
        n=n//10
    return tong
def ktcp(n):
    if n<0:
        return False
    x=int(math.sqrt(n))
    return x*x==n
n=int(input())
a=[]
while True:
    try:
        line=input()
        try:
            x=int(line)
            a.append(x)
        except ValueError:
            break
    except EOFError:
        break
dem=0
for i in range(len(a)):
    if ktcp(tcs(abs(a[i]))):
        dem+=1
        print(a[i],end=' ')
if dem==0:
    print('-')

 

Đáp án bài 4: (4 điểm) Đếm số lần xuất hiện của một từ trong xâu ?

 

import sys
sys.stdin=open('D194.INP','r')
sys.stdout=open('D194.OUT','w')
s1=input()
s2=input()
print(s1.count(s2))

 

Đáp án bài 5: (4 điểm) Tách các thành phần trong số điện thoại bàn ?

 

import sys
sys.stdin=open('D195.INP','r')
sys.stdout=open('D195.OUT','w')
a=list(map(str,input().split()))
for i in range(len(a)):
    print(a[i])

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é !

Miễn phí 10% khóa học lập trình Python online “Hãy đăng ký ngay để được khuyến mãi !” 

  • Qua đường dây nóng hỏi: 093.717.9278 ( Gặp Thầy Tấn Dân Cử Nhân Công Nghệ Thông Tin)
  • Thầy Dân chuyên bồi dưỡng môn tin học thi học sinh giỏi cấp huyện, cấp tỉnh, ôn luyện thi vào Trường Chuyên Tin.

Khóa học Python online từ cơ bản đến nâng cao

Khóa học Python online từ cơ bản đến nâng cao

Trung tâm tin học Tấn Dân

Thông tin Khuyến mãi giảm giá học phí!

  • Giảm giá ưu đãi 100.000 đ khi đăng ký 2 bạn sinh viên học sinh trở lên !
  • Giảm 15% khi  tham gia 3 bạn sinh viên học sinh trở lên
  • Lưu ý :
    • Để nhận Ưu đãi học viên vui lòng đăng ký qua số điện thoại gặp Thầy Dân qua số điện thoại & Zalo: 0937.179.278
    • Học phí tham gia khóa học Online 1.600.000 trong 7 tháng.
    • Học từ cơ bản đến nâng cao và đến giải đề thi cấp Huyện.
    • Trong nhiều chính sách ưu đãi học viên chỉ áp dụng chính sách ưu đãi cao nhất!
    • Có nhận học viên thường xuyên
    • Thời gian học từ thứ 3 và thứ 5;  từ 2 giờ đến 4 giờ hàng tuần.
  • Hãy đăng ký ngay để nhận ưu đãi đến hết ngày 10 tháng 10 năm 2024 !

 

 

13 Đề thi học sinh giỏi Tin học THCS có đáp án hay nhất

Để giải được các đề thi học sinh giỏi Tin Học THCS các em cần phải giải thường xuyên các đề thi học sinh giỏi cấp huyện thì các em có thể nắm các dạng đề để chuẩn bị tốt nhất cho các kỳ thi sắp tới! cho nên thầy đã soạn ra hơn 13 Đề thi học sinh giỏi Tin học THCS có đáp án hay nhất năm 2024.  Các em hãy xem các bài tập bên dưới ngay và tự giải nhé ! khi nào khó khăn quá hãy xem bài giải có đáp án phía dưới các em nhé !

Đây đã là đề thi số 13 Đề thi học sinh giỏi Tin học THCS có đáp án 

Các đề thi ở cấp huyện cần luyện tập nâng cao:

  1. Tự học Python từ cơ bản đến nâng cao đến giải đề thi nhé có tài liệu pdf tải về học

Rồi còn chờ gì nữa hãy nhanh tay giải ngay đề 13  thi học sinh giỏi Tin Học Python cấp huyện !

 

Thứ tựTên bàiFile

chương

trình

File dữ liệu vàoFile kết quả
Bài 1Phân loại đường dây điệnD141.*D141.INPD141.OUT
Bài 2In tổng chữ số của các số nguyên từ m đến nD142.*D142.INPD142.OUT
Bài 3In các số nguyên tố trong mảngD143.*D143.INPD143.OUT
Bài 4Tính tổng các chữ số có trong xâu sD144.*D144.INPD144.OUT
Bài 5Kiểm tra chuỗi s có phải là một địa chỉ emailD145.*D145.INPD145.OUT

 

Dấu * được thay thế bởi PY, CPP của ngôn ngữ lập trình được sử dụng tương ứng là Python hoặc C++

Bài 1: (4 điểm) Phân loại đường dây điện ?

  • Diễn giải:
    1. Cao thế: Điện áp từ 500 KV trở lên
    2. Trung thế: Điện áp từ 100 KV đến 499 KV
    3. Hạ thế: Điện áp dưới 100 KV
  • Input: Số nguyên X là điện áp đi qua của đường dây (0<=x<=5000)
  • Output: Loại theo mô tả trên
  • Ví dụ:
inputoutput
620Cao the
85Ha the

 

Bài 2: (4 điểm) In tổng chữ số của các số nguyên từ m đến n ?

  • Diễn giải:
    • Nhập vào hai số nguyên m và n (m<=n).
    • In ra tổng chữ số của các số nguyên từ m đến n
  • Input: Hai số nguyên dương m và n (0<m, n<106), mỗi số trên một dòng.
  • Output: Tổng chữ số của các số nguyên theo thứ tự từ m đến n, các số cách nhau một dấu cách.
  • Ví dụ:
InputOutput
11

15

2 3 4 5 6
2

13

2 3 4 5 6 7 8 9 1 2 3 4

Bài 3: (4 điểm) in các số nguyên tố trong mảng ?

  • Diễn giải:
    • Nhập vào một mảng số nguyên a: ao, ai, &2, ….
    • In các số nguyên tố trong mảng theo thứ tự xuất hiện.
  • Input: Mỗi dòng một số nguyên có giá trị tuyệt đối không vượt quá 105.
  • Output: Các số nguyên tố trong mảng trên cùng một dòng, theo thứ tự xuất hiện, cách nhau bởi dấu cách. Nếu không có số nguyên tố nào trong mảng thì in “-“
  • Ví  dụ:

 

InputOutput
93 7
6
3
8
10
7
-2
77 3 2
3
8
0
2

Bài 4: (4 điểm) Tính tổng các chữ số có trong xâu s ?

  • Diễn giải:
    • Nhập vào một xâu s.
    • Tính tổng các chữ số có trong xâu s
  • Input: Xâu s trên một dòng, có độ dài không vượt quá 105, chứa các ký tự là chữ cái, chữ số, ký hiệu và các dấu cách.
  • Output: Tổng các chữ số có trong xâu s
  • Ví dụ:
InputOutput
Toi hoc LAP TRINH C++ tu nam 20248
Thi HOC SINH GIOI mon Tin Hoc vao thang 02 nam 202410

Bài 5: (4 điểm) Kiểm tra chuỗi s có phải là một địa chỉ email ?

Diễn giải:

Nhập vào một chuỗi s. Kiểm tra xem chuỗi s có phải là một địa chỉ email, một chuỗi s là email hợp lệ khi:

  • Bắt đầu bằng một chữ cái.
  • Chứa ít nhất một chữ cái, một chữ số, một dấu chấm (.)
  • Chứa đúng một dấu @.
  • Sau dấu @ là một tên miền (có ít nhất một dấu chấm nam giữa tên miền).

Input: Chuỗi s trên một dòng, có độ dài không vượt quá 10 mủ 2, chứa các ký tự là chữ cái, chữ số, ký hiệu, và các dấu cách.

Output: In “Yes” nếu s là một địa chỉ email hợp lệ, ngược lại là “No”

Input

Output

TranPhiAnBinh.TienGiang63@gmail.comYes
123TranPhiAnBinh.TienGiang63@gmail.comNo
TranPhiAnBinh.TienGiang63gmail.@comNo

Đáp án bài 1: (4 điểm) Phân loại đường dây điện ?

 

import sys
sys.stdin=open('D141.INP','r')
sys.stdout=open('D141.OUT','w')
n=int(input())
if n>500:
    print('Cao the')
elif 100<=n<=499:
    print('Trung the')
elif n<100:
    print('Ha the')

 

Đáp án bài 2: (4 điểm) In tổng chữ số của các số nguyên từ m đến n ?

 

import sys
sys.stdin=open('D142.INP','r')
sys.stdout=open('D142.OUT','w')
def tcs(n):
    t=0
    while n>0:
        t+=n%10
        n//=10
    return t
m=int(input())
n=int(input())
for i in range(m,n+1):
    print(tcs(i),end=' ')

 

Đáp án bài 3: (4 điểm) in các số nguyên tố trong mảng ?

 

import sys
sys.stdin=open('D143.INP','r')
sys.stdout=open('D143.OUT','w')
def ktnt(n):
    i=2
    while i*i<=n and n%i!=0:
        i+=1
    return i*i>n and n>1
a=[]
while True:
    try:
        line=input()
        try:
            x=int(line)
            a.append(x)
        except ValueError:
            break
    except EOFError:
        break
dem=0
for i in range(len(a)):
    if ktnt(a[i]):
        dem+=1
        print(a[i],end=' ')
if dem==0:
    print('-')

 

Đáp án bài 4: (4 điểm) Tính tổng các chữ số có trong xâu s ?

 

import sys
sys.stdin=open('D144.INP','r')
sys.stdout=open('D144.OUT','w')
n=input()
a=list(n)
tong=0
for i in n:
    if i.isdigit():
        tong+=int(i)
print(tong)

 

Đáp án bài 5: (4 điểm) Kiểm tra chuỗi s có phải là một địa chỉ email ?

 

import sys
sys.stdin=open('D145.INP','r')
sys.stdout=open('D145.OUT','w')
s=input()
dk1=0
if s[0].isalpha():
    dk1=1
dk2=0
dk21=dk1
dk22=0
dk23=0
for i in range(len(s)):
    if s[i].isnumeric():
        dk22=1
        break
for i in range(len(s)):
    if s[i]=='.':
        dk23=1
        break
if dk21==1 and dk22==1 and dk23==1:
    dk2=1
dk3=0
if s.count('@')==1:
    dk3=1
vt=s.find('@')
dk4=0
for i in range(vt,len(s)):
    if s[i]=='.':
        dk4=1
dk5=1
if (not s[vt-1].isalnum()) or (not s[vt+1].isalnum()):
    dk5=0
if dk1==1 and dk2==1 and dk3==1 and dk4==1 and dk5==1:
    print('Yes')
else:
    print('No')

 

 

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é !

Miễn phí 10% khóa học lập trình Python online “Hãy đăng ký ngay để được khuyến mãi !” 

  • Qua đường dây nóng hỏi: 093.717.9278 ( Gặp Thầy Tấn Dân Cử Nhân Công Nghệ Thông Tin)
  • Thầy Dân chuyên bồi dưỡng môn tin học thi học sinh giỏi cấp huyện, cấp tỉnh, ôn luyện thi vào Trường Chuyên Tin.

Khóa học Python online từ cơ bản đến nâng cao

Khóa học Python online từ cơ bản đến nâng cao

Trung tâm tin học Tấn Dân

Thông tin Khuyến mãi giảm giá học phí!

  • Giảm giá ưu đãi 100.000 đ khi đăng ký 2 bạn sinh viên học sinh trở lên !
  • Giảm 15% khi  tham gia 3 bạn sinh viên học sinh trở lên
  • Lưu ý :
    • Để nhận Ưu đãi học viên vui lòng đăng ký qua số điện thoại gặp Thầy Dân qua số điện thoại & Zalo: 0937.179.278
    • Học phí tham gia khóa học Online 1.600.000 trong 7 tháng.
    • Học từ cơ bản đến nâng cao và đến giải đề thi cấp Huyện.
    • Trong nhiều chính sách ưu đãi học viên chỉ áp dụng chính sách ưu đãi cao nhất!
    • Có nhận học viên thường xuyên
    • Thời gian học từ thứ 3 và thứ 5;  từ 2 giờ đến 4 giờ hàng tuần.
  • Hãy đăng ký ngay để nhận ưu đãi đến hết ngày 10 tháng 10 năm 2024 !