Tài liệu Tuyển tập 22 đề thi học sinh giỏi môn tin học lớp 9 (có đáp án)

  • Số trang: 79 |
  • Loại file: PDF |
  • Lượt xem: 27703 |
  • Lượt tải: 86
hoanggiang80

Tham gia: 27/02/2015

Mô tả:

SỞ GIÁO DỤC VÀ ĐÀO TẠO KIÊN GIANG KỲ THI CHỌN HỌC SINH GIỎI VÒNG TỈNH LỚP 9 THCS NĂM HỌC 2012-2013 ĐÁP ÁN CHÍNH THỨC MÔN THI: TIN HỌC Thời gian làm bài: 150 phút (không kể thời gian giao đề) Ngày thi: 01/3/2013 (Đáp án gồm 02 trang) Bài 1: (5.0 điểm) 18=3+4+5+6 Test 1: N=18 18=5+6+7 6=1+2+3 Khong ton tai day so 21=1+2+3+4+5+6 21=6+7+8 21=10+11 Test 2: N=6 Test 3: N=16 Test 4: N=21 Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn 1.5 điểm 1.0 điểm 1.0 điểm 1.0 điểm 0.5 điểm Bài 2: (5.0 điểm) Test 1: N=15 N=30 Test 2: N=222 Test 3: N=12345 15=13+2 30=21+8+1 222=144+55+21+2 12345=10946+987+377+34+1 999999999=701408733+267914296+24157817+5 Test 4: N=999999999 702887+514229+196418+75025+28657+1597+2 33+89+13+5 Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn 1.5 điểm 1.0 điểm 1.0 điểm 1.0 điểm 0.5 điểm Bài 3: (5.0 điểm) Test 1: N=10 A1=4 A2=5 A3=12 A4=5 A5=4 Test 2: N=20 A1=2 A2=5 A3=12 A4=5 A5=2 A6=11 A7=8 A8=14 A9=9 A10=2 Test 3: N=6 A1=11 A2=22 A3=33 A6=11 A7=8 A8=14 A9=9 A10=4 A11=17 A12=5 A13=16 A14=35 A15=74 A16=5 A17=2 A18=17 A19=41 A20=2 A4=44 A5=55 A6=33 Cac so xuat hien trong mang la: 4, 5, 12, 11, 8, 14, 9 So xuat hien nhieu nhat trong mang la: 4 1.5 điểm Cac so xuat hien trong mang la: 2, 5, 12, 11, 8, 14, 9, 17, 16, 35, 74, 41 So xuat hien nhieu nhat trong mang la: 2 1.0 điểm Cac so xuat hien trong mang la: 11, 22, 33, 44, 55 So xuat hien nhieu nhat trong mang la: 33 1.0 điểm 1 Test 4: N=20 A1=2 A2=2 A3=3 A4=1 A5=4 A6=2 A7=3 A8=1 A9=2 A10=4 A11=1 A12=2 A13=3 A14=2 A15=4 A16=5 A17=1 A18=3 A19=2 A20=4 Cac so xuat hien trong mang la: 2, 3, 1, 4,5 So xuat hien nhieu nhat trong mang la: 2 Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn 1.0 điểm 0.5 điểm Bài 4: (5.0 điểm) Test 1: - Nhap vao tien gui ban dau: 500000 - So thang muon gui: 8 Test 2: - Nhap vao tien gui ban dau: 123456789 - So thang muon gui: 1 Test 3: - Nhap vao tien gui ban dau: 250000000 - So thang muon gui: 3 Test 4: - Nhap vao tien gui ban dau: 2000000000 - So thang muon gui: 34 - So tien duoc sau sau 8 thang la: 521240.92 1.5 điểm - So tien duoc sau sau 1 thang la: 123580245.79 1.0 điểm - So tien duoc sau sau 3 thang la: 255000000.00 1.0 điểm - So tien duoc sau sau 34 thang la: 2489235365.41 1.0 điểm Trình bày rõ ràng, cấu trúc dễ nhìn; giải thuật tốt, ngắn gọn --------------------------HẾT-------------------------- 2 0.5 điểm SỞ GIÁO DỤC & ĐÀO TẠO LÂM ĐỒNG KÌ THI CHỌN HỌC SINH GIỎI CẤP TỈNH NĂM HỌC 2010 - 2011 ĐỀ THI CHÍNH THỨC (Đề thi có 02 trang, gồm 3 bài) Môn : TIN HỌC - THCS Thời gian : 150 phút (không kể thời gian giao đề) Ngày thi : 18/2/2011 Cấu trúc đề thi: STT Tên bài 1 PHẦN TỬ YÊN NGỰA 2 TỔNG CÁC SỐ FIBONACI 3 CHỌN PHẦN THƯỞNG Tên file bài làm PTYN.PAS Tên file INPUT PTYN.INP Tên file OUTPUT PTYN.OUT FIBO.PAS FIBO.INP FIBO.OUT PTHUONG.PAS PTHUONG.INP PTHUONG.OUT Bài 1: (6 điểm) PHẦN TỬ YÊN NGỰA Cho mảng 2 chiều A có kích thước MxN số nguyên. Phần tử A[i,j] được gọi là phần tử yên ngựa nếu nó là phần tử nhỏ nhất trong hàng i đồng thời là phần tử lớn nhất trong cột j. Em hãy lập chương trình tìm phần tử yên ngựa của mảng A. Dữ liệu vào: cho file PTYN.INP gồm: - Dòng đầu tiên gồm 2 số M, N (0 ≤ M,N ≤100) - M dòng tiếp theo, mỗi dòng gồm có N số nguyên của mảng A (các giá trị cách nhau ít nhất 1 khoảng cách). Dữ liệu ra: ghi ra file PTYN.OUT vị trí của các phần tử yên ngựa (nếu có) hoặc dòng thông báo “Không có phần tử yên ngựa”. Ví dụ: PTYN.INP PTYN.OUT 33 (2,2) 15 3 9 55 4 6 76 1 2 Hoặc : PTYN.INP PTYN.OUT 33 Khong co phan tu yen ngua 15 10 5 55 4 6 76 1 2 Bài 2: (7 điểm) TỔNG CÁC SỐ FIBONACI Dãy Fibonaci là dãy gồm các số: 1, 1, 2, 3, 5, 8, .... được xác định bởi công thức sau: F1=1, F2=1, Fi=Fi-1+Fi-2 với i>2. Em hãy biểu diễn một số tự nhiên N thành tổng của ít nhất các số Fibonaci khác nhau. Dữ liệu vào: cho file FIBO.INP chứa số N (N ≤ 2000000000) Dữ liệu ra: ghi ra file FIBO.OUT biểu diễn số N thành tổng của ít nhất các số Fibonaci khác nhau. Trang 1/5 Ví dụ: FIBO.INP 129 FIBO.OUT 129 = 89 + 34 + 5 + 1 Hoặc FIBO.INP 8 FIBO.OUT 8=8 Bài 3: (7 điểm) CHỌN PHẦN THƯỞNG Trong kỳ thi học sinh giỏi môn Tin học, em là người đạt giải đặc biệt. Ban tổ chức cho phép em chọn các phần thưởng cho mình. Các phần thưởng xếp thành một dãy được đánh số từ 1 đến N (0 ≤ N ≤ 10000), phần thưởng thứ i có giá trị là ai (1 ≤ ai ≤ 100). Em được phép chọn các phần thưởng cho mình theo nguyên tắc không chọn 3 phần thưởng liên tiếp nhau trong dãy. Viết chương trình để máy tính hướng dẫn em chọn các phần thưởng sao cho tổng giá trị của các phần thưởng nhận được là lớn nhất. Dữ liệu vào: cho file PTHUONG.INP gồm các dòng: - Dòng đầu tiên là số phần thưởng N - N dòng tiếp theo lần lượt là giá trị của các phần thưởng. Dữ liệu ra: ghi ra file PTHUONG.OUT gồm các dòng: - Dòng đầu tiên ghi tổng giá trị lớn nhất của các phần thưởng đã chọn - Dòng tiếp theo ghi vị trí của các phần thưởng đã chọn theo thứ tự tăng dần. Ví dụ: PTHUONG.INP 5 6 9 1 3 5 PTHUONG.OUT 23 1245 PTHUONG.INP 7 6 9 1 3 5 10 4 PTHUONG.OUT 32 12467 Hoặc ----------HẾT---------- Họ và tên thí sinh: ....................................................... Số báo danh: .................................. Giám thị 1:................................................................... Ký tên: ........................................... Giám thị 2:................................................................... Ký tên: ........................................... Trang 2/5 SỞ GIÁO DỤC & ĐÀO TẠO KÌ THI CHỌN HỌC SINH GIỎI CẤP TỈNH NĂM HỌC 2010 – 2011 LÂM ĐỒNG HƯỚNG DẪN CHẤM ĐỀ CHÍNH THỨC Môn : TIN HỌC - THCS Ngày thi : 18/2/2011 Bài 1: (6 điểm) Có 6 bộ TEST, chạy đúng mỗi bộ cho 1 điểm. STT TEST.INP 1 3 3 15 3 9 55 4 6 76 1 2 2 3 4 15 10 8 8 55 4 6 2 76 9 12 7 3 3 4 15 10 8 8 55 4 6 2 76 9 12 8 4 45 11111 11111 11111 11111 5 TEST5INP (dữ liệu trên đĩa hướng dẫn chấm) 6 TEST6INP (dữ liệu trên đĩa hướng dẫn chấm) Bài 2: (7 điểm) Có 7 bộ TEST, chạy đúng mỗi bộ cho 1 điểm. STT TEST.INP 1 10 2 89 3 129 4 1000 5 11594 6 14930352 7 246854244 TEST.OUT (2,2); (1,4); (1,4); (3,4) (1,1); (1,2); (1,3); (1,4); (1,5); (2,1); (2,2); (2,3); (2,4); (2,5); (3,1); (3,2); (3,3); (3,4); (3,5); (4,1); (4,2); (4,3); (4,4); (4,5); Khong co phan tu yen ngua (6,1) TEST.OUT 10 = 8 + 2 89 = 89 129 = 89 + 34 + 5 + 1 1000 = 987 + 13 11594 = 10946 + 610 + 34 + 3 + 1 14930352 = 14930352 246854244 = 165580141 + 63245986 + 14930352 + 2178309 + 832040 + 75025 + 10946 + 987 + 377 + 55 + 21 +5 Bài 3: (7 điểm) Có 7 bộ TEST, chạy đúng mỗi bộ cho 1 điểm. Trang 3/5 STT 1 2 3 4 5 6 7 TEST.INP 5 6 9 1 3 5 7 6 9 1 3 5 10 4 5 2 2 2 2 2 100 1 2 3 4 ….. 99 100 3 1 2 3 5 1 0 3 0 4 10 1 6 3 20 4 23 4 57 TEST.OUT 23 1245 32 12467 8 1245 3400 1 3 4 6 7 9 10 12 13 15 16 18 19 21 22 24 25 27 28 30 31 33 34 36 37 39 40 42 43 45 46 48 49 51 52 54 55 57 58 60 61 63 64 66 67 69 70 72 73 75 76 78 79 81 82 84 85 87 88 90 91 93 94 96 97 99 100 5 23 8 135 241 1 2 4 6 7 9 10 Trang 4/5 87 100 -----HẾT----- Trang 5/5 SỞ GD&ĐT NINH BÌNH ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 9 THCS Năm học 2012 – 2013 MÔN:TIN HỌC (Thời gian làm bài 150 phút, không kể thời gian giao đề) Đề thi gồm 03 câu, trong 02 trang ĐỀ THI CHÍNH THỨC Yêu cầu kỹ thuật: * Các file chương trình và file dữ liệu được đặt tên chính xác như sau: Tên bài File bài làm Dữ liệu vào Dữ liệu ra Bài 1: Số siêu nguyên tố SNT.PAS SNT.INP SNT.OUT Bài 2: Trò chơi với băng số DIV.PAS Bài 3: Bài toán ô vuông SQUARE.PAS Bài 1: Số siêu nguyên tố (8 điểm) Time 2s DIV.INP DIV.OUT 2s SQUARE.INP SQUARE.OUT 2s File bài làm: SNT.PAS Tại Vương quốc Byte xinh đẹp, mỗi người luôn chọn cho mình một con số, theo họ số nguyên tố là số mang lại sự may mắn và ai tìm được một số siêu nguyên tố còn may mắn hơn nữa. Số siêu nguyên tố là một số nguyên tố mà khi bỏ 1 số tùy ý các chữ số bên phải của nó thì phần còn lại vẫn là 1 số nguyên tố. Số 2333 là 1 số siêu nguyên tố vì 2333 là một số nguyên tố và 233, 23, 2 cũng là các số nguyên tố. Dữ liệu vào: SNT.INP Chứa một số nguyên dương n (n ≤ 109) Dữ liệu ra: SNT.OUT Nếu N là siêu nguyên tố ghi giá trị 1, ngược lại ghi giá trị 0 Ví dụ: SNT.INP SNT.OUT SNT.INP SNT.OUT 2333 1 13 0 Bài 2. Trò chơi với băng số (8 điểm) File bài làm DIV.PAS Cho một băng số gồm n số nguyên dương, mỗi số được viết trên một ô. Hãy cắt băng số này thành nhiều đoạn nhất sao cho tổng các phần tử trong các đoạn là bằng nhau. Dữ liệu vào: DIV.INP + Dòng đầu ghi n (n ≤ 1000) + Dòng tiếp theo ghi n số nguyên dương a1, a2, ..., an (các số nằm trên một dòng cách nhau bởi một dấu cách ai ≤ 1000) Dữ liệu ra: DIV.OUT Ghi K là số đoạn cần chia. Ví dụ: 10 2 6 2 5 2 1 2 DIV.INP DIV.OUT 8 10 2 6 2 5 2 1 2 3 10 2 6 2 5 2 1 Giải thích Đoạn 1: 10 Đoạn 2: 2 + 6 + 2 =10 Đoạn 3: 5 + 2 + 1 + 2 = 10 Trang 1/ 2 2 Bài 3: Bài toán ô vuông (4 điểm) File bài làm: SQUARE.PAS Cho một bảng chữ nhật gồm m * n điểm (gồm m hàng ngang trên mỗi hàng có n điểm). Các điểm liền kề trên cùng một hàng hoặc một cột có thể được nối với nhau bởi một đoạn thẳng có kích thước bằng 1. Trên mỗi hàng có nhiều nhất n - 1 đoạn thẳng nằm ngang nối các điểm liền nhau, trên mỗi cột có nhiều nhất là m - 1 đoạn thẳng thẳng đứng nối các điểm liền nhau. Xem hình dưới: Ngang: 1 0 1 0 1 0 0 0 1 1 1 1 Dọc: 1 1 1 0 0 1 1 0 0 0 Với bảng trên ta có 3 hàng ngang mỗi hàng 5 điểm. Các đoạn thẳng nối chúng tạo nên 2 ô vuông. Để mô tả bảng người ta dùng hai mảng nhị phân: mảng Ngang diễn tả các đoạn thẳng nằm ngang, mảng Dọc biểu diễn các đoạn thẳng thẳng đứng. Trong các mảng, số 1 diễn tả có đoạn thẳng nối hai điểm liên tiếp, số 0 diễn tả không có đoạn thẳng nối hai điểm liên tiếp. Yêu cầu: Lập trình đếm số lượng các ô vuông mà cạnh có độ dài bằng 1 tạo bởi các đoạn nối có trên bảng đã cho. Dữ liệu vào: SQUARE.INP + Dòng đầu tiên gồm 2 số nguyên dương lần lượt là m, n (m, n ≤ 1000). Hai số cách nhau một khoảng trắng. + m dòng tiếp theo diễn tả các đoạn thẳng nằm ngang (như bảng ngang mô tả ở phần trên). Hai số liền nhau cách nhau một khoảng trắng. + m - 1 dòng tiếp theo diễn tả các đoạn thẳng thẳng đứng (như bảng dọc mô tả ở phần trên). Hai số liền nhau cách nhau một khoảng trắng. Dữ liệu ra : SQUARE.OUT + Số lượng ô vuông có độ dài cạnh bằng 1. Ví dụ: SQUARE.INP SQUARE.OUT 3 5 2 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 0 -----HẾT----Họ và tên thí sinh :....................................................... Số báo danh ............................. Họ và tên, chữ ký: Giám thị 1:........................................................................................ Họ và tên, chữ ký: Giám thị 2:........................................................................................ Trang 2/ 2 SỞ GD&ĐT NINH BÌNH HDC ĐỀ THI CHỌN HSG LỚP 9 THCS Năm học 2012 – 2013 MÔN: Tin học (Hướng dẫn chấm gồm 03 trang) I. HƯỚNG DẪN CHUNG Chấm tự động bằng phần mềm AMM2 với các bộ test có sẵn trên đĩa CD. II. ĐÁP ÁN VÀ THANG ĐIỂM 1. Cấu trúc bộ test và thang điểm Bài Test Gồm 16 bộ test, mỗi bộ 0.5 điểm. Bài 1 Gồm 16 bộ test, mỗi bộ 0.5 điểm. Bài 2 Gồm 16 bộ test, mỗi bộ 0.25 điểm. Bài 3 2. Đáp án Điểm 8 điểm 8 điểm 4 điểm -----------Hết----------- Bài 1: Const fi = 'SNT.INP'; Fo = 'SNT.OUT'; var n: longint; f:text; kq: boolean; function nt(n: longint):boolean; var i: longint; begin if n<2 then exit(false); if n=2 then exit(true); for i:=2 to trunc(sqrt(n)) do if n mod i = 0 then exit(false); exit(true); end; begin assign(f,fi); reset(f); readln(f,n); close(f); kq:= true; while n<>0 do begin kq:= kq and nt(n); n:= n div 10; end; assign (f,fo); rewrite(f); if kq then write(f,'1') else write(f,'0'); close(f); end. Bài 2: const Trang 3/ 2 tfi='DIV.INP'; tfo='DIV.OUT'; var n: longint; a, s: array[0..1001] of longint; res: longint; function ok(t: longint): boolean; var i,u,tong: longint; begin tong:=0; for i:=1 to n do if a[i]<>0 then begin tong:=tong+a[i]; if tong=t then tong:=0; end; exit(tong=0); end; procedure main; var j,u,i,k,t: longint; begin assign(input,tfi); reset(input); assign(output,tfo); rewrite(output); read(n); for i:=1 to n do read(a[i]); s[0]:=0; for i:=1 to n do s[i]:=s[i-1]+a[i]; for k:=n downto 1 do if s[n] mod k=0 then begin t:=s[n] div k; if ok(t) then begin res:=k; break; end; end; writeln(res); close(input); close(output); end; BEGIN main; END. Bài 3 const fi='SQUARE.INP'; fo='SQUARE.OUT'; var f:text; a,nga,doc:array[1..1000,1..1000] of integer; Trang 4/ 2 i,m,n,d,j:integer; procedure nhap; var i,j:integer; begin assign(f,fi); reset(f); readln(f,m,n); for i:=1 to m do begin for j:=1 to n-1 do read(f,nga[i,j]); readln(f); end; for i:=1 to m-1 do begin for j:=1 to n do read(f,doc[i,j]); readln(f); end; end; begin nhap; d:=0; for i:=1 to m-1 do for j:=1 to n-1 do if nga[i,j]+nga[i+1,j]+doc[i,j]+doc[i,j+1]=4 then inc(d); assign(f,fo); rewrite(f); write(f,d); close(f); end. Trang 5/ 2 Së Gd&§t Qu¶ng b×nh §Ò thi chÝnh thøc Sè B¸o Danh: ............ kú thi CHäN häc sinh giái líp 9 tHCS n¨m häc 2012- 2013 M«n thi: tin häc (Khãa thi ngµy 27 th¸ng 3 n¨m 2013) Thêi gian lµm bµi: 150 phót (kh«ng kÓ thêi gian giao ®Ò) (Đề thi gồm có 02 trang) ĐỀ RA Sử dụng ngôn ngữ lập trình Turbo Pascal để lập trình giải các bài toán sau: Câu 1: (3,0 điểm) Phần thưởng PT.PAS Trong cuộc thi giải toán qua mạng internet mỗi học sinh đều có số điểm tích lũy riêng của mình. Số điểm tích lũy của mỗi học sinh là một số nguyên dương K (0 < K ≤ 2×109). Đội tuyển của trường THCS Tài Năng có N học sinh tham gia dự thi (2 ≤ N ≤ 100). Tại buổi gặp mặt trước kỳ thi cấp tỉnh, thầy hiệu trưởng quyết định thưởng cho các học sinh trong đội tuyển Q triệu đồng, biết rằng điểm tích lũy của mỗi học sinh đều chia hết cho Q. Yêu cầu: Hãy tìm số nguyên dương Q lớn nhất. Dữ liệu vào: Cho trong file văn bản PT.INP có cấu trúc như sau: - Dòng 1: Ghi số nguyên dương N là số lượng học sinh. - Dòng 2: Ghi N số nguyên dương lần lượt là điểm tích lũy của N học sinh, các số được ghi cách nhau ít nhất một dấu cách. Dữ liệu ra: Ghi ra file văn bản PT.OUT theo cấu trúc như sau: - Dòng 1: Ghi số nguyên dương Q tìm được. Ví dụ: PT.INP PT.OUT 5 3 15 24 45 36 27 Thời gian thực hiện chương trình không quá 1 giây cho mỗi bộ dữ liệu vào. Câu 2: (3,5 điểm) Mật khẩu MK.PAS Cu Tí thường xuyên tham gia thi lập trình trên mạng. Vì đạt được thành tích cao nên Tí được gửi tặng một phần mềm diệt virus. Nhà sản xuất phần mềm cung cấp cho Tí một mã số là một số nguyên dương N có không quá 255 chữ số. Để cài đặt được phần mềm, Tí phải nhập vào mật khẩu của phần mềm. Mật khẩu là một số nguyên dương M được tạo ra bằng cách tính tổng giá trị các chữ số của N. Yêu cầu: Hãy tìm số nguyên dương M. Dữ liệu vào: Cho trong file văn bản MK.INP có cấu trúc như sau: - Dòng 1: Ghi số nguyên dương N. Dữ liệu ra: Ghi ra file văn bản MK.OUT theo cấu trúc như sau: - Dòng 1: Ghi số nguyên dương M tìm được. Ví dụ: MK.INP MK.OUT 84915388247 59 1/2
- Xem thêm -