Đề thi chọn học sinh giỏi Tin học Lớp 8 - Năm học 2022-2023 - Trường THCS Lai Thành (Có hướng dẫn chấm)

Câu 1: (6 điểm) – Nguyên tố lớn nhất

Cho dãy số nguyên gồm n số: a1, a2, a3,..., an . (với n ≤ 2000; - 2000 ≤ ai ≤ 2000; )

Yêu cầu:

a. Hãy viết chương trình tính tổng S = a1 - a2 + a3 - ....

b. Tìm ai là số nguyên tố lớn nhất trong dãy đó.

Dữ liệu vào: File văn bản NTMAX.INP gồm:

- Dòng 1: ghi số n.

- Các dòng tiếp theo ghi giá trị các số nguyên ai (mỗi số cách nhau bởi dấu cách trống)

Dữ liệu ra: File văn bản NTMAX.OUT gồm 2 dòng:

- Dòng 1: Ghi giá trị tổng S.

- Dòng 2: Ghi số nguyên tố lớn nhất (nếu không có thì ghi 0)

docx 9 trang Bạch Hải 17/06/2025 40
Bạn đang xem tài liệu "Đề thi chọn học sinh giỏi Tin học Lớp 8 - Năm học 2022-2023 - Trường THCS Lai Thành (Có hướng dẫn chấm)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Đề thi chọn học sinh giỏi Tin học Lớp 8 - Năm học 2022-2023 - Trường THCS Lai Thành (Có hướng dẫn chấm)

Đề thi chọn học sinh giỏi Tin học Lớp 8 - Năm học 2022-2023 - Trường THCS Lai Thành (Có hướng dẫn chấm)
 PHÒNG GD&ĐT KIM SƠN ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 8
TRƯỜNG THCS LAI THÀNH NĂM HỌC: 2022 – 2023
 MÔN: TIN HỌC
 Thời gian làm bài:150 phút không kể thời gian phát đề
 (Đề thi gồm 03 câu, trong 2 trang)
Yêu cầu: Chương trình được viết trên ngôn ngữ lập trình PASCAL hoặc C++
Yêu cầu kĩ thuật: Các file chương trình và file dữ liệu được đặt tên chính xác như sau:
 Giới hạn 
 Tên chương thời 
 Tên bài Dữ liệu vào Dữ liệu ra
 trình gian, dữ 
 liệu
 Khiêu vũ NTMAX.* NTMAX.INP NTMAX.OUT 1s/test
 Tổng lớn 1s/test
 DOANCONS.* DOANCONS.INP DOANCONS.OUT
 nhất
 Số trong 1s/test
 CATXAU.* CATXAU.INP CATXAU.OUT
 xâu
 (Trong đó * là PAS nếu sử dụng Pascal hoặc CPP nếu sử dụng C++)
Câu 1: (6 điểm) – Nguyên tố lớn nhất
Cho dãy số nguyên gồm n số: a1, a2, a3,..., an . (với n ≤ 2000; 2000 ≤ ai ≤ 2000; i=1,n )
Yêu cầu: 
 a. Hãy viết chương trình tính tổng S = a1 - a2 + a3 - ....
 b. Tìm ai là số nguyên tố lớn nhất trong dãy đó.
 Dữ liệu vào: File văn bản NTMAX.INP gồm:
 - Dòng 1: ghi số n.
 - Các dòng tiếp theo ghi giá trị các số nguyên ai (mỗi số cách nhau bởi dấu cách trống)
 Dữ liệu ra: File văn bản NTMAX.OUT gồm 2 dòng:
 - Dòng 1: Ghi giá trị tổng S.
 - Dòng 2: Ghi số nguyên tố lớn nhất (nếu không có thì ghi 0)
 Ví dụ NTMAX.INP NTMAX.OUT
 5 3
 1 2 3 4 5 5
 (Giải thích: S = 1 - 2 + 3 - 4 + 5 = 3; số nguyên tố lớn nhất là 5)
 Giới hạn dữ liệu: Trong bộ test của bài sẽ có: 40% test với N≤10
Câu 2: (7 điểm) - Đoạn con S
Cho một dãy gồm n số nguyên dương A[1], A[2],, A[n]. (n ≤ 2.104, Ai ≤109) và số S. Hãy 
tìm đoạn con liên tục dài nhất có tổng nhỏ hơn hoặc bằng S.
Yêu cầu: 
 Dữ liệu vào: File DOANCONS.INP gồm 2 dòng:
 - Dòng đầu tiên chứa 2 số nguyên dương n và S. - Dòng 2 chứa n số nguyên dương A[1], A[2],,A[n].
 Dữ liệu ra: File DOANCONS.OUT:
 - Dòng đầu chứa số lượng phần tử của đoạn con tìm được.
 - Dòng thứ hai chứa các phần tử của đoạn con đó, nếu có nhiều đoạn con thỏa mãn thì in ra 
