20 đề và đáp án thi HSG tin Python C++ THPT có tài liệu ôn thi
Thầy mến chào các em đang trong giai đoạn nước rút ôn luyện thi học sinh giỏi tin học lập trình Python cấp huyện hoặc cấp tỉnh, hoặc các em đang thi vào các trường Chuyên Tin. Thầy sẽ tổng hợp được 20 đề và đáp án thi HSG tin Python C++ THPT có tài liệu ôn luyện thi pdf. từ dễ đến nâng cao. Hy vọng 20 đề này sẽ giúp ích cho các em ôn lại kiến thức trước khi thi bước vào kỳ thi cam go sắp tới và Thầy chúc các em đạt được kết quả cao nhé!
- Các đề ôn thi để chuẩn bị thi Cấp Huyện thì các em vào đường dẫn phía dưới để tham khảo giúp thầy nhé!
- Giải đề 1 và đáp án thi Học sinh giỏi tin học Python C++ THCS có tài liệu ôn thi
- Giải đề 2 và đáp án thi Học sinh giỏi tin học Python C++ THCS có tài liệu ôn thi
- Giải đề 3 thi học sinh giỏi tin học lập trình Python có đáp án
- Giải đề 4 ôn thi học sinh giỏi Tin Học THCS lập trình Python có đáp án
- Giải đề 5 và đáp án thi HSG Tin Python có số Pell.
- Giải đề 6 và đáp án bồi dưỡng học sinh giỏi tin 10 có số Armstrong
- Giải đề 7 và đáp án thi học sinh giỏi tin học 10 Python có số Collatz
- Các đề thi ở cấp huyện cần luyện tập nâng cao:
- Các Đề luyện thi chuyên tin lớp 10 năm 2024 – 2025:
- Còn em nào chưa giải đề được mà muốn học từ cơ bản đến nâng cao và đến giải đề thi vào đường link phía dưới các em nhé!
Nếu bạn nào mà mới bắt đầu thì nên vào bài để học nhé! còn các đề thi này dành cho các bạn chuẩn bị ôn thi học sinh giỏi lập trình Python rồi nhé!
Tự học Python từ cơ bản đến nâng cao giải đề Miễn Phí tài liệu pdf
Rồi còn chờ gì nữa mà không vào giải thử 20 đề hay và hấp dẫn nào!
Đề 1: Dành cho các bạn thuộc Cấp Độ 10:
NĂM HỌC 2022-2023
Môn: TIN HỌC
Thời gian: 90 phút (Không kể thời gian giao đề)
Ngày thi: 14/07/2024
Thứ tự |
Tên bài | File
chương trình |
File dữ liệu
vào |
File kết quả |
Bài 1 | Tính loại bão | D011.* | D011.INP | D051.OUT |
Bài 2 | Tính trung bình cộng những số nguyên chia hết cho 2 và 3 từ m đến n | D012.* | D012.INP | D012.OUT |
Bài 3 | Tìm số lớn nhất trong mâng và vị tri | D013. * | D013.INP | D013.OUT |
Bài 4 | In các từ viết hoa trong xâu s | D014.* | D014.INP | D014.OUT |
Bài 5 | Tính trung bình cộng các số chính phương đầu tiên | D015 * | D015.INP | D015.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) Tính loại bão?
- Diễn giải: Nhập vào tốc độ gió (đơn vị km/h) của một com bào ớ ba địa điểm khác nhau, tính tốc độ gió trung bình. Cho biết cơn bão đó thuộc loại nào sau đây:
- Nếu tốc độ gió trung bình dưới 89: Gió
- Nếu tốc độ gió trung bình từ 89 đến 183: Bão
- Nếu tốc độ gió trung bình trên 183 đến 220: Siêu bão
- Nếu tốc độ gió trung bình trên 220 đến 465: Siêu cuồng phong
- Nếu tốc độ gió trung bình >=466: Siêu bão hủy diệt
- Input: Ba số nguyên a, b, c trên một dòng, cách nhau bờ dấu cách cho biết tốc độ gió của ở 3 địa điểm khác nhau (0<a, b, c<500).
- Output: Tốc độ gió trung bình (một chữ số thập phân), dấu “-“, loại bão
Ví dụ:
Input | Output |
100 120 114 | 111.3-Bao |
189 178 195 | 187.3-Sieu bao |
Bài 2: (4 điểm) Tính trung bình cộng những số nguyên chia hết cho 2 và 3 từ m đến n?
- Diễn giải:
- Nhập vào hai số nguyên m và n (m<=n).
- Tính tổng các số nguyên chia hết cho 5 từ m đến n;
- Tính trung bình cộng các số nguyên chia hết cho 2 và 3 từ m đến n.
- Input: Hai số nguyên dương m và n (0<m, n<106), trên một dòng, cách nhau bởi dấu cách.
- Output:
- Số thứ nhất là tổng các số chia hết cho 5 từ m đến n, dấu cách, số thứ hai là trung bình cộng các số nguyên chia hết cho 2 và 3 từ m đến n.
- Làm tròn đến một chữ số thập phân.
- Nếu không có số nguyên nào chia hết cho 2 và 3 thì số thứ hai là “0.0”
Ví dụ:
Input | Output |
4 15 | 30 9.0 |
2 11 | 15 6.0 |
Bài 3: (4 điểm) Tìm số lớn nhất trong mảng và vị trí của nó?
Diễn giải:
- Nhập vào một mảng a có n số nguyên: a0, a1, a2,…… an-1
- Tìm số lớn nhất trong mảng a và vị trí của số lớn nhất đó
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á 105.
Output: Số lớn nhất và vị trí của nó trong mảng trên cùng một dòng, cách nhau bởi dấu cách
Input |
Output |
7 | 10 4 |
9 | |
6 | |
3 | |
8 | |
10 | |
7 | |
-2 |
5 | 20 0 |
20 | |
7 | |
6 | |
8 | |
0 |
Bài 4: (4 điểm) In các từ viết hoa trong xâu s
Diễn giải: Nhập vào một xâu s. In các từ viết hoa 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: Các từ viết hoa trong xâu theo thứ tự xuất hiện, trên một dòng, cách nhau bởi dấu cách.
Input |
Output |
Toi hoc LAP TRINH Python tu nam 2024 | LAP TRINH |
Thi HOC SINH GIOI mon Tin Hoc | HOC SINH GIOI |
Bài 5: (4 điểm) Tính trung bình cộng n số chính phương đầu tiên?
- Diễn giải:
- Nhập vào số nguyên dương n.
- Tính trung bình cộng của n số chính phương đầu tiên.
- Số nguyên n được gọi là số chính phương khi n>=0 và căn bậc 2 của n là một số nguyên.
- Ví dụ:
- n=9 là số chính phương, căn bậc 2 của 3 là 3
- n=15 không phải số chính phương vì căn bậc 2 của 5 là 3.872
- Số chính phương thứ nhất là 0
- Dãy số chính phương: 0, 1,4, 9, 16, 25, 36, 49,….
- Input: Một số nguyên n (0<n<103)
- Output: Trung bình cộng của n số chính phương đầu tiên, làm tròn đến 2 chữ số thập phân
Input | Output |
4 | 3.50 |
7 | 13.00 |
Đáp án giải đề thi HSG Python bài 1: Tính loại bão?
import sys sys.stdin=open('D011.INP','r') sys.stdout=open('D011.OUT','w') a,b,c=map(int,input().split()) TBC=(a+b+c)/3 print('%0.1f'%TBC,'-',sep='',end='') if TBC<89: print('Gio') elif 89<=TBC<=183: print('Bao') elif 183<TBC<=220: print('Sieu bao') elif 220<TBC<=465: print('Sieu cuong phong') elif TBC>465: print('Sieu bao huy diet')
Đáp án bài 2: tính trung bình cộng những số nguyên chia hết cho 2 và 3 từ m đến n
import sys sys.stdin=open('D012.INP','r') sys.stdout=open('D012.OUT','w') m,n=map(int,input().split()) tong=0 dem=0 tong5=0 for i in range(m,n+1): if i%5==0: tong5+=i print(tong5,end=' ') for i in range(m,n+1): if i%2==0 and i%3==0: dem+=1 tong+=i tbc=0 if dem>0: tbc=tong/dem print('%0.1f'%tbc)
Đáp án bài 3: Tìm số lớn nhất trong mảng và vị trí của nó?
import sys sys.stdin=open('D013.INP','r') sys.stdout=open('D013.OUT','w') n=int(input()) a=[] for i in range(n): a.append(int(input())) M=max(a) vt=a.index(M) print(M,vt)
Đáp án bài 4: In các từ viết hoa trong xâu s
import sys sys.stdin=open('D054.INP','r') sys.stdout=open('D054.OUT','w') n=input() n=n.split() for i in n: if i.isupper(): print(i,end=' ')
Đáp án bài 5: Tính trung bình cộng n số chính phương đầu tiên?
import sys,math sys.stdin=open('D015.INP','r') sys.stdout=open('D015.OUT','w') def ktcp(n): if n<0: return -1 x=int(math.sqrt(n)) return x*x==n n=int(input()) i=0 dem=0 tong=0 Tbc=0 while dem<n: if ktcp(i): tong+=i dem+=1 i+=1 if dem>0: Tbc=tong/dem print('%0.2f'%Tbc)
- 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