Thẻ: Tài liệu bồi dưỡng học sinh giỏi Tin học THCS C++

22 Đề Bồi dưỡng học sinh giỏi Tin 8 Python C++ 2025 – 2026

Sự thành công không đến từ những người chỉ biết mơ mộng, Mà thành công đến từ những nỗ lực không ngừng nghỉ và kết hợp với sự quyết tâm cao ! Đến lúc đó thành công đạt được bằng khen học sinh giỏi cấp huyện ngày càng đến gần với các em hơn ! Vì lý do đó thầy đã soạn ra 22 Đề Bồi dưỡng học sinh giỏi Tin lớp 8 và 9 Python C++  để các em không chỉ không ngừng ôn luyện giải các đề thi mà còn không ngừng sáng tạo các phương pháp học lập trình Python mới sao cho mình cảm thấy yêu mến và ngày càng thích lập trình Python hơn nữa. Chúc các em đạt kết quả cao nhé !

22 Đề Bồi dưỡng học sinh giỏi Tin 8 Python C++ có đáp án các em cần ôn luyện không thể bỏ qua

Rồi các em vào thi thử đề thi HSG Tin học của huyện Cai Lậy

100 đề và đáp an thi HSG tin Python

Tài liệu ôn thi học sinh giỏi Python

De thi học sinh giỏi tin 11 Python

Bồi dưỡng học sinh giỏi Tin học lớp 9

Tài liệu bồi dưỡng học sinh giỏi tin 10

Các chuyên de bồi dưỡng học sinh giỏi Tin học THPT

Tài liệu bồi dưỡng học sinh giỏi C++

Tài liệu bồi dưỡng học sinh giỏi C++

Tài liệu bồi dưỡng học sinh giỏi Tin học lớp 9, 8, 7

PHÒNG GIÁO DỤC VÀ ĐÀO TẠO              BẬC trung học cơ sở

NĂM HỌC 2021-2022

Môn thi: TIN HỌC

Thời gian: 150 phút (không kể thời gian giao đề)

Ngày thi: 15/02/2022

(Đề thi có 04 trang, gồm 05 bài)

TỔNG QUAN CÁC BÀI THI

 

Tên bài

File chương trình File dữ liệu vào File dữ liệu ra
Bài 1 Giá cả giaca.* GIACA.INP GIACA.OUT
Bài 2 Lập trình laptrinh.* LT.INP LT.OUT
Bài 3 Number number.* NUMBER.INP NUMBER.OUT
Bài 4 Dãy ký tự số dayso.* KTS.INP KTS.OUT
Bài 5 Cắt chữ catchu.* CATCHU.INP CATCHU.OUT

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

Hãy lập trình giải các bài toán sau:

BÀI 1: (4,0đ) Giá cả ?

  • Diễn giải:
    • Một bác nông dân mang a con gà và b con vịt ra chợ bán (a, b là các số nguyên dương và 1 < a, b < 100).
    • Bác gặp một người lái buôn, họ thống nhất giá cả rồi người lái buôn trả cho bác nông dân một số tiền X (X là số nguyên dương, có đơn vị tính là ngàn đồng và 1 < X < 1000).
    • Về nhà, vợ bác nông dân muốn biết giá một con gà và giá một con vịt là bao nhiêu, nhưng bác nông dân đã quên mất.
    • Họ sang nhà nhờ Tí tính giùm, biết rằng giá một con gà và giá một con vịt đều là số nguyên dương có đơn vị tính là ngàn đồng, hơn nữa, giá một con gà luôn cao hơn giá một con vịt.
    • Tí phải tính tới tất cả các phương án giá cả thỏa mãn.
  • Yêu cầu: Viết chương trình giúp Tí tính số phương án có thể xảy ra.
  • Dữ liệu vào: Nhập từ file văn bản GIACA.INP chứa theo thứ tự ba số nguyên dương X, a, b trên một dòng, mỗi số cách nhau một kí tự trắng.
  • Dữ liệu ra: Xuất ra fíle văn bản GIACA.OUT chứa các phương án giá một con gà và giá một con vịt, mỗi phương án hiển thị trên 1 dòng và cách nhau bởi 1 dấu cách.
