Đề thi chọn học sinh giỏi Tin học 9 - Năm học 2021-2022 (Có đáp án)

doc 6 Trang Thanh Mai 18
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)

Đề 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 10

File đính kèm:

  • docde_thi_chon_hoc_sinh_gioi_tin_hoc_9_nam_hoc_2021_2022_co_dap.doc