Đề thi chọn học sinh giỏi môn Tin học Lớp 8 - Năm học 2014-2015 - Phòng GD và ĐT Lai Vung (Có đáp án)
BÀI 3. (5 điểm) KHOẢNG CÁCH
Trong soạn thảo văn bản, theo quy ước giữa các từ chỉ nên cách nhau bằng một khoảng cách. Tuy nhiên trên thực tế vẫn có những trường hợp ngoại lệ.
Yêu cầu: Cho trước một xâu ký tự S chỉ gồm các chữ cái và các khoảng cách. Hãy cho biết có nhiều nhất bao nhiêu khoảng cách đi liền nhau trong xâu S.
Dữ liệu vào: Cho từ tệp văn bản có tên BL3.INP gồm một dòng ghi xâu S (độ dài xâu không quá 250 ký tự).
Kết quả: Ghi ra tệp văn bản có tên BL3.OUT gồm một số nguyên duy nhất là số khoảng cách nhiều nhất đi liền nhau.
Ví dụ:
Giải thích: trong ví dụ trên, ký hiệu tượng trưng cho một khoảng cách.
Bạn đang xem tài liệu "Đề thi chọn học sinh giỏi môn Tin học Lớp 8 - Năm học 2014-2015 - Phòng GD và ĐT Lai Vung (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_chon_hoc_sinh_gioi_mon_tin_hoc_lop_8_nam_hoc_2014_201.pdf
Nội dung text: Đề thi chọn học sinh giỏi môn Tin học Lớp 8 - Năm học 2014-2015 - Phòng GD và ĐT Lai Vung (Có đáp án)
- PHÒNG GIÁO DỤC VÀ ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI LỚP 8 HUYỆN LAI VUNG NĂM HỌC 2014 – 2015 ĐỀ CHÍNH THỨC MÔN THI: TIN HỌC Thời gian: 150 phút (không kể thời gian giao đề) (Đề thi gồm 02 trang) Ngày thi: 31/05/2015 Tổng quan đề thi: Bài Tên tệp chương trình Dữ liệu vào Kết quả ra Bài 1 BL1.PAS Nhập từ bàn phím Xuất ra màn hình Bài 2 BL2.PAS Nhập từ bàn phím Xuất ra màn hình Bài 3 BL3.PAS BL3.INP BL3.OUT Bài 4 BL4.PAS BL4.INP BL4.OUT Hạn chế kỹ thuật: Thời gian thực hiện chương trình không quá 5 giây BÀI 1. (5 điểm) CÁC MÙA TRONG NĂM Theo truyền thống, các mùa trong năm ở Bắc bán cầu được phân chia như sau: - Mùa xuân: gồm toàn bộ các tháng Hai, Ba, Tư. - Mùa hạ: gồm toàn bộ các tháng Năm, Sáu, Bảy. - Mùa thu: gồm toàn bộ các tháng Tám, Chín, Mười. - Mùa đông: gồm toàn bộ các tháng Mười một, Mười hai và tháng Giêng. Yêu cầu: Với một tháng t cho trước (1 t 12), hãy cho biết tháng đó thuộc mùa nào ở Bắc bán cầu. Dữ liệu vào: Nhập từ bàn phím giá trị t. Giả thiết dữ liệu được nhập đúng, không cần kiểm tra. Kết quả ra: Xuất ra màn hình mùa tương ứng với tháng t. Ví dụ: Nhập từ bàn phím Xuất ra màn hình Nhap thang t = 6 Mua Ha BÀI 2. (5 điểm) CẮT BÁNH Hôm nay lớp 3A tổ chức liên hoan cuối năm. Cô giáo chủ nhiệm mua những chiếc bánh rất ngon và cắt ra cho mỗi em một phần. Để thưởng cho các học sinh đạt loại giỏi cả năm, cô giáo quyết định chia cho các em này những phần bánh to hơn những bạn khác. Mỗi chiếc bánh có thể được cắt ra thành 3 phần hoặc cắt thành 5 phần. Biết rằng lớp 3A có n học sinh và số chiếc bánh mà cô giáo chủ nhiệm mua là m chiếc. Sau khi cắt bánh và chia ra thì mỗi em học sinh nhận đúng một phần bánh không dư không thiếu. Yêu cầu: Hãy cho biết lớp 3A có bao nhiêu học sinh đạt loại giỏi cả năm? Dữ liệu vào: Nhập từ bàn phím hai số nguyên dương n và m (1≤n,m≤100) Kết quả ra: Xuất ra màn hình số học sinh giỏi cả năm của lớp 3A. Nếu có nhiều phương án thì chỉ chọn phương án có nhiều học sinh giỏi nhất. Ví dụ: Nhập từ bàn phím Xuất ra màn hình Nhap so hoc sinh: 46 So hoc sinh loai gioi: 36 Nhap so chiec banh: 14
- Giải thích: Lấy 12 chiếc bánh chia mỗi chiếc thành 3 phần được 36 phần cho 36 học sinh giỏi, còn 2 chiếc bánh chia mỗi chiếc thành 5 phần được 10 phần cho 10 bạn còn lại. BÀI 3. (5 điểm) KHOẢNG CÁCH Trong soạn thảo văn bản, theo quy ước giữa các từ chỉ nên cách nhau bằng một khoảng cách. Tuy nhiên trên thực tế vẫn có những trường hợp ngoại lệ. Yêu cầu: Cho trước một xâu ký tự S chỉ gồm các chữ cái và các khoảng cách. Hãy cho biết có nhiều nhất bao nhiêu khoảng cách đi liền nhau trong xâu S. Dữ liệu vào: Cho từ tệp văn bản có tên BL3.INP gồm một dòng ghi xâu S (độ dài xâu không quá 250 ký tự). Kết quả: Ghi ra tệp văn bản có tên BL3.OUT gồm một số nguyên duy nhất là số khoảng cách nhiều nhất đi liền nhau. Ví dụ: BL3.INP BL3.OUT thuchanhtinhoc 5 Giải thích: trong ví dụ trên, ký hiệu tượng trưng cho một khoảng cách. BÀI 4. (5 điểm) DÃY TĂNG Một dãy số a1, a2, , an được gọi là dãy tăng nếu như nó thỏa điều kiện: a1 < a2 < < an Yêu cầu: Cho dãy số nguyên a1, a2, , an . Hãy cho biết dãy số này có phải là dãy tăng hay không? Nếu không phải dãy tăng thì hãy cho biết chỉ số k nhỏ nhất của phần tử làm cho dãy không có tính chất của dãy tăng. Dữ liệu vào: Cho từ tệp văn bản có tên BL4.INP có dạng như sau: - Dòng đầu tiên ghi số nguyên n (1<n≤1000) - Dòng thứ hai ghi dãy n số nguyên a1, a2, , an (-1000 ≤ ai ≤ 1000, i=1 n) Kết quả: Ghi ra tệp văn bản có tên BL4.OUT gồm một số nguyên duy nhất k. Trường hợp dãy đã cho là dãy tăng thì ghi số 0. Ví dụ 1: BL4.INP BL4.OUT 6 0 2 7 10 18 25 41 Ví dụ 2: BL4.INP BL4.OUT 8 4 3 6 10 7 15 20 18 12 HẾT Họ và tên thí sinh: Số báo danh: Chữ ký của giám thị 1: Chữ ký của giám thị 2: Lưu ý: Thí sinh không được sử dụng tài liệu. Giám thị không giải thích gì thêm.
- UBND HUYỆN LAI VUNG KỲ THI HỌC SINH GIỎI VÒNG HUYỆN PHÒNG GIÁO DỤC VÀ ĐÀO TẠO LỚP 8 THCS - NĂM HỌC 2014-2015 HƯỚNG DẪN CHẤM ĐỀ THI CHÍNH THỨC Môn: TIN HỌC Ngày thi: 31/05/2015 BÀI 1. (5 điểm) CÁC MÙA TRONG NĂM a. Thuật toán: Dùng lệnh IF hoặc lệnh CASE để kiểm tra giá trị tháng b. Chương trình tham khảo: Program BL1; Var t:Integer; Begin Write('Nhap thang t = '); Readln(t); If (t>=2) and (t =5) and (t =8) and (t<=10) then Write('Mua Thu') Else Write('Mua Dong'); Readln; End. c. Bộ TEST: TEST Dữ liệu nhập Kết quả Điểm 1 3 Mua Xuan 1,0 2 5 Mua Ha 1,0 3 10 Mua Thu 1,0 4 11 Mua Dong 1,0 5 1 Mua Dong 1,0 BÀI 2. (5 điểm) CẮT BÁNH a. Thuật toán: Gọi x là số bánh được cắt thành 3 phần, khi đó ta có 3*x + 5*(m-x) = n 0≤x≤m Dùng lệnh lặp để tìm x với x đi từ lớn tới nhỏ. Số học sinh giỏi sẽ là 3*x. b. Chương trình tham khảo: Program BL2; Var m,n,x,y:Longint; Begin Write('Nhap so hoc sinh: '); Readln(n); Write('Nhap so chiec banh: '); Readln(m); For x:=m downto 0 do If x*3 + (m-x)*5 = n then Break; Trang 1/3
- Writeln('So hoc sinh gioi: ',x*3); Readln; End. c. Bộ TEST: TEST Dữ liệu nhập Kết quả Điểm 1 n=26 21 1,0 m=8 2 n=36 36 1,0 m=12 3 n=45 30 1,0 m=13 4 n=57 27 1,0 m=15 5 n=100 30 1,0 m=24 BÀI 3. (5 điểm) KHOẢNG CÁCH a. Thuật toán: Duyệt xâu từ đầu đến cuối nếu gặp khoảng cách th ì tăng biến đếm lên 1, còn nếu gặp chữ cái thì kiểm tra biến đếm để so sánh tìm max. b. Chương trình tham khảo: Program BL3; Const fin ='BL3.INP'; fout='BL3.OUT'; Var S:String; i,d,max:Integer; f:Text; Begin Assign(f,fin); Reset(f); Read(f,S); Close(f); max:=0; d:=0; S:=S+'a'; For i:=1 to length(S) do If S[i]=' ' then d:=d+1 Else Begin If d>max then max:=d; d:=0; End; Assign(f,fout); ReWrite(f); Write(f,max); Close(f); End. Trang 2/3
- c. Bộ TEST: Các dữ liệu nhập xem trong file BL3.INP TEST File Input BL3.OUT Điểm 1 BL31.INP 6 1,0 2 BL32.INP 8 1,0 3 BL33.INP 8 1,0 4 BL34.INP 0 1,0 5 BL35.INP 60 1,0 BÀI 4. (5 điểm) DÃY TĂNG a. Thuật toán: Duyệt mảng tìm vị trí i đầu tiên mà ai >= ai+1 b. Chương trình tham khảo: Program BL4; Const fin ='BL4.INP'; fout='BL4.OUT'; Var A:Array[0 1001] of Longint; n,i:Longint; f:Text; Begin Assign(f,fin); Reset(f); Readln(f,n); For i:=1 to n do Read(f,a[i]); Close(f); i:=1; While (i<=n-1) and (a[i]<a[i+1]) do i:=i+1; Assign(f,fout); ReWrite(f); If i<=n-1 then Write(f,i+1) Else Write(f,0); Close(f); End. c. Bộ TEST: Các dữ liệu nhập xem trong file TEST File Input BL4.OUT Điểm 1 BL41.INP 0 1,0 2 BL42.INP 21 1,0 3 BL43.INP 72 1,0 4 BL44.INP 211 1,0 5 BL45.INP 991 1,0 Trang 3/3