Thẻ: Tài liệu On thi HSG Tin học THCS Python pdf

10 đề thi đáp án thi Python HSG tin học lớp 10 THCS cấp Huyện

Thầy Tấn Dân sẽ giải cho các em 10 đề thi và đáp án thi HSG ( học sinh giỏi )  tin học python lớp 10 THCS ( Trung học cơ sở ) cấp Huyện ở Tiền Giang cho các bạn tham khảo thêm nhé!

Danh sách 10 đề thi và đáp án thi HSG tin học python:

  • Rồi để các bạn cũng cố kiến thức trước khi vào giải đề các bạn hãy vào xem bài :

Tự học Python từ cơ bản đến nâng cao giải đề Miễn Phí tài liệu pdf tải về miễn phí nhé!

Khóa học Python từ cơ bản đến nâng cao miễn phí

Khóa học Python từ cơ bản đến nâng cao miễn phí

 

Tải bằng google driver

KỲ THI HỌC SINH GIỎI CẤP THÀNH PHỐ MỸ THO

TRUNG HỌC CƠ SỞ NĂM 2022 – 2023

Môn: TIN HỌC

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

Ngày thi: 14/02/2023

(Để thi có 03 trang, gồm 05 bài)

TỔNG QUAN CÁC BÀI THI GỒM:

Tên bài File chưong trình File dữ liệu vào File kết quả
Bài 1. APERTURE.* APERTURE.INP APERTURE. OUT
Bài 2. STEP.* STEP.INP STEP. OUT
Bài 3. SUMSQDIGIT.* SUMSQDIGIT.INP SUMSQDIGIT.OUT
Bài 4. SYNSTRING.* SYNSTRING.INP SYNSTRING.OUT
Bài 5. PERIJPOLYGON.* PERIPOLYGON.INP PERIPOLY GON.OUT
Dấu * được thay thế bởi PAS, CPP, PY của ngôn ngữ lập trình được sử dụng tương ứng là Free Pascal, c++, Python hoặc phần mở rộng tương ứng với NNLT khác.

Bài 1. (4 điểm) LỖ HỎNG CHỮ SỐ ?

  • Khái niệm:
    • Cho các chữ số từ 0 đến 9, nếu một chữ số bất kỳ có một đường khép kín thì ta gọi chữ số đó có 1 lô hông,
    • Chữ số có hai đường khép kín thì ta gọi chữ số đó có 2 lỗ hổng và chữ số không có đường khép kín nào thì ta gọi chư số đo có 0 lỗ hổng.
    • Ví dụ: Chữ số 0; 4; 6; 9 có 1 lỗ hổng.
    • Chữ số 8 có 2 lỗ hổng.Chữ số 1; 2; 3; 5; 7 có 0 lỗ hổng.
  • Yêu cầu: Cho số n (n <= 1O100), đếm xem số đó có bao nhiêu lỗ hổng.
  • Dữ liệu đầu vào: Nhập vào từ file APERTURE.INP giá trị số n.
  • Dữ liệu xuất ra : Xuất ra file OUT số các lỗ hổng.
  • Ví dụ:
APERTURE.INP APERTURE.OUT
2456878989 10
11111222223333355555577777777777777 0

Bài 2: ( 4 điểm ) SỐ BẬC THANG ?

  • Khái niệm: Biết một số được gọi là số bậc thang nếu biểu diễn thập phân của nó có nhiều hơn một chữ số,
  • Theo thứ tự từ trái qua phải và chữ số đứng sau (bên phải) lớn hon chữ số đứng trước (bên trái) 1 hoặc 2 đơn vị.
  • Số thỏa điều kiện trên được gọi là số bậc thang.
  • Yêu cầu: Cho số nguyên dương n là số lượng các số cần kiểm tra (n<=1010) và một dãy các số cần kiểm tra bậc thang ai (ai <= 1010 ), dãy các sô cần kiểm tra ai được cách nhau 1 khoảng cách. Kiểm tra có bao nhiêu số ai trong dãy số trên thỏa điều kiện là số bật thang. Đặc biệt, nếu ai <=9 thì số bậc thang bằng 0.* Dữ liệu đầu vào: Nhập vào từ file STEP.INP, dòng thứ 1 chứa số nguyên dương n, dòng thứ 2 chứa dãy các số cần kiểm tra số bộc thang,- Dừ liệu đầu ra: Xuất ra file STEP.OUT số lượng các số bậc thang.
  • Ví dụ:
STEP.INP STEP.OUT
4

