Đề thi chọn học sinh giỏi 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 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 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 File dữ liệu vào File kết quả ra
trình nguồn nộp điểm
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.
Câu 1. ( 3 điểm)
Nhập vào 1 số tự nhiên có N chữ số (0 < N ≤ 255).
a) Hãy cho biết chữ số lớn nhất của số tự nhiên vừa nhập.
b) Kiểm tra xem số đó có đối xứng không.
*/ Yêu cầu :
Dữ liệu vào: file ‘bai1.inp’
Dòng 1 nhập vào từ bàn phím một số tự nhiên có N chữ số ( N ≤ 255) .
Dữ liệu ra: file ‘bai1.out’
Dòng 1 : In ra chữ số lớn nhất của số tự nhiên vừa nhập
Dòng 2 : In ra nhận xét “ Khong doi xung” hoặc “Doi xung”
Ví dụ:
Bai1.inp Bai1.out
3521 5
Khong doi xung
32123 3
Doi xung
Câu 2. (3,5điểm) Đếm phần tử chẵn (Tên chương trình nguồn BAI_2.PAS)
Cho một dãy số nguyên A gồm N phần tử (1 ≤ N ≤200) Yêu cầu: Đếm số phần tử chẵn trong dãy A và in ra các phần tử đó theo trật tự tuyệt đối giảm
dần
Dữ liệu vào: Cho trong tệp BAI_2.INP
- Dòng thứ nhất ghi giá trị của số N (số lượng các phần tử trong dãy).
- N dòng tiếp theo, lần lượt ghi giá trị các phần tử của dãy A; (Ai có kiểu integer).
Kết quả: Ghi ra tệp BAI_2.OUT
- Dòng thứ nhất ghi số lượng các phần tử chẵn trong dãy A
- Các dòng tiếp theo ghi các phần tử chẵn của dãy A theo trật tự trị tuyệt đối giảm dần
(mỗi phần tử ghi trên 1 dòng)
Ví dụ:
BAI_2.INP BAI_2.OUT
6 4
-15 40
-20 -30
40 -20
25 10
10
-30
Câu 3:(3.5 điểm)
CAUHOI
Bài 3: Trộn mảng (3,5 điểm)
Cho dãy A gồm N phần tử nguyên dương và dãy B gồm M phần tử nguyên
dương
Yêu cầu: Đưa ra dãy C gồm các phần tử của dãy A và B được sắp xếp theo thứ tự tăng dần của
các phần tử mảng, nếu các phần tử trong hai mảng trùng nhau thì giữ nguyên.
Ví dụ: A= 2, 5, 21, 12, 6;
KQ: C= 2, 2, 3, 4, 5, 6, 6, 8, 12, 14, 21
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 (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 BAI3.OUT: Ghi mảng trộn các phần tử được sắp xếp tăng dần.
Ví dụ:
BAI3.INP BAI3.OUT
5 11
2, 5, 21,12,6
6 2, 2,3, 4, 5, 6, 6, 8, 12, 14, 21
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)
Câu 1 (3 điểm)
Code mẫu
Program bai1;
Var s,s1,max: string;
i: integer;
procedure Nhap();
var f:text;
Begin
Assign(f,'bai1.inp');
reset(f);
readln(f,s);
close(f);
end;
Procedure Xuat();
var f:text;
begin
Assign(f,'bai1.out');
rewrite(f);
max:='';
for i:=1 to length(s) do if s[i]>max then max:=s[i];
Writeln(f,max);
s1:=''; for i:=length(s) downto 1 do s1:=s1+s[i];
if s1=s then writeln(f,'la xau doi xung')
else writeln(f,'khong la xau doi xung');
close(f);
end;
Begin
Nhap;
Xuat;
End.
Câu 2 (3,5 điểm)
Code mẫu:
Program Dem_chan;
Uses Crt;
Var
a: array[1..300] of integer;
i,j,n,tam,dem:integer;
f:text;
Begin
Clrscr;
Assign(f,'Bai2.inp');
Reset(f);
Readln(f,n);
for i:=1 to n do
read(f,a[i]);
Close(f);
Assign(f,'Bai2.Out');
Rewrite(f);
For i:=1 to n- 1do
For J:=i+1 to n do
if abs(a[i])<abs(a[j]) then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
dem:=0;
for i:=1 to n do
if a[i] mod 2 = 0 then dem:=dem+1;
writeln(f,dem);
for i:=1 to n do
if a[i] mod 2=0 then Writeln(f,a[i]:0);
close(f);
Write('Chuong trinh xu ly xong');
readln End.
Câu 3 (3,5 điểm)
ĐAPAN
- Thuật toán: Dùng thuật tóan sắp xếp mảng
- Code mẫu:
var F:text;
n,m,i,k,h:integer;
A,B,C:array[1..50]of integer;
Procedure doctep;
Begin
assign(F,'tronmang.inp');reset(F);readln(F,n,m);
for k:=1 to n do read(F,A[k]);
for h:=1 to m do read(F,B[h]);
close(F);
end;
Procedure hienthi;
Begin
assign(F,'mangtron.out');rewrite(F);
i:=1;k:=1;h:=1;
while (k<=n) do begin C[i]:=A[k]; k:=k+1;i:=i+1;end;
while (h<=m) do begin C[i]:=B[h]; h:=h+1; i:=i+1;end;
end;
Begin
doctep;
hienthi;
for i:=1 to (n+m) do
write(F,C[i]:3);close(F);
End.
Test Input Output
3
2 5 6
1 2 3 5 6 8 10 15 30
5
10 15 30 3 8
2 3 2 4 6 8 12 35 2 4 6
3
8 12 35
5
1 3 2 4 5
3 1 1 2 2 3 3 4 4 5 5
5
5 4 2 3 1
3
6 9 8
4 2 4 6 8 8 9 10 11
5
4 10 11 2 8
3
9 8 7
5 5 7 8 9 10 15 20 60
5
20 60 15 5 10File đính kèm:
de_thi_chon_hoc_sinh_gioi_tin_hoc_9_nam_hoc_2021_2022_co_dap.doc