Đề thi chọn học sinh giỏi lớp 9 - Môn thi: Tin

doc 7 trang hoaithuong97 5711
Bạn đang xem tài liệu "Đề thi chọn học sinh giỏi lớp 9 - Môn thi: Tin", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • docde_thi_chon_hoc_sinh_gioi_lop_9_mon_thi_tin.doc

Nội dung text: Đề thi chọn học sinh giỏi lớp 9 - Môn thi: Tin

  1. ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 9 NĂM HỌC 2014 - 2015 Môn: Tin học (Thời gian làm bài 150 phút không kể thời gian giao đề ) Bài 1(4,0 điểm): Cho bài toán cổ sau: Trăm trâu trăm cỏ Trâu đứng ăn năm Trâu nằm ăn ba Lụ khụ trâu già. Ba con một bó. Viết chương trình tính và đưa ra màn hình số trâu mỗi loại. Lưu bài với tên tệp tin: E:\HSG\SBDxxx\Bai1.pas (xxx là SBD của thí sinh). Bài 2(5,0 điểm): Tổng đường chéo chính Cho ma trận vuông NxN (1 < N <= 100) phần tử. Em hãy viết chương trình tính tổng các phần tử nằm trên đường chéo chính của ma trận. Ví dụ: Cho ma trận sau: 10 3 9 15 4 6 6 1 2 Tổng các phần tử đường chéo chính là: 10 + 4 + 2 = 16. Lưu bài với tên tệp tin: E:\HSG\SBDxxx\Bai2.pas (xxx là SBD của thí sinh). Bài 3(5,0 điểm): Cực tiểu địa phương Xét dãy số nguyên A a1,a2 , aN  3 N 35 . Số ai được gọi là Cực tiểu địa phương nếu thỏa mãn một trong các điều kiện sau: - i 1 và a1 a2 ; - ai ai 1 và ai ai 1,i 2,3, , N 1; - i N và aN aN 1 ; Viết chương trình đếm và đưa ra màn hình số lượng các cực tiểu địa phương và vị trí các cực tiểu địa phương trong dãy. Ví dụ: Nhập N= Nhập dãy số Kết quả hoặc thông báo 2 Nhap N = Day vua nhap la: 4 6 3 8 5 5 4 6 3 8 5 Vi tri cac so cuc tieu trong day: 1 3 5 So luong cuc tieu dia phuong trong day la: 3 Lưu bài với tên tệp tin: E:\HSG\SBDxxx\Bai3.pas (xxx là SBD của thí sinh).
  2. Bài 4(6,0 điểm): Dãy số đặc biệt Dãy số A1, A2, , AN được gọi là dãy số đặc biệt nếu nó thoả mãn các điều kiện: Là dãy số giảm dần; Với mỗi Ai thì Ai hoặc là số nguyên tố hoặc là ước của một trong các số từ A 1 đến Ai-1. Em hãy tìm dãy số đặc biệt dài nhất bắt đầu từ N. Yêu cầu: - Dữ liệu : Nhập từ bàn phím là một số nguyên dương N (N < 100). - Kết quả: Đưa ra màn hình là dãy số tìm được, các số ghi cách nhau 1 dấu cách. Ví dụ: N KẾT QUẢ 9 9 7 5 3 2 1 12 12 11 7 6 5 4 3 2 1 17 17 13 11 7 5 3 2 1 Lưu bài với tên tệp tin: E:\HSG\SBDxxx\Bai4.pas (xxx là SBD của thí sinh). ––––––––––––––––––– Hết –––––––––––––––––––– Họ và tên thí sinh SBD Chú ý: Cán bộ coi thi không giải thích gì thêm
  3. PHÒNG GD&ĐT KRÔNG ANA ĐỀ THI HỌC SINH GIỎI CẤP HUYỆN KHÓA NGÀY 09/02/2015 ĐỀ CHÍNH THỨC MÔN: TIN HỌC 9 Thời gian làm bài: 150 phút ĐÁP ÁN VÀ HƯỚNG DẪN CHẤM Yêu cầu chung: - Chương trình chạy cho kết quả đúng (có thể làm theo cách khác đáp án): khai báo đầy đủ, trình bày có cấu trúc rõ ràng cho điểm tối đa. Không khai báo mỗi biến trừ 0.25 điểm. - Chương trình cho kết quả sai: Chỉ chấm phần các ý chính của thuật toán, mỗi ý đúng cho điểm không vượt quá 50% số điểm của câu. Bài 1: (4,0 điểm) Cho bài toán cổ sau: Trăm trâu trăm cỏ Trâu đứng ăn năm Trâu nằm ăn ba Lụ khụ trâu già. Ba con một bó. Viết chương trình tính và đưa ra màn hình số trâu mỗi loại. Chương trình tham khảo Điểm {Goi x = trau dung. y = trau nam. z = trau gia.} program BAI_1; 1.0 uses crt; var x,y,z: byte; Begin clrscr; for x:= 1 to 20 do {x nhan gia tri tu 1 den 20} for y:=1 to 33 do {x nhan gia tri tu 1 den 33} 1.0 begin z:= 100 - x - y; if z mod 3 = 0 then if x*5 + y*3 + z/3 = 100 then begin writeln('So trau dung: ',x:3); writeln('So trau nam : ',y:3); 2.0 writeln('So trau gia : ',z:3); end; end; readln end. Kết quả chương trình Kết quả 1 Kết quả 2 Kết quả 3
  4. Trâu đứng 4 8 12 Trâu nằm 18 11 4 Trâu già 78 81 84 Bài 2: (5,0 điểm) Tổng đường chéo chính Cho ma trận vuông NxN (1 1) and (N <=100); writeln('Nhap gia tri hang, cot'); for i:=1 to n do for j:=1 to n do Begin write('a[',i,',',j,']:= '); readln(a[i,j]); 1.0 end; writeln('Mang vua nhap la:'); for i:=1 to n do begin for j:=1 to n do 0.5 write(a[i,j]:4); writeln; end; Tong_CC:=0; Begin for i:=1 to n do for j:=1 to n do 1.0 if i=j then Tong_CC:=Tong_CC+A[i,j]; Writeln('Tong cac phan tu duong cheo chinh 0.5 la: ',Tong_CC); end; Readln; End. Test 1: N = 2 2 3 5 4
  5. Tong cac phan tu duong cheo chinh la: 6 Test 2: N = 3 12 20 15 Kết quả Tong_CC: 24 10 9 7 4 2 3 Test 3: N = 4 4 7 8 9 6 5 10 18 Kết quả Tong_CC: 43 25 30 16 15 11 12 17 18 Test 3: N = 5 1 2 3 4 5 6 7 8 9 10 Kết quả Tong_CC: 28 5 4 3 2 1 2 4 6 8 10 1 3 5 7 9 Bài 3: (5,0 điểm) Cực tiểu địa phương Xét dãy số nguyên A a1,a2 , aN  3 N 35 . Số ai được gọi là Cực tiểu địa phương nếu thỏa mãn một trong các điều kiện sau: - i 1 và a1 a2 ; - ai ai 1 và ai ai 1,i 2,3, , N 1; - i N và aN aN 1 ; Viết chương trình đếm và đưa ra màn hình số lượng các cực tiểu địa phương và vị trí các cực tiểu địa phương trong dãy. Chương trình tham khảo Điểm uses crt; var A:Array[1 100]of Integer; 0.5 i,n,dem:integer; Begin clrscr; Repeat 1.0 Write('Nhap N:= '); Readln(n); Until (N>=3) And (N<=35); Writeln('Nhap gia tri phan tu cua day:'); For i:=1 to n do begin Write('a[',i,']= '); readln(a[i]); 1.0 end; write('Day vua nhap:'); For i:=1 to n do write(a[i]:6); write('Vi tri cac so cuc tieu: '); dem:=0; if a[1] < a[2] then
  6. Begin dem:=dem +1; write(1); 1.0 end; for i:=2 to n - 1 do if (a[i] < a[i-1])and (a[i] < a[i+1]) then begin dem:=dem+1; write(i:3); end; if a[n] < a[n-1] then 1.0 Begin dem:=dem + 1; write(n:3); end; write('So luong cuc tieu dia phuong trong day 0.5 la:',dem:3); readln End. Bộ Test thử Nhập N= Nhập dãy số Kết quả hoặc thông báo 2 Nhap N = 50 Nhap N = Day vua nhap la: 2 3 4 5 4 2 3 4 5 Vi tri cac so cuc tieu trong day: 1 So luong cuc tieu dia phuong trong day la: 1 Day vua nhap la: 4 6 3 8 5 5 4 6 3 8 5 Vi tri cac so cuc tieu trong day: 1 3 5 So luong cuc tieu dia phuong trong day la: 3 Day vua nhap la: 10 4 8 7 15 10 16 9 10 4 8 7 15 10 8 Vi tri cac so cuc tieu trong day: 2 4 6 8 16 30 So luong cuc tieu dia phuong trong day la: 4 Bài 4: (6,0 điểm) Dãy số đặc biệt Dãy số A1, A2, , AN được gọi là dãy số đặc biệt nếu nó thoả mãn các điều kiện: Là dãy số giảm dần; Với mỗi Ai thì Ai hoặc là số nguyên tố hoặc là ước của một trong các số từ A 1 đến Ai-1. Em hãy tìm dãy số đặc biệt dài nhất bắt đầu từ N. Yêu cầu: - Dữ liệu : Nhập từ bàn phím là một số nguyên dương N (1< N < 100). - Kết quả: Đưa ra màn hình là dãy số tìm được, các số ghi cách nhau 1 dấu cách. Chương trình tham khảo Điểm Uses crt; var i,n,d,k,l,t,tg: integer; 0.5 a,b:array[1 100] of integer; function nto(x:integer):boolean; var j:integer;
  7. kt:boolean; 0.5 begin kt:= true; if x = 1 then kt:=false else 1.0 for j:=2 to x div 2 do if x mod j = 0 then kt:=false; nto:=kt; end; Begin Clrscr; Repeat write('Nhap N= '); 0.5 readln(n); Until (N > 1)and (N < 100); l:=1; for i:=1 to n do if (nto(i)=true)or(n mod i =0) then 1.0 begin b[l]:=i; l:=l+1; end; for k:=l-1 downto 2 do for t:=1 to k-1 do 1.0 if b[t] < b[t+1] then begin tg:=b[t]; b[t]:=b[t+1]; 1.0 b[t+1]:=tg; end; write'Day dac biet la: '); 0.5 for d:=1 to l-1 do write(b[d]:3); Readln end. Bộ Test thử Nhập N= Kết quả hoặc thông báo trên màn hình 7 Day dac biet la: 7 5 3 2 1 9 Day dac biet la: 9 7 5 3 2 1 12 Day dac biet la: 12 11 7 5 3 2 1 17 Day dac biet la: 17 13 11 7 5 3 2 1 20 Day dac biet la: 20 19 17 13 11 10 7 5 4 3 2 1 Ghi chú: Học sinh có thể viết chương trình khác nhưng chạy đúng kết quả test vẫn cho điểm tối đa.