Đề thi chọn học sinh giỏi môn Tin học 9 - Năm học 2021-2022 (Có đáp án)
Bạn đang xem tài liệu "Đề thi chọn học sinh giỏi môn Tin học 9 - Năm học 2021-2022 (Có đáp án)", để 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 môn Tin học 9 - Năm học 2021-2022 (Có đáp án)
MÃ KÍ HIỆU ĐỀ THI CHỌN HỌC SINH GIỎI
[*****] LỚP 9 - NĂM HỌC: 2021- 2022
MÔN: TIN HỌC
Thời gian làm bài: 150 phút
(Đề thi gồm 3 câu, 2 trang)
TỔNG QUAN VỀ ĐỀ THI
File chương
Biểu
STT trình nguồn File dữ liệu vào File kết quả ra
điểm
nộp
Bài 1 BAI1.PAS BAI1.INP BAI1.OUT 3,0 điểm
Bài 2 BAI2.PAS BAI2.INP BAI2.OUT 3,5 điểm
Bài 3 BAI3.PAS BAI3.INP BAI3.OUT 3,5 điểm
Chú ý:
- Bài thi được làm trên máy vi tính.
- Học sinh đặt tên file chương trình theo đúng quy định của từng bài, không ghi bất kỳ thông
tin cá nhân nào vào file bài làm (họ tên, số báo danh, ngày sinh, trường, các ký hiệu khác
thường, )
- Trong quá trình làm, thường xuyên lưu bài vào đĩa cứng tránh sự cố mất điện đột ngột, có thể
mất bài.
- File input và output ở trong thư mục hiện hành, thí sinh không phải khai báo đường dẫn đến
file input và output.
Bài 1 (3.0 điểm): Viết chương trình xóa các ký tự chữ số trong một xâu ký tự được đọc trong
tệp Bai1.inp.
Dữ liệu vào: Cho trong tệp BAI1.INP
-Chứa một xâu ký tự có cả kí tự chữ số, độ dài xâu ký tự không vượt quá 100 ký tự.
Kết quả: Ghi ra tệp BAI1.OUT
- Ghi xâu ký tự sau khi đã xóa các ký tự chữ số của xâu ký tự ở trong file input
Ví dụ:
BAI1.INP BAI1.OUT
ab12cd abcd Bài 2 (3.5 điểm): Giao của 2 tập hợp.
Cho tập hợp A là một mảng có n phần tử (các phần tử khác nhau) và tập hợp B là một mảng có
m phần tử (các phần tử khác nhau). Giao của tập hợp A và B là những phần tử có mặt cả ở tập
A và tập B.
Yêu cầu: Hãy tìm giao của tập A và tập B
Dữ liệu vào: Cho trong tệp BAI2.INP:
- Dòng 1: chứa giá trị N (số lượng phần tử của dãy A)
- Dòng 2: chứa N số nguyên dương là các giá trị của dãy A
- Dòng 3: chứa giá trị M (số lượng phần tử của dãy B)
- Dòng 4: chứa M số nguyên dương là các giá trị của dãy B
Kết quả: Ghi ra tệp BAI2.OUT: Ghi các giá trị là giao của A và B tìm được.
Ví dụ:
BAI2.INP BAI2.OUT
5 4 8
2 4 6 8 7
4
1 4 9 8
Bài 3 (3,5 điểm): Cho một mảng số nguyên gồm n phần tử. Tìm dãy con gồm m phần tử
(m n) sao cho dãy con này có tổng lớn nhất. (Dãy con là dãy các phần tử liên tiếp nhau trong
mảng).
Dữ liệu vào: Cho trong tệp BAI3.INP:
- Dòng 1: chứa giá trị N (số lượng phần tử của dãy A)
- Dòng 2: chứa N số nguyên dương là các giá trị của dãy A
- Dòng 3: chứa giá trị M (m n)
Kết quả: Ghi ra tệp BAI3.OUT: Ghi chứa M số nguyên dương là các giá trị của dãy B
tìm được.
Ví dụ:
BAI3.INP BAI3.OUT
7 4 6 7 3 9
2 4 6 7 3 9 1
5
....................Hết.................... MÃ KÍ HIỆU ĐÁP ÁN ĐỀ THI CHỌN HỌC SINH GIỎI
[*****] LỚP 9 - NĂM HỌC: 2021- 2022
MÔN: TIN HỌC
(Hướng dẫn chấm gồm 03 trang)
Bài 1 (3 điểm)
Thuật toán:
Duyệt qua tất cả các phần tử của sâu S. Nếu kí tự S[i] S không là kí tự số thì viết kí tự
đó vào sâu S1 và viết S1 ra tệp Bai1.out.
Code mẫu
Const
fi= ‘Bai1.inp’
fo=’Bai1.out’
Var
fi,fo: text;
S,S1:String;
I:byte;
Begin
Assign(f,fi);
Reset(f);
Readln(f,S);
Close(f);
S1:=’ ‘;
For i:=1 to length (S) do
If not (S[i]>’0’ and S[i] <’9’) then
S1:=S1+S[i];
Assign(f,fo);
Rewrite(f);
Writeln(f,S1);
Close(f);
End.
Bài 2 (3,5 điểm)
Thuật toán:
Duyệt qua tất cả các phần tử ai A. Nếu ai B thì viết ai viết ra tệp Bai2.out.
Code mẫu
Const
fi= ‘Bai2.inp’
fo=’Bai2.out’
Var
fi,fo: text; m,n,i:byte;
A,B: Aray[1..100] of integer;
Function KiemTra(x:Integer; n:Byte; A:Mang):Boolean;
Var i:Byte; Found:Boolean;
Begin
Found:=False;
i:=1;
While (i<=n) AND (not Found) Do
If x=A[i] Then Found:=True Else i:=i+1;
KiemTra:=Found;
End;
Procedure GiaoAB(n:Byte; A:Mang;m:Byte; B:Mang);
Var i:Byte;
Begin
For i:=1 To n Do
If KiemTra(A[i],m,B) Then Write(A[i]:4);
Writeln(f,A[i]);
End;
Begin
Assign(f,fi);
Reset(f);
Readln(f,n);
For i:=1 to n do
Read(f,A[i]);
Readln(f,m);
For i:=1 to m do
Read(f,B[i]);
Close(f);
Asign(f,fo);
Rewrite(f);
GiaoAB;
Close(f);
End.
Bài 3 (3,5 điểm)
Thuật toán:
- Nhập số phần tử n của mảng A, Nhập số phần tử của mảng con m
- Giả sử k=1 là vị trí phần tử đầu tiên của dãy, m phần tử đầu tiên của mảng A là dãy con có
tổng lớn nhất, tìm dãy con khác, tính tổng của dãy con thứ i.
- Duyệt qua tất cả các phần tử ai A; Nếu dãy con tìm được có tổng lớn hơn dãy con trước, thay
tổng mới, thay vị trí đầu tiên trong dãy. Hiển thị dãy con có tổng lớn nhất cần tìm ra tệp
Bai3.out.
Code mẫu Const
fi= ‘Bai3.inp’
fo=’Bai3.out’
Var
fi,fo: text;
m,n,i,j,k:byte;
A: Aray[1..100] of integer
S,Max:Integer;
Begin
Assign(f,fi);
Reset(f);
Readln(f,n);
For i:=1 to n do
Read(f,A[i]);
Readln(f,m);
Close(f);
k:=1; {Vị trí phần tử đầu tiên của dãy con}
{Giả sử m phần tử đầu tiên của mảng A là dãy con có tổng lớn nhất}
Max:=0;
For i:=1 To m Do Max:=Max+A[i];
{Tìm các dãy con khác}
For i:=2 To n-m+1 Do
Begin
{Tính tổng của dãy con thứ i}
S:=0;
For j:=i To i+m-1 Do S:=S+A[j];
If S>Max Then {Nếu dãy con tìm được có tổng lớn hơn dãy con trước}
Begin
Max:=S; {Thay tổng mới}
k:=i; {Thay vị trí đầu tiên của dãy con mới}
End;
End;
Writeln('Day con co tong lon nhat la:');
For i:=k To k+m-1 Do Write (A[i]:5)
Assign(f,fo);
Rewrite(f);
Write(f,A[i]);
Close(f);
End. Bộ Test
Bài Test Dữ liệu vào Dữ kiệu ra Điểm
1 ab12cd Abcd 0,3
2 1234567a A 0,3
3 Abcdef Abcdef 0,3
4 abc12345 Abc 0,3
5 a1b2c3d4 Abcd 0,3
6 efghfjgjjyid1454646jgjagjg Efghfjgjjyidjgjagjg 0,3
Bài 1 7 abcs14545jguygkhbh68989xdgv abcsjguygkhbhxdgvn 0,3
(3,0 n
điểm) 8 Cnbjhiynbnnnyuoohyyfv876bbjj Cnbjhiynbnnnyuoohyyfvbb 0,3
hvcf jjhvcf
9 1345bcbxjggkfufuffytf8855ch Bcbxjggkfufuffytfchkfkjvk 0,3
kfkjvkj68fccxvzvjg986 jfc
Cxvzvjg
10 tydyxjgcjgdgmn tydyxjgcjgdgmn 0,3
nvabcdefghfjgjjyidyfgv1 nvabcdefghfjgjjyidyfgv
1 5 4 8 0,35
2 4 6 8 7
4
1 4 9 8
2 1 7 0,35
7
2
1 7
3 2 1 5 0,35
1 5
3
1 5 7
Bài 2 4 3 34 56 78 0,35
(3,5 34 56 78
điểm) 3
56 34 78
5 5 9 0,35
2 4 6 8 9
5
24 9 68 45 38
6 7 2 4 7 0,35
1 2 3 4 5 6 7
5
2 4 7 8 9
7 12 23 4 45 6 0,35
1 53 2 4 23 4 45 6 7 12 18 15
4 23 4 45 6
8 12 1 4 6 7 0,35
1 53 2 4 23 4 45 6 7 12 18 15
8
23 4 45 6 1 7 8 9
9 8 4 6 1 7 0,35
23 4 45 6 1 7 8 9
12
1 53 2 4 23 4 45 6 7 12 18 15
10 4 0,35
4 6 7 9
5
1 3 5 8 0
1 7 4 6 7 3 9 0,35
2 4 6 7 3 9 1
5
2 2 1 9 0,35
1 9
2
3 1 67 0,35
67
1
4 6 35 0,35
2 4 35 4 1 3
1
5 5 0,35
4 6 9 29
Bài 3
(3,5
6 12 4 5 6 4 3 2 0,35
điểm)
1 3 2 4 5 6 4 3 2 5 3 5
6
7 12 5 6 4 0,35
1 3 2 4 5 6 4 3 2 5 3 5
3
8 16 8 7 0,35
2 3 4 7 6 0 8 7 0 7 8 7 6 6 8 7
2
9 16 7 8 7 0,35
2 3 4 7 6 0 8 7 0 7 8 7 6 6 8 7
3
10 16 7 8 7 6 0,35
2 3 4 7 6 0 8 7 0 7 8 7 6 6 8 7
4File đính kèm:
de_thi_chon_hoc_sinh_gioi_mon_tin_hoc_9_nam_hoc_2021_2022_co.doc