Danh mục: 22 Đề Bồi dưỡng học sinh giỏi Tin 8 Python 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é !