Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
0,93 MB
Nội dung
PHÒNG GIÁO DỤC VÀ ĐÀO TẠO HUYỆN LAI VUNG KỲ THI CHỌN HỌC SINH GIỎI LỚP NĂM HỌC 2015 – 2016 ĐỀ CHÍNH THỨC MƠN THI: TIN HỌC Thời gian làm bài: 150 phút Ngày thi: 17/01/2016 Họ tên thí sinh: Số báo danh: Chữ ký giám thị 1: Chữ ký giám thị 2: NỘI DUNG ĐỀ THI (Đề thi có 02 trang, gồm 3bài) Hạn chế kỹ thuật: Thời gian thực chương trình khơng q giây BÀI (7 điểm) GIA CÔNG SẢN PHẦM Một sở sản xuất hàng thủ công mỹ nghệ vừa nhận đơn đặt hàng gia công n sản phẩm Với số lượng đặt hàng lớn vậy, sở huy động hết tồn cơng nhân bắt tay vào làm Tuy nhiên lại sản phẩm nên ngày sở làm k sản phẩm Sang ngày thứ hai, công nhân thành thạo nên số sản phẩm làm nhiều gấp đôi ngày thứ Và vậy, suất ngày hôm sau lại cao gấp đôi ngày hôm trước Yêu cầu: Hãy cho biết sở cần ngày để hoàn thành hết n sản phẩm? Dữ liệu vào: Nhập từ bàn phím số nguyên n, k (1≤n,k≤100000) Giả thiết liệu nhập đúng, không cần kiểm tra Kết ra: Xuất hình số ngày hồn thành sản phẩm theo đơn đặt hàng Ví dụ : Nhập từ bàn phím Số sản phẩm đặt hàng = 11 Số sản phẩm sản xuất ngày = Xuất hình Số ngày hồn thành = Giải thích: - Ngày thứ làm sản phẩm (còn lại sản phẩm) - Ngày thứ hai làm sản phẩm (tổng cộng 6, lại sản phẩm) - Ngày thứ ba làm sản phẩm làm sản phẩm lại BÀI (6 điểm) DÃY KÝ TỰ SỐ Bạn Nam u thích lập trình, gặp tốn khó bạn cố gắng để giải cho xong Có lần, lúc suy nghĩ toán, tay bạn lại gõ ngẫu nhiên phím bàn phím, đến nhìn lại hình dãy ký tự Kỳ lạ thay, gõ ngẫu nhiên khơng nhìn bàn phím có lúc bạn tồn gõ vào phím số Yêu cầu: Cho xâu ký tự S dãy ký tự mà bạn Nam gõ vào, cho biết bạn Nam gõ liên tiếp phím số nhiều lần? Dữ liệu vào: Cho từ tệp văn có tên BL2.INP gồm dịng chứa xâu ký tự S (độ dài xâu không 250 ký tự) Kết quả: Ghi tệp văn có tên BL2.OUT có dạng: - Dòng đầu ghi số lần nhiều mà bạn Nam gõ liên tiếp phím số - Nếu có ký tự số gõ vào dịng thứ hai ghi dãy số mà bạn nam gõ liên tiếp nhiều Nếu có nhiều dãy có số lần gõ nhiều in dãy Ví dụ: BL2.INP azp572gkxt8906dqsh13dj BL2.OUT 8906 BÀI (7 điểm) CHẠY TIẾP SỨC Trong kỳ thi hội khỏe phù cấp huyện vừa qua có n vận động viên tham gia chạy ngắn, vận động viên đánh số báo danh từ đến n Kết thời gian chạy vận động viên thứ i ti (miligiây) Để chuẩn bị cho môn chạy tiếp sức kỳ thi hội khỏe phù cấp tỉnh, ban huấn luyện muốn chọn vận động viên chạy nhanh số n vận động viên Yêu cầu: Hãy cho biết số báo danh vận động viên chọn Biết khơng có hai vận động viên có thành tích Dữ liệu vào: Cho từ tệp văn có tên BL3.INP có dạng sau: - Dịng ghi số nguyên n (4≤n≤1000) - n dòng tiếp theo, dòng thứ i ghi số nguyên dương ti thời gian chạy vận động viên thứ i ( ti ≤ 30000, i=1 n) Kết quả: Ghi tệp văn có tên BL3.OUT gồm dòng ghi số nguyên tương ứng số báo danh vận động viên chọn (không cần ghi theo thứ tự) Các số dịng ghi cách dấu cách Ví dụ: BL3.INP 13000 9800 10200 11500 10060 12050 11200 BL3.OUT 2357 - HẾT Lưu ý: Thí sinh khơng sử dụng tài liệu Giám thị khơng giải thích thêm PHỊNG GIÁO DỤC VÀ ĐÀO TẠO HUYỆN LAI VUNG Hướng dẫn chấm gồm 03 trang HƯỚNG DẪN CHẤM VÀ THANG ĐIỂM KỲ THI CHỌN HỌC SINH GIỎI LỚP NĂM HỌC 2015 – 2016 MÔN: TIN HỌC BÀI (7 điểm) GIA CƠNG SẢN PHẨM a Thuật tốn: Dùng cấu trúc lặp tăng dần để đếm số ngày b Chương trình tham khảo: Program BL1; Var n,k,S,dem:Longint; Begin Write('So san pham dat hang = '); Readln(n); Write('So san pham san xuat dau tien = '); Readln(k); S:=0; dem:=0; While S='0') and (S[i]max then Begin max:=dem; vitri:=i; End; End Else dem:=0; Assign(f,fout); ReWrite(f); Writeln(f,max); Write(f,Copy(S,vitri-max+1,max)); Close(f); End c Bộ TEST: TEST Dữ liệu nhập Kết sjdh25jsh00491sadjh2763smdajk 00491 skldjl;a s';asdl'askasjdfajsj sjdh;';7634re57834dfg57346gfh738947fkjash 3987ueirtjkdf,./l834782342907jshjlhk 12 834782342907 nb3478jdf348jgfh9038fgj348975dkj0-347dfg 83475jkfjk89-\=-aksdjh347jh000000000jksh 000000000 07304657018963457627456 23 07304657018963457627456 hjhdf346576347895hjfgsdasdjklh8930247508 3740fghjdfhgjkdhfjk5389034750834750-812 ajkgjksdf12389374508723489057346587413 67jhjk32762637ghsdgfsd7826789623457862 3478gsdgfhjsdggduyrtpy76789165789165018 6jhkjlasdggfhjasdgy576157645gfsgdfhlsgadfl 3478gwdhjsdhsa 31 123893745087234890573465874 1367 Điểm 0,5 0,5 1,0 0,5 0,5 0,5 0,5 0,5 0,5 0,5 0,5 BÀI (7 điểm) CHẠY TIẾP SỨC a Thuật toán: Sắp xếp dãy t theo thứ tự tăng dần chọn phần tử đầu Lưu ý xếp lưu lại số báo danh vận động viên b Chương trình tham khảo: Program BL3; Const fin = 'BL31.INP'; fout= 'BL31.OUT'; Var t,sbd:Array[1 1000] of Integer; n,i,j,tam:Integer; f:Text; Begin Assign(f,fin); Reset(f); Readln(f,n); For i:=1 to n Readln(f,t[i]); Close(f); For i:=1 to n sbd[i]:=i; For i:=1 to For j:=i+1 to n If t[i]>t[j] then Begin tam:=t[i]; t[i]:=t[j]; t[j]:=tam; tam:=sbd[i]; sbd[i]:=sbd[j]; sbd[j]:=tam; End; Assign(f,fout); ReWrite(f); For i:=1 to Write(f,sbd[i],' '); Close(f); End c Bộ TEST: Các liệu nhập xem file BL3.INP TEST File Input BL31.INP BL32.INP BL33.INP BL34.INP BL35.INP BL36.INP BL37.INP BL3.OUT 10 12 14 16 33 66 97 67 130 178 195 262 369 398 524 15 358 536 598 116 211 511 736 83 168 713 937 -Hết - Điểm 1,0 1,0 1,0 1,0 1,0 1,0 1,0 PHÒNG GIÁO DỤC VÀ ĐÀO TẠO HUYỆN LAI VUNG KỲ THI CHỌN HỌC SINH GIỎI LỚP NĂM HỌC 2016 – 2017 ĐỀ CHÍNH THỨC MƠN THI: TIN HỌC Thời gian làm bài: 150 phút Ngày thi: 15/01/2017 Họ tên thí sinh: Số báo danh: Chữ ký giám thị 1: Chữ ký giám thị 2: Tổng quan đề thi: Bài Tên tệp chương trình Bài BL1.PAS Bài BL2.PAS Bài BL3.PAS Dữ liệu vào Nhập từ bàn phím BL2.INP BL3.INP Kết Xuất hình BL2.OUT BL3.OUT Hạn chế kỹ thuật: Thời gian thực chương trình khơng giây BÀI (7,0 điểm) ĐÁNH SỐ Để quản lý xanh dọc theo đường trung tâm thành phố, công ty xanh tiến hành đánh số cho Tuy nhiên công ty không đánh số liên tiếp từ đến hết mà đánh số theo cách sau: tính từ đầu đường đánh số 1, hai đánh số 2, ba đánh số 3, xanh cuối đường Yêu cầu: Hãy cho biết xanh thứ N tính từ đầu đường đánh số bao nhiêu? Dữ liệu vào: Nhập từ bàn phím số nguyên dương N (1N109) Kết ra: Xuất hình số đánh xanh thứ N Ví dụ: Nhập từ bàn phím Nhap N = 12 Xuất hình So tren cay la : Giải thích: Các đánh số lần lượt: 2 3 4 4 5 5 6 BÀI (6,0 điểm) MẬT KHẨU Cu Tí thường xun tham gia thi lập trình mạng Vì đạt thành tích cao nên Tí gửi tặng phần mềm diệt virus Nhà sản xuất phần mềm cung cấp cho Tí mã số dãy gồm ba chữ số ngăn cách dấu chấm có chiều dài khơng q 255 (kể chữ số dấu chấm) Để cài đặt phần mềm, Tí phải nhập vào mật phần mềm Mật số nguyên dương M tạo cách tính tổng giá trị ba chữ số dãy mã số, ba đọc từ phải sang trái Yêu cầu: Cho biết mã số phần mềm, tìm mật phần mềm Dữ liệu vào: Cho từ tệp văn có tên BL2.INP gồm dịng chứa xâu ký tự S (độ dài xâu khơng 255 ký tự) mã số phần mềm Kết quả: Ghi tệp văn có tên BL2.OUT gồm số ngun mật tìm Ví dụ: BL2.INP 218.042.693 BL2.OUT 1448 Giải thích: Mật 1448 tổng số 812 + 240 + 396 BÀI (7,0 điểm) TRÒ CHƠI VỚI BĂNG SỐ Trên cuộn giấy dài, người ta viết N số nguyên dương, giá trị số không vượt 106 Yêu cầu: Hãy cắt cuộn giấy thành nhiều đoạn cho tổng số viết đoạn Dữ liệu vào: Cho từ tệp văn có tên BL3.INP có dạng sau: - Dịng ghi số nguyên dương N (1≤N≤103) - Dòng thứ hai ghi N số nguyên theo thứ tự số viết cuộn giấy, số nguyên cách dấu cách Kết quả: Ghi tệp văn có tên BL3.OUT gồm dịng ghi số nguyên số đoạn nhiều chia Ví dụ: BL3.INP 10 2 BL3.OUT Giải thích: + Đoạn 1: 10 + Đoạn 2: + + =10 + Đoạn 3: + + + = 10 - HẾT Lưu ý: Thí sinh khơng sử dụng tài liệu Giám thị khơng giải thích thêm PHỊNG GIÁO DỤC VÀ ĐÀO TẠO HUYỆN LAI VUNG Hướng dẫn chấm gồm 04 trang HƯỚNG DẪN CHẤM ĐỀ CHÍNH THỨC KỲ THI CHỌN HỌC SINH GIỎI LỚP NĂM HỌC 2016 – 2017 MÔN: TIN HỌC I HƯỚNG DẪN CHUNG: Bài thi chấm thủ công theo TEST Thời gian thực chương trình khơng q giây Bộ TEST chấm lưu đĩa kèm theo Giám khảo chấm khơng cịn lỗi sửa đường dẫn, tên tệp liệu vào, tên tệp liệu để phù hợp với TEST chấm Việc chi tiết hóa thang điểm (nếu có) hướng dẫn xử lý trường hợp đặc biệt phải đảm bảo không làm sai lệch hướng dẫn chấm thực thống tổ chấm II HƯỚNG DẪN CHẤM VÀ THANG ĐIỂM: BÀI (7,0 điểm) ĐÁNH SỐ a Thuật toán: Cách 1: Lần lượt chạy vòng lặp theo số đánh tính tổng cộng dồn tổng lớn N Cách 2: Giả sử cần tìm đánh số x (x>0) Ta có tổng số từ đầu đến cuối đánh số x là: 1+2+3+ +x = x(x+1)/2 Vì thứ N đánh số x nên ta phải có x(x+1)/2 N x2 + x -2N 1 N 1 N (loại) x 2 1 N Kết luận: x số tự nhiên nhỏ cho x x b Chương trình tham khảo (theo cách 1): Program BL1; Var S,N,x:Longint; Begin Write('Nhap N = '); Readln(N); x:=0; S:=0; Repeat x:=x+1; S:=S+x; Until S>=N; Writeln('So tren cay la : ',x); Readln; End c Bộ TEST: TEST Dữ liệu nhập N= 579 N= 32.961 N= 173.526 N= 8.095.217 N= 67.430.291 N = 524.891.327 N = 1.000.000.000 Kết 34 257 589 4024 11613 32400 44721 Điểm 1,0 1,0 1,0 1,0 1,0 1,0 1,0 BÀI (6,0 điểm) MẬT KHẨU a Thuật toán: Duyệt xâu đổi sang số tính tổng Chú ý tùy theo cách duyệt cần phải xóa khoảng trống đầu cuối xâu trước duyệt b Chương trình tham khảo: Program BL2; Const fin ='BL2.INP'; fout='BL2.OUT'; Var S:String; i,Sum,T:Longint; f:Text; Begin Assign(f,fin); Reset(f); Read(f,S); Close(f); Sum:=0; T:=0; For i:=Length(S) downto If S[i] in ['0' '9'] then T:=T*10+(ord(S[i])-48) Else Begin Sum:=Sum+T; T:=0; End; Sum:=Sum+T; Assign(f,fout); ReWrite(f); Write(f,Sum); Close(f); End c Bộ TEST: TES T Dữ liệu nhập 945.395.517.448.306 875.720.262.005.191.989.046.750.847.511 416.220.879.339.665.810.071.482.893.204 744.013.804.876.593.166.731.071.573.30 9.480.629.372.168.026.887.041.346.356.9 49.243.683.333.990.568.589.628 536.907.107.894.210.662.929.902.510.405 119.832.359.395.658.907.450.755.651.38 1.665.816.800.188.917.383.316.602.892.4 33.072.543.781.165.664.780.473.917.425 873.551.278.532.319.495 289.722.600.645.749.758.561.584.341.169 005.518.253.572.184.001.605.478.598.51 4.492.060.361.923.280.077.692.747.042.6 85.727.535.377.860.564.876.328.342.562 952.507.564.391.623.224.159.035.441.998 833 446.575.386.028.883.765.533.297.268.080 794.835.604.008.103.785.181.552.223.96 5.866.319.186.812.575.793.764.164.146.1 41.913.071.498.290.595.372.171.035.540 457.148.915.316.821.358.980.317.920.455 792.609.693.484.881.136.489.643.470.75 7.904 Kết Điểm 3304 4107 18642 1,0 1,0 1,0 20994 1,0 23908 1,0 29018 1,0 BÀI (7,0 điểm) TRỊ CHƠI VỚI BĂNG SỐ a Thuật tốn: Tính tổng phần tử dãy, sau xét giá trị ước tổng Để ý ta chia tối đa thành N phần ta xét từ N trở xuống, khơng cần phải xét tất ước tổng b Chương trình tham khảo: Program BL3; Const fin ='BL3.INP'; fout='BL3.OUT'; Var a:array[1 1000] of Longint; N,K,i,S,tong:Longint; f:Text; Begin Assign(f,fin); Reset(f); Readln(f,N); Writeln('So tren cay la : ',x); Readln; End c Bộ TEST: TEST Dữ liệu nhập N= 579 N= 32.961 N= 173.526 N= 8.095.217 N= 67.430.291 N = 524.891.327 N = 1.000.000.000 Kết 34 257 589 4024 11613 32400 44721 Điểm 1,0 1,0 1,0 1,0 1,0 1,0 1,0 BÀI (6,0 điểm) MẬT KHẨU a Thuật toán: Duyệt xâu đổi sang số tính tổng Chú ý tùy theo cách duyệt cần phải xóa khoảng trống đầu cuối xâu trước duyệt b Chương trình tham khảo: Program BL2; Const fin ='BL2.INP'; fout='BL2.OUT'; Var S:String; i,Sum,T:Longint; f:Text; Begin Assign(f,fin); Reset(f); Read(f,S); Close(f); Sum:=0; T:=0; For i:=Length(S) downto If S[i] in ['0' '9'] then T:=T*10+(ord(S[i])-48) Else Begin Sum:=Sum+T; T:=0; End; Sum:=Sum+T; Assign(f,fout); ReWrite(f); Write(f,Sum); Close(f); End c Bộ TEST: TES T Dữ liệu nhập 945.395.517.448.306 875.720.262.005.191.989.046.750.847.511 416.220.879.339.665.810.071.482.893.204 744.013.804.876.593.166.731.071.573.30 9.480.629.372.168.026.887.041.346.356.9 49.243.683.333.990.568.589.628 536.907.107.894.210.662.929.902.510.405 119.832.359.395.658.907.450.755.651.38 1.665.816.800.188.917.383.316.602.892.4 33.072.543.781.165.664.780.473.917.425 873.551.278.532.319.495 289.722.600.645.749.758.561.584.341.169 005.518.253.572.184.001.605.478.598.51 4.492.060.361.923.280.077.692.747.042.6 85.727.535.377.860.564.876.328.342.562 952.507.564.391.623.224.159.035.441.998 833 446.575.386.028.883.765.533.297.268.080 794.835.604.008.103.785.181.552.223.96 5.866.319.186.812.575.793.764.164.146.1 41.913.071.498.290.595.372.171.035.540 457.148.915.316.821.358.980.317.920.455 792.609.693.484.881.136.489.643.470.75 7.904 Kết Điểm 3304 4107 18642 1,0 1,0 1,0 20994 1,0 23908 1,0 29018 1,0 BÀI (7,0 điểm) TRÒ CHƠI VỚI BĂNG SỐ a Thuật tốn: Tính tổng phần tử dãy, sau xét giá trị ước tổng Để ý ta chia tối đa thành N phần ta xét từ N trở xuống, không cần phải xét tất ước tổng b Chương trình tham khảo: Program BL3; Const fin ='BL3.INP'; fout='BL3.OUT'; Var a:array[1 1000] of Longint; N,K,i,S,tong:Longint; f:Text; Begin Assign(f,fin); Reset(f); Readln(f,N); For i:=1 to N Read(f,a[i]); Close(f); S:=0; For i:=1 to N S:=S+a[i]; For K:=N downto If S mod K=0 then Begin tong:=0; For i:=1 to n Begin tong:=tong+a[i]; If tong=S div K then tong:=0; End; If tong=0 then Break; End; Assign(f,fout); ReWrite(f); Write(f,K); Close(f); End c Bộ TEST: Các liệu nhập xem file BL3.INP TEST File Input BL31.INP BL32.INP BL33.INP BL34.INP BL35.INP BL36.INP BL37.INP BL3.OUT 7 1000 -HẾT - Điểm 1,0 1,0 1,0 1,0 1,0 1,0 1,0 PHÒNG GIÁO DỤC VÀ ĐÀO TẠO HUYỆN LAI VUNG KỲ THI CHỌN HỌC SINH GIỎI LỚP NĂM HỌC 2015 – 2016 ĐỀ CHÍNH THỨC MƠN THI: TIN HỌC Thời gian làm bài: 150 phút Ngày thi: 17/01/2016 Họ tên thí sinh: Số báo danh: Chữ ký giám thị 1: Chữ ký giám thị 2: NỘI DUNG ĐỀ THI (Đề thi có 02 trang, gồm 3bài) Hạn chế kỹ thuật: Thời gian thực chương trình khơng q giây BÀI (7 điểm) GIA CÔNG SẢN PHẦM Một sở sản xuất hàng thủ công mỹ nghệ vừa nhận đơn đặt hàng gia công n sản phẩm Với số lượng đặt hàng lớn vậy, sở huy động hết tồn cơng nhân bắt tay vào làm Tuy nhiên lại sản phẩm nên ngày sở làm k sản phẩm Sang ngày thứ hai, công nhân thành thạo nên số sản phẩm làm nhiều gấp đôi ngày thứ Và vậy, suất ngày hôm sau lại cao gấp đôi ngày hôm trước Yêu cầu: Hãy cho biết sở cần ngày để hoàn thành hết n sản phẩm? Dữ liệu vào: Nhập từ bàn phím số nguyên n, k (1≤n,k≤100000) Giả thiết liệu nhập đúng, không cần kiểm tra Kết ra: Xuất hình số ngày hồn thành sản phẩm theo đơn đặt hàng Ví dụ : Nhập từ bàn phím Số sản phẩm đặt hàng = 11 Số sản phẩm sản xuất ngày = Xuất hình Số ngày hồn thành = Giải thích: - Ngày thứ làm sản phẩm (còn lại sản phẩm) - Ngày thứ hai làm sản phẩm (tổng cộng 6, lại sản phẩm) ... 875.720.262.005. 191 .98 9.046.750.847.511 416.220.8 79. 3 39. 665.810.071.482. 893 .204 744.013.804.876. 593 .166.731.071.573.30 9. 480.6 29. 372.168.026.887.041.346.356 .9 49. 243.683.333 .99 0.568.5 89. 628 536 .90 7.107. 894 .210.662 .92 9 .90 2.510.405... 875.720.262.005. 191 .98 9.046.750.847.511 416.220.8 79. 3 39. 665.810.071.482. 893 .204 744.013.804.876. 593 .166.731.071.573.30 9. 480.6 29. 372.168.026.887.041.346.356 .9 49. 243.683.333 .99 0.568.5 89. 628 536 .90 7.107. 894 .210.662 .92 9 .90 2.510.405... 446.575.386.028.883.765.533. 297 .268.080 794 .835.604.008.103.785.181.552.223 .96 5.866.3 19. 186.812.575. 793 .764.164.146.1 41 .91 3.071. 498 . 290 . 595 .372.171.035.540 457.148 .91 5.316.821.358 .98 0.317 .92 0.455 792 .6 09. 693 .484.881.136.4 89. 643.470.75