GIACA.INP GIACA.OUT
100 5 3 14 10
17 5

BÀI 2: (5,0đ) Lập trình ?

  • Diễn giải:
    • Bạn Cuội thường xuyên tham gia thi lập trình trên mạng.
    • Vì đạt được thành tích cao nên Cuội được gửi tặng 1 phần mềm diệt virus.
    • Nhà sản xuất phần mềm cung cấp cho Cuội một mã số là một dãy gồm các bộ ba chữ số ngăn cách nhau bởi dấu chấm và có chiều dài không quá 255 (kể cả chữ số và dấu chấm).
    • Để cài đặt được phần mềm, Cuội phải nhập vào mật khẩu của phần mềm.
    • Mật khẩu là một số nguyên dương N được tạo ra bằng cách tính tổng giá trị các bộ ba chữ số trong dãy mã số, các bộ ba này được đọc từ phải sang trái.
  • Yêu cầu: Cho biết mã số của phần mềm, hãy tìm mật khẩu của phần mềm đó.
  • Dữ liệu vào: Từ íỉle văn bản có tên LT.INP gồm 1 dòng chứa xâu ký tự S (độ dài xâu không quá 255 ký tự) là mã số của phần mềm.
  • Dữ liệu ra: Ghi ra file văn bản LT.OUT gồm một số nguyên dương là mật khẩu tìm được.
LT.INP LT.OUT
132.501.416 950

BÀI 3: (4,0đ) Number ?

  • Diễn giải:
    • Tèo mới được học về phép nhân và phép chia số nguyên, những lúc rảnh rỗi, Tèo ngồi nghĩ đến một số nguyên dương n và thực hiện biến đổi số đó theo quy tắc là nếu n là số chẵn thì chia n cho 2, còn nếu n là số lẻ thì nhân n với 3 rồi cộng 1, cứ như vậy cho đến khi nhận được kết quả là 1.
    • Ví dụ: Nếu n là 14 thì thuật toán hoạt động như sau:
      • 14 ->7 -> 22->11-> 34-> 17-> 52-> 26->13-> 40->20->10->5->16->8->4->2 ->1
  • Dữ liệu vào: Từ file văn bản NUMBER.INP chứa 1 số nguyên dương n và 1 <n< 1200.
  • Dữ liệu ra: Ghi vào file văn bản NUMBER.OUT chứa các số xuất hiện theo thứ tự trong thuật toán, mỗi số cách nhau 1 kí tự trắng.

NUMBER.INP

NUMBER.OUT

12 12 6 3 10 5 16 8 4 2 1

BÀI 4: (4,0đ) Dãy ký tự số ?

  • Diễn giải:
    • Bạn Nam rất yêu thích lập trình, nhất là khi gặp những bài toán khó thì bạn ấy càng cố gắng để giải cho xong.
    • Có một lần, trong lúc suy nghĩ về một bài toán, tay bạn ấy đã gõ ngẫu nhiên các phím trên bàn phím, đến khi nhìn lại thì trên bàn phím đã là một dãy các ký tự.
    • Mặc dù là gõ ngẫu nhiên không nhìn bàn phím nhưng có những lúc bạn ấy chỉ toàn gõ vào các phím số.
  • Yêu cầu: Cho xâu ký tự S là dãy các ký tự mà bạn Nam đã gõ vào, hãy cho biết bạn Nam đã gõ liên tiếp các phím số nhiều nhất là bao nhiêu?
  • Dữ liệu vào: Cho từ file văn bản có tên KTS.INP gồm một dòng chứa xâu ký tự S (độ dài xâu không quá 255 ký tự)
  • Dữ kiệu ra: Ghi ra fíle văn bản có tên KTS.OUT có dạng:
    • Dòng đầu tiên ghi số lần nhiều nhất mà bạn Nam gõ liên tiếp các phím số, nếu không có ký tự số trong dãy thì in ra số 0.
    • Nếu có ký tự số được gõ vào, thì dòng thứ hai ghi dãy liên tiếp các ký tự số mà bạn Nam đã gõ liên tiếp nhiều nhất đó, nếu có nhiều dãy cùng có số lần gõ nhiều nhất như nhau thì in ra dãy đầu tiên.