đoạn con đầu tiên tìm được.
 Ví dụ: DOANCONS.INP DOANCONS.OUT
 11 12 4
 3 4 6 2 5 7 8 1 2 3 6 1 2 3 6 
 Giới hạn dữ liệu: Trong bộ test của bài sẽ có:
 + 60% test với 0< N, N 103;
 + 40% test với 103 < N 105;
Câu 3: (7 điểm) - Cắt xâu 
Có một xâu kí tự S chỉ chứa các chữ cái thường (a..z), người ta muốn cắt xâu S thành các xâu 
con sao cho mỗi xâu con không chứa 2 kí tự nào giống nhau. Yêu cầu: Viết chương trình nhập 
vào từ bàn phím xâu S có độ dài không quá 255 kí tự và có ít nhất 2 kí tự giống nhau. Hãy 
tính và in ra màn hình số lượng ít nhất các xâu con không chứa 2 kí tự nào giống nhau được 
cắt ra từ xâu S.
 Ví dụ: CATXAU.INP CATXAU.OUT
 abcbdetd 3
 ------------Hết---------- PHÒNG GD&ĐT KIM SƠN HDC ĐỀ THI HỌC SINH GIỎI LỚP 7
 TRƯỜNG THCS LAI THÀNH NĂM HỌC: 2022-2023 
 MÔN: TIN HỌC 
 (Hướng dẫn chấm gồm 6 trang )
I. Hướng dẫn chung
Toàn bộ bài thi của học sinh được chấm trên phần mềm chấm thi tự động Themis gồm có 20 
test, mỗi test được 1 điểm, trong đó: 
Câu 1: Có 6 test. Tổng 6,0 điểm
 Test Dữ liệu vào Dữ liệu ra Điểm
 5 3 1
 1
 1 2 3 4 5 5
 8 29 1
 2
 5 7 8 9 12 31 78 27 31
 10 6142 1
 3
 45 56 1234 213 4589 54 678 345 321 57 0
 15 82 1
 4 1234 213 4589 54 678 345 321 5745 56 677
 13 17 1000 333 453 677
 17 -1692 1
 5 34 223 4589 54 678 345 321 5745 56 13 223
 17 1000 333 453 67 21 67
 20 5 1
 6 5 7 8 9 12 31 54 70 56 11 131 45 212 131
 321 435 34 56 78 98 456
Câu 2: Có 7 test. Tổng 7,0 điểm
 Test Dữ liệu vào Dữ liệu ra Điểm
 1 7 80 2 1
 70 11 32 43 43 11 54 11 32
 2 3 10 3 1
 1 2 3 1 2 3
 3 10 20 3 1
 1 9 10 4 9 4 4 5 9 9 1 9 10
 4 100 100 5 1
 65 24 1 13 64 33 59 59 56 31 54 11 26 18 5 36 3 8
 11 45 47 66 65 18 24 37 70 13 63 32 46 
 9 12 8 27 50 7 56 47 3 45 8 51 36 28 49 42 10 63 15 18 8 35 67 18 5 36 3 8 46 10 
 16 59 54 17 25 8 40 2 48 46 32 40 57 23 
 8 16 24 30 46 46 38 39 14 43 47 31 53 
 63 38 27 34 63 49 63 18 23 40 35 20 21 
 4 32 70 16
 5 1000 10000 32 1
 807 740 538 894 787 365 980 797 217 46 659 10 167 153 475 
 668 348 513 797 289 782 504 439 383 340 426 46 79 753 259 
 138 263 533 388 196 318 294 439 297 120 55 709 206 406 99 
 894 93 885 110 450 686 99 283 225 31 97 411 50 251 655 728 
 58 374 118 145 706 734 799 273 302 415 174 963 160 169 
 591 885 262 49 799 671 210 273 512 535 67 237
 958 901 749 16 465 846 939 31 784 295 
 979 305 595 141 106 910 851 478 351 
 859 19 60 968 680 273 598 478 407 282 
 258 494 711 154 637 43 511 483 733 
 361 853 950 819 183 495 
 6 4345 100000 28 1
 4334 1706 2935 9784 1537 43 5694 4833 5431 7437 1702 
 6957 5343 8361 3882 7820 371 837 2337 2904 5102 275 
 7542 5487 9400 409 8254 7701 968 1789 4055 5549 5776 
 7486 1737 1659 5348 9813 3264 1646 1857 2953 9517 6430 
 7665 7285 2725 9174 3968 7726 5051 4386 1041 1293 7997 
 201 8599 2563 792 7550 8004 5516 3000 616 4492 1133 
 6858 8002 7029 9632 5828 3906 2658 1256 1272 1367 4159
 9941 3627 9436 9747 1164 4964 7156 
 4177 9656 190 7813 6206 2698 8133 
 2984 7879 9066 7774 2134 7019 8776 
 2582 9705 3870 6130 6565 5441 5583 
 3098 4220 ...
 7 12312 120101010 2479 1
 28509 39588 52910 9635 31687 76161 28577 7831 14295 
 41242 30286 88592 63608 61041 51378 58508 95270 67084 
 50667 24868 71923 65055 24115 28542 35789 98962 86529 
 69335 20480 84710 20694 86768 42660 62257 2716 85394 
 69226 68769 53785 98672 25824 51855 57296 7516 1358 
 72985 50815 37275 15300 13049 98311 90464 71514 79372 
 53846 30879 88070 32581 16400 67952 3029 55624 61260 
 73184 16232 94974 34820 87768 86051 55393 35115 28453 
 92177 72551 87074 44034 42066 69735 30904 38598 63287 
 77050 20200 80646 75321 75681 28488 23767 80025 43246 
 56181 58130 68371 7899 ... 51927 10983 37576 ...
