Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
345 KB
Nội dung
MỤC LỤC I MỞ ĐẦU 1.1 LÍ DO CHỌN ĐỀ TÀI 1.2 Mục đích nghiên cứu 1.3 Đối tượng nghiên cứu 1.4 Phươngpháp nghiên cứu II NỘI DUNG .3 2.1 CƠ SỞ LÍ LUẬN 2.2 THỰC TRẠNG VẤN ĐỀ TRƯỚC KHI ÁP DỤNG SKKN 2.3 CÁC THUẬTTOÁNTÌMKIẾM NỘI .5 2.3.1 Tìmkiếm 2.3.2 Tìmkiếm nhị phân 2.4 TÌMKIẾM THEO CHIỀU SÂU 10 2.4.1 Ý tưởng 10 2.4.2 Thủ tục đệ quy THAMDFS 10 2.5 TÌMKIẾM THEO CHIỀU RỘNG 12 2.5.1 Ý tưởng: 12 2.5.2 Giải thuật .13 2.6 HIỆU QUẢ CỦA SKKN ĐỐI VỚI HOẠT ĐỘNG GIÁO DỤC .17 III.KẾT LUẬN VÀ KIẾN NGHỊ 19 3.1 KẾT LUẬN .19 3.2 KIẾN NGHỊ 19 I MỞ ĐẦU 1.1 LÍ DO CHỌN ĐỀ TÀI Với phát triển mạnh mẽ ngành tinhọc truyền thông tạo nên xã hội học tập, người có quyền bình đẳng học, nghiên cứu Trước đổi nghiệp giáo dục đào tạo nên xã hội yêu cầu nhà trường không ngừng phải nâng cao chất lượng giáo dục toàn diện cho họcsinh Bằng cách cung cấp cho họcsinhđầy đủ kiến thức để theo kịp thời đại Do tinhọc đưa đồng vào nhà trường phổ thông từ năm 2006 với tư cách môn học thống Vấn đề đặt nhà trường ngành giáo dục cần phải tìm biện pháp để nâng cao chất lượng truyền thụ kiến thức rèn luyện kỹ cho người học Ở khối 11 THPT, môn tinhọc với tư tưởng sử dụng ngôn ngữ Pascal để rèn luyện kỹ lậptrình cho học sinh, để thực việc hình thành rèn luyện kỹ họclậptrình cho họcsinh gặp nhiều khó khăn yêu cầu họcsinh phải có kiến thức liên môn môn Toán tiếng Anh thuậttoán cấu trúc liệu giải thuật Hiện năm 2017 tức 12 năm đưa môn tinhọcvàodạy THPT thực trạng việc dạyhọclậptrình trường phổ thông tồn nhiều phươngpháp khác nhau, hình thức truyền dạy không đồng nên kết thu đào tạo chưa cao Mặt khác thiếu tài liệu hướng dẫn dạyhọclậptrình mang tính hệ thống, thống nên dạyhọclậptrình giáo viên họcsinh phải chịu khó khăn, hạn chế định Bản thân giáo viên sư phạm ngành tinhọc trăn trở muốn khắc phục khó khăn việc dạy học, hình thành kỹ lậptrình cho họcsinh Hơn suốt thời gian dạyhọc trường THPT Quảng Xương nhận thấy việc tiếp nhận đơn vị kiến thức lậptrìnhhọcsinh lớp 11 thực gặp khó khăn nhen nhóm ý tưởng có đề tài nghiên cứu để khắc phục vấn đề Chính lẽ mà xin chon đề tài: “Phương phápứngdụngthuậttoántìmkiếmvàodạylậptrìnhtinhọccôngtácbồidưỡnghọcsinh giỏi” làm đề tài viết sáng kiến kinh nghiệm Đây vấn đề nhỏ vô số vấn đề xây dựng để khai thác làm tăng hiệu cho trìnhdạybồidưỡnghọcsinhgiỏi môn tinhọc lớp 11 1.2 MỤC ĐÍCH NGHIÊN CỨU nâng cao chất lượng tiếp thu lĩnh hội kiến thức tư thuật toán, lậptrình giải thuậttìmkiếm giúp họcsinh hiểu toánphươngpháp giải vấn đề cách nhanh thân đồng nghiệp khác tổ môn tinhọc luôn trao đổi phươngpháp để dạy cho họcsinh có kiến thức tốt môn lập trình, học tốt tư thuậttoán để em tư tốt học môn học khác với đề tài tham muốn mục đích: đổi nội dung, phương pháp, hình thức tổ chức giáo dục nhằm tìm biện pháp nâng cao chất lượng, hiệu giảng dạy giáo dục học sinh, bồidưỡng đội ngũ họcsinh có học tháo gỡ khó khăn vướng mắc trên, đồng thời đóng góp phần nhỏ việc cải cách, nâng cao chất lượng giáo dục nói chung dạyhọc môn tinhọc nói riêng 1.3 đối tượng nghiên cứu qua trìnhdạyhọc môn tinhọc thpt cụ thể dạyhọcsinh rèn luyện với kiến thức lậptrình lớp 11, đồng thời nhận trách nhiệm bồidưỡnghọcsinhgiỏi tỉnh với thực trạng chất lượng tiếp thu họcsinh mà người thầy giáo giảng dạy môn tin, định chọn đề tài nhằm đưa phương án cho họcsinhhọc tốt vào năm học tới giải vấn đề sau: - nghiên cứu 4: toánthuậttoán - sgk tinhọc 10 sau làm sáng tỏ chất vấn đề nghiên cứu - nghiên cứu kiến thức sách giáo khoa tinhọc 11 (kiến thức liên quan đến việc thi cử họcsinhgiỏi tỉnh thi khác như: tinhọc trẻ…) - nghiên cứu họcsinh khối 11 trường thpt quảng xương gây hứng thú cho họcsinhhọc dạng toánlậptrình có giải thuậttìmkiếm 1.4 phươngpháp nghiên cứu vấn đề, đề tài nghiên cứu khâu chuẩn bị xác định mục đích nghiên cứu đóng vai trò quan trọng đề tài điều quan trọng khâu chuẩn bị việc chọn phươngpháp để kết đề tài đến đích cần phải xác định phươngpháp hiệu không lãng phí thời gian công sức kinh nghiệm cho thấy đề tài có thành công hay không phụ thuộc vàophươngpháp tiến hành lẽ đề tài nghiên cứu sử dụng số phươngpháp sau: phươngpháp nghiên cứu lí thuyết: tài liệu lí luận dạy học, vấn đề chung đổi phươngpháp giáo dục trung học phổ thông, chương trình sách giáo khoa 11, số tài liệu chuyên tin học… phươngpháp nghiên cứu thực tiễn: thực tiễn dạytinhọc từ năm 2006 đến nay, thực tiễn côngtácbồidưỡnghọcsinhgiỏi phươngpháp điều tra sư phạm: trao đổi với thầy cô, đồng nghiệp họcsinh trường, giáo viên môn tin học, sau xử lí thông tin rút kết luận khoa học phươngphápkiểm tra đánh giá họcsinh thực nghiệm sư phạm: soạn giảng thành chương trình giảng, đề kiểm tra, dạy thể nghiệm rút kết luận khoa học, mang tính phổ biến phươngpháp tổng hợp đánh giá kết quả: tổng hợp cụ thể, chi tiết, kiểm chứng rút biện pháp đúng, loại trừ biện pháp không hợp lí số phươngpháp mà vận dụng nghiên cứu hoàn thiện đề tài II NỘI DUNG 2.1 CƠ SỞ LÍ LUẬN Hàng năm Sở giáo dục đào tạo tỉnh Thanh Hóa tổ chức kỳ thi chọn họcsinhgiỏi tỉnh môn Tinhọc Kết họcsinhgiỏi tiêu chi thi đua đánh giá chất lượng trường học, đánh giá lực sư phạm giáo viên Như ta nhận thấy việc bộidưỡnghọcsinhgiỏi nhiệm vụ quan trọngcôngtác chuyên môn môn, giáo viên cố gắng để truyền tải kiến thức để họcsinhbồidưỡng có kết cao kỳ thi Và môn tinhọc vậy, côngtácBồidưỡnghọcsinhgiỏitin học, đề thi thường xuất toán có độ phức tạp lớn, toán liên quan đến xử lí tình thực tế… thường có toán đề thi có tình như: Bài toántìmkiếm xếp liệu hệ thống thông tin, xử lí vấn đề số, mảng, xâu Ta thấy rằng: Bài toántìmkiếm thông dụngtoán xếp Bài toántìmkiếm thường “bạn” đồng hành với toán xếp Sắp xếp để tìmkiếm thuận lợi ngược lại tìmkiếm tạo điều kiện cho xếp Vậy nội dungtoántìmkiếm gì? - Trong hầu hết hệ lưu trữ, quản lý liệu, thao táctìmkiếm thường thực để khai thác thông tin: Ví du: Tra cứu từ điển, tìm sách thư viện Do hệ thống thông tin thường phải lưu trữ khối lượng liệu đáng kể, nên việc xây dựng giải thuật cho phép tìmkiếm nhanh có ý nghĩa lớn Nếu liệu hệ thống tổ chức theo trật tự đó, việc tìmkiếm tiến hành nhanh chóng hiệu hơn: Ví dụ: từ từ điển xếp theo vần, vần lại xếp theo trình tự alphabet; sách thư viện xếp theo chủ đề Ví dụ: Tìm số lớn tập số nguyên, tìm số hoàn hảo,… Vì thế, xây dựng hệ quản lý thông tin máy tính, bên cạnh thuậttoántìm kiếm, thuậttoán xếp liệu chủ đề quan tâm hàng đầu - Có thể phân chia nội dungtìmkiếm theo loại sau: + Tìm phần tử tập đối tượng Ví dụ 1: Tìm giá trị lớn dãy số nguyên (VD-trang 33-sgk tin 10) Ví dụ 2: Tìm số nguyên tố số nguyên không vượt số nguyên dương N cho trước Ví dụ 3: Tìmhọcsinh có học lực Khá lớp học 12A1 Tuy nhiên toántìmkiếm phần tử tập đối tượng toán Ngoài toántìmkiếm thường gắn liền với toán đếm liệt kê ví dụ: đếm số lượng phần tử thõa mãn điều kiện cho trước có số nguyên tố không vượt 100? Ví dụ 4: Cho dãy N số nguyên số nguyên x Cho biết số phần tử có giá trị x Có phần tử vậy? INPUT: file văn DAYSO.INP - dòng đầu N x - N dòng sau, ghi số nguyên thuộc dãy từ vị trí đến vị trí N, số dòng OUTPUT: File DAYSO.OUT - Dòng đầu số lượng phần tử dãy x; Nếu dòng đầu dương dòng ghi số phần tử x …Và nhiều toán, dạng toántìmkiếm khác nữa… Và ta biết, có nhiều giải thuậttìmkiếm xếp xây dựng, mức độ hiệu giải thuật phụ thuộc vào tính chất cấu trúc liệu cụ thể mà tác động đến Dữ liệu lưu trữ chủ yếu nhớ nhớ phụ, đặc điểm khác thiết bị lưu trữ, thuậttoántìmkiếm xếp xây dựng cho cấu trúc lưu trữ nhớ phụ có đặc thù khác Tôi thấy vấn đề để giúp họcsinh nắm phươngpháp giải toán phức tạp Vì chọn thuậttoán đặc trưng thuậttoántìmkiếm nội, thuậttoántìmkiếm chiều rộng, thuậttoántìmkiếm chiều sâu để trình bày nội dung sau để dạy cho họcsinhhọclậptrìnhtinhọc 2.2 THỰC TRẠNG VẤN ĐỀ TRƯỚC KHI ÁP DỤNG SKKN Trongtrình ôn luyện đội tuyển họcsinh giỏi, nhiều giáo viên đặc biệt giáo viên trẻ, non kinh nghiệm gặp toántìmkiếm lúng túng, chưa tìmphươngpháp để truyền đạt ý tưởng để giải toán Bên cạnh họcsinh lần đầu gặp bải toántìmkiếm bỡ ngỡ, áp dụngthuậttoán để làm, từ làm theo kiểu mày mò, thử nghiệm dẫn đến tốn nhiều thời gian mà không mang lại kết mong đợi Trong đề thi có yêu cầu thời gian xử lý liệu Vì việc áp dụngthuậttoán vừa mang lại kết xác, lại vừa có thời gian xử lý nhanh thuậttoán tối ưu Để có thuậttoán đòi hỏi người giáo viên phải có lượng kiến thức tốt, kết hợp với khả sư phạm truyền đạt lại cho họcsinh hiểu vận dụngvào tập cụ thể Thuận lợi: Nhà trường có hệ thống sở vật chất đầy đủ cho việc dạytin học, quan tâm giúp đỡ đồng nghiệp, họcsinh nhiệt tình ham học hỏi Việc tiếp cận tài liệu cho nghiên cứu tương đối thuận lợi Bản thân nhiều năm ôn luyện đội tuyển nên có đôi chút kinh nghiệm Khó khăn: Việc chọn họcsinh cho đội tuyển Tinhọc gặp nhiều khó khăn họcsinh khá, giỏi môn Toán, Lý, Hóa chọn trước Bên cạnh phụ huynh họcsinh không muốn vào đội tuyển Tin học, để dành thời gian cho việc học môn phục vụ thi đại học 2.3 CÁC THUẬTTOÁNTÌMKIẾM NỘI Ðể đơn giản việc trình bày giải thuật, toán đặc tả sau: Bài toán tổng quát: Cần tìmkiếm phần tử tập N đối tượng cho trước, lưu liệu phản ánh đối tượng vào mảng chiều A[1 N], phần tử mảng ghi gồm trường lưu giá trị đặc tính đối tượng Trong trường giả sử chọn trường k làm khóa so sánh phần tử Bài toán đặt tìm phần tử có giá trị khóa k tập N đối tượng Có giải thuật thường áp dụng để tìmkiếm liệu tìmtìm nhị phân 2.3.1 Tìmkiếm Bắt đầu từ ghi chuyển dần phía cuối mảng, so sánh giá trị khóa ghi với k0 , giá trị ghi k0 ghi ( lưu trữ lại số ghi đó; đồng thời tăng biến đếm số lượng phần tử có giá trị khóa k0) Nếu duyệt hết ghi mà biến đếm có giá trị kết luận tập đối tượng cho phần tử có giá trị khóa k0 Cài đặt Giải thuậtTìm kỹ thuậttìmkiếm đơn giản cổ điển Các bước tiến hành sau : Procedure Timkiem; Var i: integer; Begin For i:=1 to n If a[i].k= k0 then Begin Inc(soluong); Luu(soluong):=i; End; End; * Trong chương trình trên, biến soluong luu[1 N] biến toàn cục, phục vụ đưa kết luận sau tìmkiếm Ví dụ Cho dãy số a: 12 15 Nếu giá trị cần tìm 8, giải thuật tiến hành sau : Hình 2.2 i=1 Hình 2.3 i=2 i = -> Dừng Ðánh giá giải thuật Có thể ước lượng độ phức tạp giải thuậttìmkiếm qua số lượng phép so sánh tiến hành để tìm ko Trường hợp giải thuậttìm tuần tự, có: Trường hợp Số lần so sánh Giải thích Tốt Phần tử có giá trị k0 Xấu n+1 Phần tử cuối có giá trị k0 Trung bình (n+1)/2 Giả sử xác suất phần tử mảng nhận giá trị k0 Vậy giải thuậttìm có độ phức tạp tính toán cấp n: T(n) = O(n) NHẬN XÉT - Giải thuậttìm không phụ thuộc vào thứ tự phần tử mảng, phươngpháp tổng quát để tìmkiếmdãy số - Một thuậttoán cài đặt theo nhiều cách khác nhau, kỹ thuật cài đặt ảnh hưởng đến tốc độ thực thuậttoán 2.3.2 Tìmkiếm nhị phân Phép tìmkiếm nhị phân sử dụng sau mảng ghi xếp (tăng giảm) theo khóa k Giả sử giá trị khóa ghi đầu mảng (đã xếp) k1 giá trị khóa ghi cuối mảng (đã sx) k Phần tử cần tìmkiếm có giá trị khóa k0 Ta phân tích cách tìmkiếm nhị phân diễn sau: - Chọn ghi vị trí trung gian vị trí vt giua = (vtdau+vtcuoi) div 2, giả sử giá trị khóa ghi vị trí trung gian kgiua; - Nếu k0kgiua phần tử cần tìm đoạn từ vt giua+1 đến vtcuoi Vì cần tìmkiếm tiếp đoạn [vtgiua+1 vtcuoi] đệ quy - Nếu k0=kgiua ghi nhận số ghi ghi phần tử cần tìm Cài đặt Giải thuật Procedure TIMKIEM2 (vtdau,vtcuoi:integer); Var vtgiua:integer; Begin Vtgiua:=(vtdau+vtcuoi) div 2; If a[vtgiua].k = k0 then Begin { thông báo tìmkiếm kết thành công số hiệu phần tử tìm được} End ELSE If (a[vtgiua].k>k0) and (vtdau>vtgiua) then timkiem2(vtdau,vtgiua-1) Else If (a[vtgiua].k 0, di den dinh i } NhaChi(i) else CuonChi; {neu khong tim duoc, } { i = 0: lui buoc - bo dinh v[k] } until false; end; 17 Ghi chú: Nếu sử dụng ngăn xếp thay hàng đợi thuậttoán trở thành thuậttoántìmkiếm theo chiều sâu Các đặc tính thuậttoán Không gian Nếu V tập hợp đỉnh đồ thị số đỉnh không gian cần dùngthuậttoán Thời gian Nếu V, E tập hợp đỉnh cung đồ thị, thời gian thực thi thuậttoán trường hợp xấu nhất, đỉnh cung đồ thị thăm lần Ghi chú: nằm khoảng từ đến , tùy theo số cung đồ thị Ứngdụngthuậttoántìmkiếm theo chiều rộng Thuậttoántìmkiếm theo chiều rộng dùng để giải nhiều toán lý thuyết đồ thị, chẳng hạn như: • Tìm tất đỉnh thành phần liên thông • Thuậttoán Cheney cho việc dọn rác • Tìmđường ngắn hai đỉnh u v (với chiều dài đường tính số cung) • Kiểm tra xem đồ thị có đồ thị hai phía • Thuậttoán Cuthill–McKee • Thuậttoán Ford–Fulkerson để tìm luồng cực đại mạng Tìm thành phần liên thông Tập hợp đỉnh thăm thuậttoántìmkiếm theo chiều rộng thành phần liên thông chứa đỉnh gốc Kiểm tra đồ thị hai phía Có thể dùngthuậttoántìmkiếm theo chiều rộng để kiểm tra xem đồ thị có phải đồ thị hai phía hay không, cách tìmkiếm từ đỉnh gán nhãn chẵn lẻ cho đỉnh thăm Nghĩa là, gán nhãn cho đỉnh gốc, cho tất đỉnh kề đỉnh gốc, cho tất đỉnh kề với đỉnh kề đỉnh gốc, tiếp tục Nếu bước đó, có hai đỉnh kề có nhãn, đồ thị không hai phía Nếu trìnhtìmkiếm kết thúc mà điều không xảy đồ thị hai phía 2.4 HIỆU QUẢ CỦA SÁNG KIẾN KINH NGHIỆM ĐỐI VỚI HOẠT ĐỘNG GIÁO DỤC Trong tiến hành thực sáng kiến kinh nghiệm suy nghĩ việc tìm tòi thuậttoán tối ưu cho việc giải toàn phải tìmphươngpháp tạo cảm hứng cho họcsinh Từ vận dụngvào ôn luyện đội tuyển em hứng thú tiếp thu giảng tốt 18 Trong thực tiển toántìmkiếm phổ biến, toán thường xuyên xuất nhiều thi chọn họcsinhgiỏi Tỉnh Vì sưu tầm tương đối tập dạng này, giúp em ôn luyện tốt Trên sở lý thuyết kết hợp với tập mà sưu tầm, chia với đồng nghiệp nhóm Tinhọc trường, giúp đồng chí có thêm kiến thức liệu để vững vàng đứng đội tuyển Dưới kết ứngdụng sáng kiến vàodậy lớp Ban tự nhiên năm Giỏi Khá TB Yếu Năm Lớp Sĩ số học SL % SL % SL % SL % 11T2 43 14 32.5 16 37.2 10 23.2 7.1 201211T3 43 18 41.8 15 34.8 16.4 7.0 2013 Tổng 86 32 37.2 31 36 17 19.8 11A1 41 17 40.5 17 41.5 14.6 2.4 201311A2 44 30 68.2 11 25.0 4.5 2.2 2014 Tổng 85 47 55.3 28 32.9 9.4 2.4 11A1 41 15 36.5 17 41.5 19.6 2.4 201511A2 41 27 65.8 13 31.7 2.4 0.0 2016 Tổng 82 42 51.2 30 36.6 11 1.2 Số liệu từ bảng kết thực nghiệm năm học 2012-2013, 20132014, 2015-2016 đem so sánh với kết năm trước chưa áp dụng thực nghiệm theo cách thấy: + Các em học tốt trông thấy: cụ thể tích cực tìm tòi hơn, hợp tác tốt hơn, chủ động tìm hiểu nội dung + Biết vận dụng kiến thức thuậttoántìmkiếm áp dụngvào giải toán đa dạng phức tạp + Kết họcsinh giỏi: dễ dàng bồidưỡng để họcsinh đậu họcsinhgiỏi tỉnh nhiều + Kinh nghiệm sử dụngthuậttoántìmkiếm áp dụngvàodạylậptrìnhtinhọc cho họcsinh làm tăng hiệu chuyên môn cho môn tinhọc Ở trường thân ứngdụng nội dung đề tài đạt số kết định kỳ thi họcsinhgiỏi cấp Tỉnh thi Tinhọc trẻ không chuyên tỉnh Thanh Hóa là: giải giải khuyến khích 19 III.KẾT LUẬN VÀ KIẾN NGHỊ 3.1 KẾT LUẬN Hiện nay, ngôn ngữ lậptrình Pascal trở thành ngôn ngữ lậptrình phổ biến giới sử dụng lĩnh vực giảng dạyTrongtrình giảng dạy thầy cô đưa tình tìmkiếm dạng tập liên quan đến sống…để em chứng tỏ khả làm cho họcsinh yêu thích môn học, ham học hỏi tìm tòi sáng tạo Với sang kiến mang tính thực tiễn cao cụ thể là: đề thi họcsinhgiỏi em họcsinh chủ động để tìmphươngpháp qua giải vấn đề yêu cầu đề thi giáo viên đặt Trongtrình giải vấn đề, giáo viên sai lầm thuậttoántìmkiếm cho em họcsinh mắc phải hiểu không rõ vấn đề giúp cho em hiểu rõ thuậttoántìmkiếm cách tổng quát để từ họcsinh giải tất dạng toán gặp phải Kết có nhiều em dễ dàng vận dụngphươngphápthuậttoán để giải nhiều toán con, nhiều dạng khác đề thi đặt 3.2 KIẾN NGHỊ Sở giáo dục đào tạo Thanh Hóa tập hợp thầy cô giáo có nhiều năm kinh nghiệm ôn luyện họcsinhgiỏi trường, viết cẩm nang kinh nghiệm tập tham khảo giáo viên trẻ học hỏi Quá trình thực đề tài nhiều yếu tố chủ quan khách quan nên tránh khỏi thiếu sót mong bạn bè đồng nghiệp đóng góp ý kiến để đề tài tốt có nhiều ứngdụngdạyhọcbồidưỡnghọcsinhgiỏi lớp 11 thể ứngdụng rộng rãi trường THPT Xin chân thành cảm ơn bạn bè đồng nghiệp em họcsinh giúp đỡ tạo động lực cho hoàn thành sang kiến này! XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN VỊ Sầm Sơm, ngày 20 tháng 03 năm 2017 Tôi cam đoan sáng kiến kinh nghiệm tôi viết ra, không chép người khác Nếu sai xin chịu trách nhiệm Người viết SKKN Nguyễn Hữu Dũng 20 TÀI LIỆU THAM KHẢO Lê Văn Doanh, Trần Khắc Tuấn- 101 Thuậttoán chương trình-NXB Khoa Học Kỹ Thuật Quách Tuấn Ngọc - Bài tập ngôn ngữ lậptrình Pascal-NXB Thống Kê PGS.PTS Bùi Thế Tâm - Bài tập lậptrình Turbo Pascal 7.0-NXB Giao Thông Vận Tải Hồ Sĩ Đàm-Tin học 10,11 - NXB Giáo Dục Ths Trần Đức Huyên - Phươngpháp giải toántinhọc - NXB Giáo dục Hồ sĩ Đàm - Tài liệu chuyờn tinhọc - NXB Giáo Dục Một số đề thi, kiểm tra tỉnh toàn quốc 21 MỘT SỐ ĐỀ THAM KHẢO Sau áp dụng giáo án dạy xong cho họcsinh Để khẳng định tính đắn phươngpháp nghiên cứu nâng cao hiệu đề tài đề nghị số đề thi cho họcsinh để họcsinh tự rèn luyện, phát triển lực, hoàn thiện kiến thức lậptrình mình, đề thi lấy từ tài liệu liên quan, đề thi họcsinhgiỏi qua năm học… để họcsinh áp dụng, tham khảo Từ cho kết cao ĐỀ KIỂM TRA 001: Bài 1: (4,0 điểm) Tách từ Cho xâu gồm nhiều từ (các từ cách ký tự trắng, xâu không dài 256 ký tự), tách từ từ xâu Dữ liệu vào từ tệp văn bản: Tachtu.inp: Gồm dòng xâu cần tách Dữ liệu tệp văn bản: Tachtu.out Gồm nhiều dòng Mỗi dòng từ tách từ xâu, theo thứ tự từ trái qua phải Ví dụ Tachtu.inp Tachtu.ou Tachtu.inp Tachtu.ou t t Cong hoa xa hoi Cong G i a o vien G hoa i xa a hoi o vien Bài 2: (5,5 điểm) Số lõm Cho mảng A kích thước MxN (M,N ≤ 100; -2000 ≤ Aij ≤ 2000) Phần tử Aij gọi phần tử lõm phần tử nhỏ hàng đồng thời phần tử nhỏ cột Hãy lập chương trìnhtìm phần tử lõm sâu mảng A? (Phần tử lõm sâu phần tử có giá trị nhỏ phần tử lõm) Dữ liệu vào từ tệp solom.inp gồm M dòng, dòng có N giá trị Aij, giá trị ký tự trắng Dữ liệu tệp solom.out, dòng ghi giá trị số dòng, số cột phần tử lõm sâu nhất, giá trị cách ký tự trắng Nếu không tìm ghi -1 Ví dụ Solom.inp Solom.out 15 33 55 76 22 Bài 3: (3,5 điểm) Tên thiêng Tại tộc thành viên tộc đặt tên theo qui tắc chung, là: Tộc trưởng đưa tập hợp có n ký tự thiêng dùng để đặt tên (n ≤ 125) Tên thành viên tộc đặt không trùng tên tạo nên từ tất ký tự thiêng theo thứ tự Yêu cầu: cho tập ký tự thiêng, giúp tộc đưa tất tên tạo từ tập ký tự thiêng, theo quy tắc tộc Dữ liệu vào từ tệp: Tenth.inp gồm dòng ký tự thiêng, ký tự cách ký tự trắng Dữ liệu tệp: Tenth.out gồm nhiều dòng, dòng tên thiêng Ví dụ: Tenth.inp Tenth.out Tenth.inp Tenth.out abc Abc xy xy acb yx bac bca cab cba ĐỀ 002: (Trích đề thi HSG Nam Định 2009-2010) Bài 1: (6 điểm) Giả thuyết GÔN – BẮC Giả thuyết GÔN – BẮC ( Cho đến chưa bị bác bỏ, chưa chứng minh đầy đủ) nói số chẵn n lớn tổng hai số nguyên tố Yêu cầu: Cho số n chẵn lớn 2, xác định số lượng cặp số nguyên tố có tổng số n Kết : Đưa tệp văn GONBAC.OUT chứa số theo yêu cầu Ví dụ : GONBAC.INP GONBAC.OUT 16 Bài 2: (4 điểm) Mua hàng Có n người xếp thành hàng theo thứ tự để mua hàng Thòi gian người bán hàng phục vụ cho người thứ i ti đơn vị thời gian Hãy tìm thời gian mà người thứ k phải chờ để mua hàng Dữ liệu: Vào từ tệp văn MH.INP - Dòng 1: chứa số n, j nguyên dương (1≤k≤n≤100); 23 - Dòng 2: chứa n số t1, t2, tn ( Các giá trị ti nguyên dương va nhỏ 1000) Kết qủa : Đưa tệp văn MH.OUT chứa số C thở mãn yêu cầu liệu vào Ví dụ: MH.INP MH.OUT 53 13241 ĐỀ 003: (ĐỀ THI HSG TỈNH ĐẮCLAK 2011-2012) Bài 1: Tính tổng (5 điểm) Trên hình lớn, người ta cho số dãy gồm N số nguyên không âm a1, a2, …, aN lặplặp lại (nghĩa sau a i xuất vài giây đến lượt ai+1 xuất hiện, số xuất sau aN a1) Yêu cầu: Bạn đề nghị tính tổng K số nguyên liên tiếp xuất hình số nguyên thứ B Dữ liệu vào: Chứa file BAI1.INP gồm hai dòng: + Dòng ghi ba số nguyên N, K, B, ≤ N ≤ 104; ≤ K ≤ 104 ; ≤ B ≤ 109 + Trong N dòng sau, dòng thứ i chứa số (ai < 2.109) Dữ liệu ra: Ghi file BAI1.OUT số tổng tìm Ví dụ: BAI1.INP BAI1.OUT 76 32 Bài 2(6 điểm) - Siêu nguyên tố Số siêu nguyên tố số nguyên tố mà bỏ số tuỳ ý chữ số bên phải phần lại tạo thành số nguyên tố Ví dụ 7331 số siêu nguyên tố có chữ số 733, 73, số nguyên tố Viết chương trình nhập liệu vào số nguyên N (0< N 1) cách dấu cách Kết quả: Trong tệp NGUOC.OUT dãy tương ứng có N số, với a0=K Ví dụ: NGUOC.INP NGUOC.OUT 10 21 42 54 75 87 21 46 21 52 65 96 Bài (5 điểm) CHUỖI ĐỐI XỨNG Một chuỗi gọi palindrome sau đảo ngược ký tự nó, ta nhận chuỗi ban đầu Viết chương trìnhkiểm tra chuỗi có phải palindrome hay không? Dữ liệu: Trong tệp DX.INP chứa nhiều chuỗi ký tự, chuỗi viết dòng (không chứa dấu cách đầu hay cuối chuỗi) Kết quả: Trong tệp DX.OUT kết kiểm tra chuỗi ký tự tương ứng có phải palindrome hay không (‘YES’ ‘NO’);YES đối xứng, NO không đối xứng Ví dụ: DX.INP DX.OUT ABCHHCBA YES ABHNBA NO Bài (6 điểm) CHỮ SỐ THỨ N Viết chương trình in chữ số thứ N dãy vô hạn số nguyên không âm chẵn: 0246810121416182022…(N có kiểu longint) Dữ liệu: Vào từ file văn CHUSO.INP gồm số nguyên dương N Kết quả: Ghi file văn CHUSO.OUT: • Chỉ số chữ số thứ N dãy số nói Ví dụ: CHUSO.INP CHUSO.OUT 28 15 Bài (4 điểm) DÃY SỐ Cho dãy số gồm N số nguyên (1 ≤ N ≤ 30000): a 1, a2,, , aN Trong ≤32000, i = 1,2, , N số nguyên K( K ≤64000) Yêu cầu: Hãy xác định xem dãy số cho có tìm hai số mà hiệu chúng K hay không? Dữ liệu: Vào từ file văn DAYSO.INP gồm: • Dòng chứa hai số nguyên N K • Dòng thứ i số N dòng chứa số hạng , i= 1, 2, , N Kết quả: Ghi file văn DAYSO.OUT: • Dòng ghi ‘YES’ câu trả lời khẳng định, ghi ‘NO’ câu trả lời phủ định • Nếu dòng thứ ghi ‘YES’ dòng thứ hai ghi tiếp hai số p, q hai số hạng dãy số cho thoả mãn điều kiện đặt (chỉ cần đưa lời giải) Hai số liên tiếp dòng ghi cách dấu cách Ví dụ: DaAYSO.I DAYSO.OUT DAYSO.INP DAYSO.OU NP T 78 YES -3 NO 17 3 Bài 5: QUA CẦU Trong chiến dịch công Thành phố, chiến sĩ biệt động cần phải qua cầu Thời gian qua cầu hết T phút Cầu trung đội có N lính gác nghiêm ngặt Hàng ngày, người lính thứ i gác từ thời điểm Ai đến thời điểm Bi( thời điểm tính phút) Các chiến sĩ qua cầu an toàn từ thời điểm lên cầu đến hết cầu không gặp phải người lính gác Cho trước lịch gác, em cho biết chiến sĩ biệt động ngày có qua cầu để vào thành phố không? Nếu qua em tìm cho chiến sỹ thời điểm xuất sớm để qua cầu Dữ liệu vào cho từ file văn GAC.INP có cấu trúc sau + Dòng ghi số nguyên dương N,T( 0