Đề thi học sinh giỏi cấp huyện môn Tin học Lớp 9 - Năm học 2022-2023 - Phòng GD và ĐT Krông Ana (Có đáp án)
Câu 1 (5 điểm): Tam giác vuông
Cho tam giác có độ dài các cạnh lần lượt là a, b, c (<65000). Tam giác đó có phải là tam giác vuông hay không?
Yêu cầu:
- Nhập vào từ bàn phím các số nguyên a, b, c.
- Xuất ra màn hình số 1 nếu là tam giác vuông, số 0 nếu không phải là tam giác vuông.
Cho tam giác có độ dài các cạnh lần lượt là a, b, c (<65000). Tam giác đó có phải là tam giác vuông hay không?
Yêu cầu:
- Nhập vào từ bàn phím các số nguyên a, b, c.
- Xuất ra màn hình số 1 nếu là tam giác vuông, số 0 nếu không phải là tam giác vuông.
Bạn đang xem tài liệu "Đề thi học sinh giỏi cấp huyện môn Tin học Lớp 9 - Năm học 2022-2023 - Phòng GD và ĐT Krông Ana (Có đáp án)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- de_thi_hoc_sinh_gioi_cap_huyen_mon_tin_hoc_lop_9_nam_hoc_202.docx
Nội dung text: Đề thi học sinh giỏi cấp huyện môn Tin học Lớp 9 - Năm học 2022-2023 - Phòng GD và ĐT Krông Ana (Có đáp án)
- PHÒNG GDĐT KRÔNG ANA KỲ THI HỌC SINH GIỎI CẤP HUYỆN Đề thi môn: TIN HỌC Năm học 2022-2023 ĐỀ CHÍNH THỨC Thời gian làm bài: 150 phút Câu 1 (5 điểm): Tam giác vuông Cho tam giác có độ dài các cạnh lần lượt là a, b, c (<65000). Tam giác đó có phải là tam giác vuông hay không? Yêu cầu: - Nhập vào từ bàn phím các số nguyên a, b, c. - Xuất ra màn hình số 1 nếu là tam giác vuông, số 0 nếu không phải là tam giác vuông. Ví dụ: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 8 6 10 1 Thí sinh lưu bài với tên Bai1.* (trong đó .* là phần mở rộng của phần mềm thí sinh dùng để lập trình, ví dụ .pas, .cpp ) Câu 2 (4 điểm): Tổng các số chia hết cho 3 Cho mảng số N nguyên (N<100), tìm và tính tổng các số lẻ chia hết cho 3. Yêu cầu: - Nhập vào từ bàn phím số nguyên N và N số nguyên trên 2 dòng khác nhau. - Xuất ra màn hình dòng 1 chứa các số lẻ chia hết cho 3, cách nhau bởi dấu cách. Dòng 2 tính tổng các số vừa xuất ra. Ví dụ: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 8 3 -9 2 -7 3 6 12 -9 18 22 -6 Thí sinh lưu bài với tên Bai2.* (trong đó .* là phần mở rộng của phần mềm thí sinh dùng để lập trình, ví dụ .pas, .cpp ) Câu 3 (4 điểm): Tính tiền điện Bảng giá bán lẻ điện sinh hoạt hộ gia đình năm 2022 được tạm tính theo thang bậc sử dụng như sau: Từ 0à50 kWh giá 1678 đồng/kWh Từ 51à100 kWh giá 1734 đồng/kWh Từ 101 kWh trở lên giá 2014 đồng/kWh Hãy lập trình tính tiền điện của hộ gia đình dựa trên chỉ số công tơ cũ và mới. Yêu cầu: Dữ liệu từ tệp Bai3.inp chứa chỉ số công tơ cũ và mới trên cùng một dòng. Kết quả tính tiền được xuất ra tệp Bai3.out. Ví dụ: Bai3.inp Bai3.out 459 800 655974
- Thí sinh lưu bài với tên Bai3.* (trong đó .* là phần mở rộng của phần mềm thí sinh dùng để lập trình, ví dụ .pas, .cpp ) Câu 4 (4 điểm): Tìm mật thư Một người nhận được bức thư có nội dung là chuỗi kí tự đã được mã hóa. Để tìm ra nội dung ban đầu, phải xóa hết số kí tự trắng của bức thư đã nhận đó, đồng thời số kí tự trắng đó cũng là khóa k để giải. Khi đó, bức thư nhận được chia làm 2 phần đã được viết theo thứ tự ngược lại, phần đầu được xác định từ kí tự đầu tiên tới khóa k, phần 2 từ khóa k đến hết. Hãy tìm nội dung bức thư ban đầu. Yêu cầu: - Nhập vào từ bàn phím xâu kí tự S (thư nhận). - Xuất ra màn hình nội dung thư đã gửi. Ví dụ: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình oh ioighnisc hocsinhgioi Thí sinh lưu bài với tên Bai4.* (trong đó .* là phần mở rộng của phần mềm thí sinh dùng để lập trình, ví dụ .pas, .cpp ) Câu 5 (3 điểm): Năm âm lịch Năm 1010, vua Lý Thái Tổ dời đô từ Hoa Lư về Thăng Long gọi là năm Canh Tuất. Năm 2000, kết thúc thế kỷ XX là năm Canh Thìn. Năm 2022 được gọi là năm Nhâm Dần. Năm dương lịch được biểu diễn bằng số nguyên, năm âm lịch được gọi theo Can và Chi. Can có: Giáp, Ất, Bính, Đinh, Mậu, Kỉ, Canh Tân, Nhâm, Quý. Chi có: Tí, Sửu, Dần, Mão, Thìn, Tỵ, Ngọ, Mùi, Thân, Dậu, Tuất, Hợi. Can và Chi lần lượt được lấy theo chiều kim đồng hồ. Ví dụ: 2022 (Nhâm Dần), 2023 (Quý Mão), 2024 (Giáp Thìn) Yêu cầu: - Nhập vào từ bàn phím năm dương lịch - Xuất ra màn hình tên gọi năm âm lịch tương ứng. Chương trình chỉ dừng lại khi nhập vào năm <=0 thì kết thúc. Thí sinh lưu bài với tên Bai5.* (trong đó .* là phần mở rộng của phần mềm thí sinh dùng để lập trình, ví dụ .pas, .cpp ) Hết Ghi chú: Thí sinh không sử dụng thư viện crt và lệnh clrscr. Dữ liệu nhập vào từ bàn phím và xuất ra màn hình, thí sinh không được sử dụng các câu dẫn như “Nhap vao gia tri n:”, “Ket qua la:”. Cán bộ coi thi không giải thích gì thêm. Họ và tên học sinh: Số báo danh: Chữ ký giám thị 1 Chữ ký giám thị 2
- KỲ THI HỌC SINH GIỎI CẤP HUYỆN Môn: Tin học, lớp 9 Năm học 2022-2023 ĐÁP ÁN VÀ BIỂU ĐIỂM Thí sinh có thể làm bài bằng nhiều cách, nhiều ngôn ngữ lập trình khác nhau. Bài làm đúng đến đâu, chấm điểm đến đó. Sau đây là một số chương trình tham khảo viết bằng ngôn ngữ lập trình Pascal. Câu 1 (5 điểm): Tam giác vuông Khai báo Var a,b,c: word; 2đ Begin Read(a,b,c); Nhập; câu If (sqr(a)=sqr(b)+sqr(c)) or lệnh điều (sqr(b)=sqr(a)+sqr(c)) or 3đ kiện; xuất (sqr(c)=sqr(b)+sqr(a)) then write(1) else write(0); End. BỘ TEST CHƯƠNG TRÌNH: TEST 1: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 48 55 73 1 TEST 2: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 200 91 500 0 TEST 3: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 216 2912 2920 1 Câu 2 (4 điểm): Tổng các số chia hết cho 3 Var a: array[1 100] of integer; Khai báo i, tong: integer; 1đ n: byte; Nhập số Begin lượng Read(n); phần tử và For i:=1 to n do read(a[i]); 1đ từng phần tử Tong:=0; In các For i:=1 to n do phần tử ra 2đ If (a[i] mod 2 <> 0) and (a[i] mod 3 = 0) then màn hình Begin
- và tính Tong:=tong+a[i]; tổng Write(a[i],’ ’); End; Writeln; write(tong); End. BỘ TEST CHƯƠNG TRÌNH: TEST 1: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 5 -21 -7 8 -21 18 9 -12 TEST 2: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 10 -801 981 -63 500 -482 -801 15000 981 5 34 -63 2 0 117 TEST 3: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 7 123 345 567 234 456 678 890 123 345 567 1035 Câu 3 (4 điểm): Tính tiền điện Lưu ý: Thí sinh không sử dụng tệp dữ liệu, bài làm chỉ được tính tối đa ½ số điểm. Var x,y:longint; Khai báo so, tien:longint; 1đ f,f1:text; Begin Gán tệp, Assign(f,’Bai3.inp’); reset(f); đọc dữ 1đ Assign(f1,’Bai3.out’); rewrite(f1) liệu từ tệp Read(f,x,y); So:=y-x; If so<=50 then tien:=so*1678 else Tính và If so<101 then tien:=50*1678+(so-50)*1734 else ghi dữ liệu Tien:= 50*1678+50*1734+(so-100)*2014 2đ vào tệp Write(f1,tien); Close(f); close(f1); End. BỘ TEST CHƯƠNG TRÌNH: TEST 1: Bai3.inp Bai3.out 1024 1111 148058 TEST 2:
- Bai3.inp Bai3.out 32000 32256 484784 TEST 3: Bai3.inp Bai3.out 215 240 41950 Câu 4 (4 điểm): Tìm mật thư Var s,s1,s2:string; Khai báo 1đ i,k:integer; Begin Read(s); k:=0; for i:=1 to length(s) do Tìm k, xóa if s[i]=#32 then k:=k+1; hết dấu while pos(’ ’,s)<>0 do delete(s,pos(’ ’,s,1); 3đ cách, in s1:=’’; s2:=’’; kết quả for i:=k downto 1 do s1:=s1+s[i]; for i:=length(s) downto k+1 do s2:=s2+s[i]; write(s1+s2); end. BỘ TEST CHƯƠNG TRÌNH: TEST 1: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình gnork˽˽˽an˽˽a krongana TEST 2: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình ˽˽coh˽man˽32022203˽˽ namhoc20222023 TEST 3: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình ˽hih˽˽tedneyu˽hgs˽˽ dethihsghuyen Câu 5 (3 điểm): Năm âm lịch Const Can: array[0 9] of string=(’Canh’,’Tan’,’Nham’,’Quy’,’Giap’,’At’,’Binh’’Dinh’, ’Mau’,’Ki’; Khai Chi: array[0 11] of 1đ báo string=(’Than’,’Dau’,’Tuat’,’Hoi’,’Ti’,’Suu’,’Dan’,’Mao’, ’Thin’,’Ty’,’Ngo’,’Mui’); Var year:integer; i,j:byte;
- Begin Year:=1; While year>0 do Begin Read(year); Vòng If year>0 then lặp đến Begin 2đ khi i:=year mod 10; năm<=0 j:=year mod 12; Writeln(can[i],’ ’,chi[j]); End; End; end. BỘ TEST CHƯƠNG TRÌNH: TEST 1: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 904 Giap Ti TEST 2: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 1945 At Dau TEST 3: Dữ liệu nhập từ bàn phím Kết quả in ra màn hình 2001 Tan Ty