KTS.INP KTS.OUT
Bcbcb 12vvvf4589fvff14vbt 4
4589

BÀI 5: (3,0đ) Cắt chữ ?

  • Diễn giải:
    • Trong một kỳ thi học sinh giỏi, Ban tổ chức có ý định in vi tính số báo danh của từng học sinh, sau đó dán lên từng bàn để các em biết vị trí ngồi của mình.
    • Chữ số vi tính là các số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 được in ra trên các miếng đề can và dán được lên bàn.
    • Số báo danh của thí sinh được kết hợp từ các chữ số vi tính đó, ví dụ số báo danh 132 được kết hợp từ 3 chữ số vi tính là 1, 3 và 2.
    • Số báo danh của học sinh được đánh từ 1 đến N, trong đó N là số học sinh tham gia.
    • Ban tổ chức muốn biết tổng số chữ số vi tính sẽ được in ra để có thể dự trù kinh phí.
  • Dữ liệu vào: Nhập từ file văn bản CATCHU.INP chứa số nguyên dương N là số thí sinh tham dự kỳ thi (1 < N < 103)
  • Dữ liệu ra: Ghi vào file văn bản CATCHU.OUT tổng số chữ số vi tính cần cắt từ 1 đến N.
CATCHU.INP CATCHU.OUT
14 19

———————– hết—————————

  • Các file chương trình phải đặt đúng tên theo quy định (cả phần tên và phần mở rộng)
  • Thí sinh không được sử dụng tài liệu. Cán bộ coi thi không giải thích gì thêm.

Họ và tên thí sinh: …………………………………………………… Số báo danh:………………………

Đáp án bài 1: (4,0đ) Giá cả ?

 

import sys
sys.stdin=open('GIACA.INP','r')
sys.stdout=open('GIACA.OUT','w')
#C1
x,a,b=map(int,input().split())
for i in range(1,x+1):
    for j in range(1,x+1):
        if a*i+b*j==x and i>j:
            print(i,j)

 

Đáp án bài 2: (5,0đ) Lập trình ?

 

import sys
sys.stdin=open('LAPTRINH.INP','r')
sys.stdout=open('LAPTRINH.OUT','w')
def daochuoi(n):
    a=str(n)
    return a[::-1]
n=input().split('.')
tong=0
a=[]
for i in range(len(n)):
    if daochuoi(n[i]):
        a.append(daochuoi(n[i]))
for i in range(len(a)):
    tong+=int(a[i])
print(tong)

 

Đáp án bài 3: (4,0đ) Number ?

 

import sys
sys.stdin=open('NUMBER2.INP','r')
sys.stdout=open('NUMBER2.OUT','w')
n=int(input())
a=[]
a.append(n)
while n>1:
    if n%2==0:
        n=n/2
        a.append('%0.0f'%n)
    else:
        n=3*n+1
        a.append('%0.0f'%n)
print(*a)

 

Đáp án bài 4: (4,0đ) Dãy ký tự số ?

 

import sys,re
sys.stdin=open('DAYSO2.INP','r')
sys.stdout=open('DAYSO2.OUT','w')
s=input()
s=re.sub('[^0-9]+',' ',s).split()
if len(s)>0:
    Max=max(s,key=len)
    print(len(Max))
    print(Max)
else:
    print('0')

 

Đáp án bài 5: (3,0đ) Cắt chữ ?

 