123 13468 1244 13579

3
12

12 24 35 22 100 5689 34567 25678 43567 1234679 2 1456

6

Bài 3. (4 điểm) TỔNG BÌNH PHƯƠNG CHỮ SỐ ?

  • Khái niệm: Cho một số có dạng n= 9…78 trong đó có k chữ số (n<10250). Cho sổ n=998, số x được thành lập từ số n bằng cách ghép bình phương từng chữ số từ trái sang phải của số n, ta được số x=818164. tổng các chữ số của số x là 28.
  • Yêu cầu: Hãy tính tổng các chữ số của số x, x được tạo bằng cách ghi từng chữ số của n ở dạng bình phương theo thứ tự ghi số từ trái sang phải.
  • Dữ liệu đầu vào: Nhập vào từ file văn bản SUM_SQDIGIT.INP số k (2< k< 250)
SUM_SQDIGIT.INP SUM_SQDIGIT.OUT
998 28
8967999999997432222 140

Hãy hỏi đáp thắc mắc tại nhóm đam mê lập trình python Việt Nam !

10 đề thi đáp án thi Python HSG tin học lớp 10 THCS cấp Huyện

cộng đồng python việt nam

Bài 4: (4 điểm) XÂU ĐỒNG BỘ DÀI NHẤT ?

  • Khái niệm: Một xâu gọi là xâu đồng bộ, nếu xâu đó có tất cả ký tự giống nhau.
  • Yêu cầu: Cho xâu s, hãy đưa ra xâu con đồng bộ dài nhất ( nếu có nhiều xâu con đồng bộ dài nhất, ta đưa ra xâu con đồng bộ dài nhất đầu tiên tính từ bên trái).
  • Dữ liệu đầu vào: Nhập từ file văn bản SYNSTRING.INP xâu S ( 1<= độ dài xâu s <=105
  • Dữ liệu đầu ra: Xuất ra file văn bàn SYNSTRING.OUT, xâu con dài nhất là xâu đồng bộ trong s.
  • Ví dụ:
SYNSTRING.INP SYNSTRING.OUT
02203 22
jhfgkjgflkhgeeehhkkkkkaaaaakkkk kkkkk

Bài 5. (4 điểm) CHU VI VÀ DIỆN TÍCH ĐA GIÁC LỒI ?

  • Khái niệm: Đa giác lồi là đa giác thuộc về một phía của đường thẳng chứa cạnh bất kì của da giác.
  • Yêu cầu: Lập trình giải quyết bài toán tính chu vi và diện tích da giác lồi bất kỳ với số cạnh n>=3 và được cho bởi tọa độ đỉnh Ai, A2j A3,An.
    • Tọa độ các đỉnh của đa giác lồi tương ứng là Ai(xl,yl); A2(x2,y2); A3(x3,y3); …;An(xn,yn), (với n là số đỉnh).
    • Chu vi da giác lồi là tổng các cạnh=A1A2+A2A3+A3A(+…+A n.]An+AnAi
    • Diện tích da giác lồi bằng tổng diện tích các tam giác A1A2A3, A1A3A4,A1A4A5…A1An-1An
    • Độ dài AiA2=V(xl – xiy + (y 1 – y2Ỵ\ các cạnh còn lại tương tự.
    • Cả chu vi và diên tích được làm tròn đến hàng đơn vị. Lưu ý chi làm tròn chu vi và diện tích không làm tròn độ dài cạnh; khi xuất kết quà chu vi, diện tích vào file mới được phép làm tròn và thống nhất làm tròn đến hàng đơn vị theo quy tắc làm Ưòn toán học.
  • Dữ liệu đầu vào: Dòng đầu của tệp PERI_POLYGON.INP là số đỉnh, các dòng còn lại là tọa độ (xi,yi) của các đỉnh đa giác lồi.
  • Dữ liệu đầu ra: Dòng đầu của tệp PERI_POLYGON.OUT là chu vi, dòng thứ hai là diện tích.
  • Ví dụ:

 

PERI_POLYGON.INP PERI_POLYGON.OUT
3 184
30 30 1462
75 15
90 75

4 87
9 16 348
24 11
42 14
42 31

HẾT

Thí sinh được sử dụng các loại máy tính theo quy định của Bộ Giáo dục và Đào tạo cho phép, thí sinh không được sứ dụng tài liệu. Cán bộ coi thi không được giải thích gì thêm.

Đáp án thi python bài 1 LỖ HỎNG CHỮ SỐ ?

 

import sys
sys.stdin=open('APERTURE.INP','r')
sys.stdout=open('APERTURE.OUT','w')
s=list(input())
tong=0
for i in range(len(s)):
    if s[i]=='0' or s[i]=='4' or s[i]=='6'or s[i]=='9':
        tong+=1
    elif s[i]=='8':
        tong+=2
print(tong)

Đáp án thi python Bài 2: SỐ BẬC THANG ?

 

import sys
sys.stdin=open('STEP.INP','r')
sys.stdout=open('STEP.OUT','w')
def ktbatthang(n):
    s=str(n)
    if len(s)>1:
        dem=0
        for i in range(len(s)-1):
            if int(s[i+1])-int(s[i])==1 or int(s[i+1])-int(s[i])==2:
                dem+=1
        if dem==len(s)-1:
            return True
        else:
            return False
    else:
        return False
n=int(input())
a=list(map(int,input().split()))
dem=0
for i in range(len(a)):
    if ktbatthang(a[i]):
        dem+=1
print(dem)

Đáp án bài 3. TỔNG BÌNH PHƯƠNG CHỮ SỐ ?

 

import sys
sys.stdin=open('SUMSQDIGIT.INP','r')
sys.stdout=open('SUMSQDIGIT.OUT','w')
def binhphuong(s):
    n=int(s)
    n=n**2
    n=str(n)
    tong=0
    for i in range(len(n)):
        tong+=int(n[i])
    return tong

s=input()
s=list(s)
tong=0
for i in range(len(s)):
    tong+=binhphuong(s[i])
print(tong)

Đáp án bài 4:  XÂU ĐỒNG BỘ DÀI NHẤT ?

 

import sys
sys.stdin=open('SYNSTRING.INP','r')
sys.stdout=open('SYNSTRING.OUT','w')
def ktgiong(a,b):
    if a==b:
        return True
    else:
        return False
s=input()
s=list(s)
print(s)
a=[]
for i in range(len(s)-1):
    if s[i]==s[i+1]:
        a.append(s[i])
    elif s[i+1]==s[i+2]:
        a.append(s[i+1])
print(a)
b=a.copy()
i=0
while i<len(b)-1:
    j=i+1
    while j<len(b):
        if b[i]==b[j]:
            b.pop(j)
        else:
            j+=1
    i+=1
print(b)
c=[]
for i in range(len(a)):
    while not a[i] in c:
        c.append(a[i])
print(c)

Đáp án bài 5: CHU VI VÀ DIỆN TÍCH ĐA GIÁC LỒI ?

 

import sys,math
sys.stdin=open('PERIJPOLYGON.INP','r')
sys.stdout=open('PERIJPOLYGON.OUT','w')
def tinhcanh(x1,y1,x2,y2):
    canh=(x1-x2)**2+(y1-y2)**2
    canh=math.sqrt(canh)
    return canh
def dientich(a,b,c):
    if a+b>c and a+c>b and c+b>a and a>0 and b>0 and c>0:
        p=(a+b+c)/2
        k=math.sqrt(p*(p-a)*(p-b)*(p-c))
        return k
    else:
        return 0
n=int(input())
a=[]
for i in range(n):
    b=list(map(int,input().split()))
    a.append(b)
tong=0
c=[]

for i in range(len(a)-1):
    for j in range(len(a[0])-1):
        c.append(tinhcanh(a[i][j],a[i][j+1],a[i+1][j],a[i+1][j+1]))
c.append(tinhcanh(a[0][0],a[0][1],a[len(a)-1][len(a[0])-2],a[len(a)-1][len(a[0])-1]))
print('%0.0f'%sum(c))
tongdt=0
for i in range(1,len(c)-1):
    tongdt+=dientich(c[0],c[i],c[i+1])
print('%0.0f'%tongdt)

Chú ý: bài tập chỉ mang tính chất tham khảo nhen các bạn! bạn nào có cách giải hay hơn hoặc có thắc mắc xin hãy để lại bình luận phía dưới mình sẽ giải đáp ạ ! xin chân thành cảm ơn !

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

Giải đề 2 có đáp án thi HSG tin học python chuyên tin Tiền Giang năm 2024 – 2025

Đề thi HSG chuyên tin tiền giang 2024 - 2025

10 đề thi đáp án thi Python

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

  • Hotline: 093.717.9278 ( Gặp Tấn Dân Cử Nhân Công Nghệ Thông Tin)
  • Website: vitinhtandan.com
  • Email: vitinhtandan@gmail.com