Câu 3: Có 7 test. Tổng 7,0 điểm Test Dữ liệu vào Dữ liệu ra Điểm
 1 danang 2 1
 2 ngonngulaptrinh 4 1
 3 vxliqhtkhqy 2 1
 4 vxliqhtkhqyrtexqqehsunqsvrtudjyqvnrke 17 1
 qhaywdskunqbalkyuggugqantoufatybacc
 fqjovaheubgasofkksltdvosjkyhfltbbgcnad
 5 vxliqhtkhqyrtexqqehsunqsvrtudjyqvnrke 28 1
 qhaywdskunqbalkyuggugqantoufatybacc
 fqjovaheubgasofkksltdvosjkyhfltbbgcnad
 domgxmvsnehffjmljodskxuelgkldllptwtg
 ihwyfvvvphtuwctekpj
 6 vxliqhtkhqyrtexqqehsunqsvrtudjyqvnrke 38 1
 qhaywdskunqbalkyuggugqantoufatybacc
 fqjovaheubgasofkksltdvosjkyhfltbbgcnad
 domgxmvsnehffjmljodskxuelgkldllptwtg
 ihwyfvvvphtuwctekpjyjhgkfoisdncfhuys
 yemhsrkbkqwwkxiaxyngmusgfxubjuhsa
 cqcsc
 7 abcdefghklmnoooupyzxrt 3 1
II. Chương trình nguồn tham khảo.
Câu 1:
 #include 
 using namespace std;
 int n, a[100000], ntmax=0;
 long long tong=0;
 bool snt(int n)
 {
 if (n<2) return false;
 if (n==2) return true;
 for (int i=2;i<=sqrt(n);i++)
 if (n%i==0) return false;
 return true;
 }
 int main()
 { freopen("NTMAX.inp","r",stdin);
 freopen("NTMAX.out","w",stdout);
 cin>>n;
 for (int i=1;i<=n;i++)
 cin>>a[i];
 for (int i=1;i<=n;i++)
 if (i%2==1)
 tong=tong+a[i];
 else
 tong=tong-a[i];
 cout<<tong;
 for (int i=1;i<=n;i++)
 if (snt(a[i])==true && a[i]>ntmax)
 ntmax=a[i];
 cout<<endl<<ntmax;
 return 0;
 }
Câu 2:
 #include 
 #include 
 using namespace std;
 long long a[1000006],t[1000006];
 int n,s,d,c;
 int main()
 {
 freopen("DOANCONS.inp","r",stdin);
 freopen("DOANCONS.out","w",stdout);
 cin>>n>>s;
 t[0]=0;
 for(int i=1; i>a[i]; t[i]=t[i-1]+a[i];}
 int dodai=0; for(int i=1; i<n;i++)
 for (int j=i; j<=n; j++)
 if(t[j]-t[i-1]dodai)
 {
 d=i; c=j; dodai=j-i+1;
 }
 if(dodai>0){
 cout<<dodai<<endl;
 for (int i=d; i<=c; i++) cout<<a[i]<<" ";}
 }
Câu 3:
 #include 
 using namespace std;
 string s;
 int d[200];
 int main()
 {
 freopen("CATXAU.inp","r",stdin);
 freopen("CATXAU.out","w",stdout);
 int res=1;
 cin>>s;
 for(int i=0;i<s.size();i++)
 {
 if(d[s[i]]==1)
 {
 res++;
 for(int j=97;j<=122;j++) d[j]=0;
 d[s[i]]=1;
 }
 else d[s[i]]=1;
 } cout<<res;
 return 0;
}
 ------------Hết---------- PHẦN KÝ XÁC NHẬN
 TÊN FILE ĐỀ THI: ĐỀ THI HỌC SINH GIỎI TIN HỌC 8
TỔNG SỐ TRANG (GỒM ĐỀ THI VÀ HƯỚNG DẪN CHẤM) LÀ: 08 TRANG
 NGƯỜI RA ĐỀ THI NGƯỜI THẨM ĐỊNH VÀ XÁC NHẬN CỦA BGH 
 (Họ và tên, chữ ký) PHẢN BIỆN CỦA TRƯỜNG (Họ và tên, chữ ký, đóng dấu)
 (Họ và tên, chữ ký) 
 Vũ Thị Hoa Hường Nguyễn Thị Thu Phương Trung Văn Đức

File đính kèm:

  • docxde_thi_chon_hoc_sinh_gioi_tin_hoc_lop_8_nam_hoc_2022_2023_tr.docx