import sys
sys.stdin=open('CATCHU.INP','r')
sys.stdout=open('CATCHU.OUT','w')
n=int(input())
a=[]
for i in range(1,n+1):
    a.append(i)
tong=0
for i in range(len(a)):
    tong+=len(str(a[i]))
print(tong)

 

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.

bằng khen thi học sinh giỏi Tin Học cấp huyện

Bằng khen thi học sinh giỏi Tin Học cấp huyện

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 !

 

 

Đề tài thi khoa học kỹ thuật cấp huyện:

Học lập trình Python sáng tạo phần mềm nhà thông minh

Học lập trình Python sáng tạo phần mềm ” Nhà Thông Minh “ điều khiển bằng giọng nói hoặc nút bấm

Đề tài Nhà Thông Minh sử dụng năng lượng điện tuần hoàn

Đề tài Nhà Thông Minh sử dụng năng lượng điện tuần hoàn

Đề tài dự án kĩ thuật Ngôi nhà thông minh sử dụng năng lượng điện tuần hoàn

Đề tài dự án kĩ thuật Ngôi nhà thông minh sử dụng năng lượng điện tuần hoàn

Các em muốn theo học hãy nhanh tay đăng ký để được hưởng ưu đãi tốt nhất các em nhé !

 

Bồi dưỡng học sinh giỏi Tin học lớp 9 giải đề 8 mới nhất 2024

Thầy rất vui được gặp các em yêu thích môn tin học lập trình python! Hôm nay thầy sẽ hướng dẫn giải đề 8 trong 20 đề Bồi dưỡng học sinh giỏi Tin học lớp 9 mới nhất 2024 để các em có thể ôn tập để chuẩn bị tốt cho các kỳ thi cấp huyện, cấp tỉnh hoặc thi vào các trường Chuyên Tin. Thầy chúc các em thi đạt được giải cao và kết quả đạt được thật tốt các em nhé!

Đây đã là đề thi thứ 08 chuyên dùng để bồi dưỡng học sinh giỏi Tin học lớp 9

    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 đề 8 Bồi dưỡng học sinh giỏi Tin học lớp 9 

Thứ tự Tên bài File

chương

trình

File dữ liệu vào File kết quả
Bài 1 Phân loại “điểm” D091.* D091.INP D091.OUT
Bài 2 Đếm số lượng số nguyên tố từ m đến n D092.* D092.INP D092.OUT
Bài 3 Tính tổng các số âm trong mảng D093.* D093.INP D093.OUT
Bài 4 Đếm số lượng chữ cái trong xâu s D094.* D094.INP D094.OUT
Bài 5 In các số Kaprekar từ m đến n D095.* D095.INP D095.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à ngôn ngữ Python hoặc C++

Bài 1: (4 điểm) Phân loại “điểm” ?

  • Diễn giải:
    1. A: Từ 8 đến 10
    2. B: Từ 6 đến dưới 8
    3. C: Từ 5 đến dưới 6
    4. D: Từ 3 đến dưới 5
    5. E: Dưới 3
  • Input: Số thực X là điếm (0<=x<=10)
  • Output: Loại theo mô tả trên
  • Ví dụ:
input output
6.3 B
5.7 C

 

Bài 2: (4 điểm) Đếm số lượng số nguyên tố từ m đến n ?

  • Diễn giải:
    • Nhập vào hai số nguyên m và n (m<=n).
    • Đếm xem trong các số nguyên từ m đến n, có bao nhiêu số nguyên tố.
  • Input:
    • Hai số nguyên dương m và n trên cùng một dòng, cách nhau bởi dấu cách.
  • Output: Số lượng số nguyên tố từ m đến n.
  • Ví dụ:
Input Output
11 15 2
2 13 6

Bài 3: (4 điểm) Tính tổng các số âm trong mảng ?

  • Diễn giải:
    • Nhập vào một mảng số nguyên a: a0, a1, a2,…an. Tính tổng các số âm trong mảng.
  • Input: Một dòng chứa các số nguyên có giá trị tuyệt đối không vượt quá 105, cách nhau bởi dấu cách.
  • Output: Là tổng các số âm trong mảng.
  • Ví dụ:
Input Output
9 -6 3 8 10 -7 -2 -15
7 3 8 0 2 0

Bài 4: (4 điểm) Đếm số lượng chữ cái trong xâu s ?

  • Diễn giải:
    • Nhập vào một xâu s.
    • Đếm số lượng chữ cái 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: Số lượng chữ cái trong xâu s
  • Ví dụ:
Input Output
Toi hoc LAP TRINH C++ tu nam 2024 20
Thi HOC SINH GIOI mon Tin Hoc vao thang 02/2024 31

 

Bài 5: (4 điểm) In các số Kaprekar từ m đến n ?

  • Diễn giải:
    • Nhập vào hai số nguyên dương m và n.
    • In các số Kaprekar từ m đến n Số tự nhiên n được gọi là số Kaprekar, nếu m==n2 và chia m thành hai phần, sao cho tổng của hai phần này tạo ra =n
    • Ví dụ:
      • Số 9 là số Kaprekar, vì 92=81, và 8+1=9
      • Số 297 là số Kaprekar, vì 2972=88209, và 88+209=297.
  • Input: Hai số nguyên m, n (0<m<=n<109) trên một dòng, cách nhau bởi dấu cách
  • Output:
    • Các số Kaprekar từ m đến n theo thứ tự từ bé đến lớn, các số cách nhau bởi dấu cách.
    • Nếu không có số nào thì in “-“
  • Ví dụ:
Input Output
1 50 9 45
200 1000 297 703 999

 

Đáp án bài 1: Phân loại “điểm”

 

import sys
sys.stdin=open('D091.INP','r')
sys.stdout=open('D091.OUT','w')
n=float(input())
if 8<=n<=10:
    print('A')
elif 6<=n<8:
    print('B')
elif 5<=n<6:
    print('C')
elif 3<=n<5:
    print('D')
elif n<3:
    print('E')

 

Đáp án bài 2:  Đếm số lượng số nguyên tố từ m đến n

 

import sys
sys.stdin=open('D092.INP','r')
sys.stdout=open('D092.OUT','w')
def ktnt(n):
    i=2
    while i*i<=n and n%i!=0:
        i+=1
    return i*i>n and n>1
m,n=map(int,input().split())
dem=0
for i in range(m,n+1):
    if ktnt(i):
        dem+=1
print(dem)

 

Đáp án bài 3:  Tính tổng các số âm trong mảng ?

 

import sys
sys.stdin=open('D093.INP','r')
sys.stdout=open('D093.OUT','w')
a=list(map(int,input().split()))
tong=0
for i in range(len(a)):
    if a[i]<0:
        tong+=a[i]
print(tong)

 

Đáp án bài 4:  Đếm số lượng chữ cái trong xâu s ?

 

import sys
sys.stdin=open('D094.INP','r')
sys.stdout=open('D094.OUT','w')
n=input()
demchu=0
for i in n:
    if i.isalpha():
        demchu+=1
print(demchu)

 

Đáp án bài 5:  In các số Kaprekar từ m đến n ?

 

import sys
sys.stdin=open('D095.INP','r')
sys.stdout=open('D095.OUT','w')
def Kaprekar(n):
    a=str(n**2)
    for i in range(1,len(a)):
        trai=int(a[:i])
        phai=int(a[i:])
        if trai+phai==n and trai!=0 and phai!=0:
            return True
    return False
def inso(m,n):
    a=[]
    for i in range(m,n+1):
        if Kaprekar(i):
            a.append(i)
    return a
m,n=map(int,input().split())
b=inso(m,n)
if len(b)>0:
    for i in range(len(b)):
        print(b[i],end=' ')
else:
    print('-')

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 !