Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
165,5 KB
Nội dung
1 MỞ ĐẦU Hạt nhân chương trình máy tính lưu trữ xử lý thông tin Việc tổ chức liệu có ảnh hưởng lớn đến cách thức xử lý liệu đó, tốc độ thực thi chiếm dụng nhớ chương trình Do mục đích sáng kiến kinh nghiệm cung cấp hiểu biết tảng việc thiết kế chương trình máy tính để thấy rõ cần thiết việc phân tích, lựa chọn cấu trúc liệu phù hợp cho toán cụ thể Thứ cần nghĩ tới, tư giải vấn đề - thứ mà học lập trình nên có (khơng có khơng sao, cần muốn gắn bó u thích mơn Tin học) Đừng coi thường, đừng đánh giá cao việc thân có tốt thuật tốn hay khơng khơng cần thuật tốn để học trường THPT, có nhiều mơn lĩnh vực địi hỏi, chí địi hỏi cao việc bạn sử dụng tốt thuật toán như: toán, lý, hoá, đặc biệt mơn Tin học Việc giỏi thuật tốn giúp có tư giải vấn đề tốt, tìm hướng giải nhanh hơn, tìm giải pháp tối ưu hiệu suất học tập làm việc mơn học khác, Tiếp theo thì, để học tốt mơn Tin học trường THPT nói chung kỳ thi học sinh giỏi cấp trường, cấp huyện, cấp tỉnh, cấp quốc gia phải sử dụng ngơn ngữ lập trình để giải toán với test thuật toán Các kỳ thi họ test khả giải vấn đề, khả trình bày ý tưởng kiến thức giải thuật để đánh giá khả Và họ không đánh giá qua thuật tốn, biết điểm cộng Tuy nhiên, trình giảng dạy truyền đạt môn Tin học 10, giáo viên gặp khơng khó khăn giảng dạy 4: “Bài toán thuật toán”, học sinh, em đa số khơng hiểu, khó tiếp thu, em tìm Input, Output tốn mà khơng thể tự tạo thuật tốn cho toán Với thời lượng tiết phân phối chương trình thật khó để HS nắm bắt kiến thức có, em cảm thấy mơ hồ, khó hiểu Khi giảng dạy số 6: “các bước giải tốn máy tính” sách giáo khoa Tin học 10, có trình bày bước để giải tốn máy tính học sinh mơ mồ Chính vậy, để giúp giáo viên, học sinh dễ dàng trình dạy học, qua khảo sát, tìm hiểu đúc kết tơi nghĩ đến cần phải có giải pháp để học sinh dễ dàng tiếp cận toán giải toán Ở đây, phạm vi đề tài tơi mạo muội xin trình bày vấn đề nhỏ “Giải pháp để giải số toán Tin học cách vận dụng kiến thức có thơng qua bước trường THPT” mà triển khai áp dụng trường THPT hà Trung thành công 1.1 Lý chọn đề tài Như biết, tốn tin học thường có liệu vào, liệu yêu cầu thời gian hạn chế liệu nên việc xác định toán khó dài Hơn tính thời gian có liên quan đến tốn học sinh học có tư tốt khơng đưa giải pháp đắn đến kết cuối Mà yêu cầu toán tin học nhanh thời gian xác kết lại yêu cầu đặt lên hàng đầu Vì tốn có ràng buộc mặt thời gian hay gặp hạn chế liệu thách thức không nhỏ học sinh 1.2 Mục đích nghiên cứu: Từ lý dẫn đến việc học sinh lung túng giải toán tin học Đối với học sinh giỏi em giải toán phải nhiều thời gian để chỉnh sửa không chạy hết hết test, Thậm chí có học sinh mày mị giải nghiệm tốn mà khơng biết cịn trường hợp chấp nhận nghiệm nào, loại nghiệm - cuối phải chọn phương án làm bừa -giành thời gian dành để giải tốn coi bỏ phí Từ thực trạng trên, trình giảng dạy để giúp học sinh có nhìn trực quan, biến tốn nhìn phức tạp trở nên đơn giản, tơi mạnh dạn đưa “Giải pháp để giải số toán tin học cách vận dụng kiến thức có” tơi ứng dụng thành cơng trường THPT Hà Trung sáng kiến kinh nghiệm tơi trình bày sau 1.3 Đối tượng phạm vi nghiên cứu: Trong trình nghiên cứu học hỏi giảng dạy chương trình Tin học lớp 10, cụ thể “bài toán thuật toán” sách giáo khoa Tin học 10 Tôi thấy phần có nhiều ứng dụng đời sống thực tế có liên quan tới nhiều mơn học khác, đặc biệt tốn học Cịn nội dung “Giải tốn máy tính” sách giáo khoa tin học 10 có trình bày bước giải toán, học sinh mơ hồ áp dụng vào giải tốn Trong suốt q trình giảng dạy thấy sợi dây xuyên suốt trình tiếp cận giải tốn cần phải tiến hành theo bước giải toán tin học Nhưng thực tế lại khó tưởng tượng học sinh, cách giải lập luận em trở nên rời rạc thiếu logic Đặc biệt gặp tốn có tính thời gian giới hạn liệu học sinh trở nên lung túng khơng có phương hướng cụ thể, dẫn đến gặp tốn dễ giải cịn tốn khó đành chịu, phương hướng tư Trong đa số trường hợp đó, với học sinh giỏi việc em nghĩ đến sử dụng câu lệnh đoạn chương trình có sẵn học thuộc lịng, sử dụng có em không giải không vét hết test xây dựng chương trình đúng- vậy? Đó e lập trình theo thói quen Cịn em học sinh giải tốn đơn giản dạng 1.4 Cách tiếp cận phương pháp nghiên cứu Khi nghiên cứu trực tiếp giảng dạy phần cho đối tượng học sinh khác nhau, có suy nghĩ khơng tìm hiểu cách giải đơn giản để đối tượng học sinh yêu tin học đặc biệt lập trình có kiến tốn học có phương pháp pháp giải hợp lý, xúc tích cho tốn Qua thực tế giảng dạy, tơi thấy bắt đầu đề cập tới giải pháp học sinh thấy khó hiểu hiểu giải pháp em khơng có ý nghĩ Chỉ cần học sinh có kiến thức tốn tốt hồn tồn áp dụng thành thạo phương pháp này, học sinh trung bình hiểu áp dụng đa số toán thường gặp, riêng học sinh giỏi giải tốn thuộc dạng khó phương pháp đưa Sau đây, xin giới thiệu “Giải pháp để giải số toán tin học cách vận dụng kiến thức có thơng qua bước trường THPT” mà tơi ứng dụng vào giảng dạy số toán cụ thể phương pháp thông qua toán thực tế lớp 10A, 10B, 10C, 10D trường THPT Hà Trung nơi cống hiến cơng tác từ năm 2008 đến nay, cịn khả ứng dụng rộng rãi phương pháp xin đồng nghiệp áp dụng kết luận NỘI DUNG 2.1 Cơ sở lý luận Lập trình mơn khó lạ với học sinh, em phải vừa biết suy luận giỏi toán, lại cịn phải biết cách trình bày bước cách logic Các em quen với cách áp dụng quy luật, công thức mà chưa quen với việc phải thực bước logic, khoa học cho máy tính hiểu, em cảm thấy thật mơ hồ trình tiếp thu 2.2 Thực trạng vấn đề trước áp dụng giải pháp Học sinh xem nhẹ môn học nên chưa thật cố gắng, thấy khó q bỏ qua, khơng hợp tác với giáo viên để giải vấn đề khó Do học sinh làm quen với mơn Tin học việc xây dựng thuật toán từ tốn, dùng máy tính để giải tốn cịn xa lạ, bỡ ngỡ nên chưa hình thành kỹ đứng trước toán Nhiều học sinh chưa chủ động, chưa có thái độ tích cực xây dựng nội dung q khó lạ Đa số giáo viên trẻ, kinh nghiệm chưa nhiều, chủ yếu tự tìm tịi, đúc kết kinh nghiệm, khơng học hỏi nhiều từ giáo viên giỏi có nhiều kinh nghiệm Chưa có giải pháp tích cực để tạo hứng thú thu hút học sinh tham gia vào hoạt động xây dựng Giúp học sinh hiểu rõ khái niệm “bài tốn” “thuật tốn” Giúp học sinh có nhìn trực quan, sinh động môn Tin học Rèn học sinh có khả tư duy, sáng tạo, đam mê môn học 2.3 Giải pháp đưa nhằm giải vấn đề Bước 1: Xác định toán: Input -> Process –> Output (Dữ liệu vào –> Xử lý –> Kết ra) Việc xác định toán tức xác định xem ta phải giải vấn đề gì?, với giả thiết cho lời giải cần đạt yêu cầu Khác với toán túy toán học cần xác định rõ giả thiết kết luận không cần xác định yêu cầu lời giải, tốn tin học thực tế cần tìm lời giải tốt tới mức đó, chí mức chấp nhận (nếu lời giải tốt địi hỏi q nhiều thời gian chi phí) Ví dụ 1: cho số tự nhiên a, b khơng đồng thời khơng Hãy tìm ước chung lớn số a b Khi gặp loại tốn ta xác định toán sau: Input: số tự nhiên a, b không đồng thời Output: ước số chung lớn a, b Thực tế tốn người ta nói rõ mà người ta lấy vấn đề sống, bắt buộc phải xác định lại tốn quy tốn thành tốn tin học Ví dụ 2: Một dự án có n người tham gia thảo luận, họ muốn chia thành nhóm nhóm thảo luận riêng phần dự án Nhóm có người trình lên nhiêu ý kiến Nếu lấy nhóm ý kiến đem ghép lại ý kiến triển khai dự án Hãy tìm cách chia để số ý kiến cuối thu lớn Rõ ràng toán thực tế sống, xác định toán thực tế thành toán tin học sau: Cho số ngun dương n, tìm cách phân tích n thành tổng số nguyên dương cho tích số lớn Input: số nguyên dương N Output: Tổng số ngun dương có tích lớn Bước 2: Đưa ví dụ xảy Các ví dụ thường cách tiếp cận cách giải tốn nhanh nhất, theo đưa thuật toán khả thi cho toán Có điều cần lưu ý tạo ví dụ tốt cho tốn là: + Dữ liệu phải lớn + Không trường hợp đặc biệt Đừng tạo ví dụ q nhỏ vấn đề trọng tâm tốn Tuy khơng phải khơng mà khơng nên Vì ví dụ nên tổng quan để nắm cốt lõi vấn đề, nên hạn chế lấy ví dụ: + Có chứa trường hợp đặc biệt + Chứa trường hợp thỏa mãn + Chứa trường hợp ngoại lệ, Ví dụ: Cho mảng xếp phần tử Tìm phần tử chung mảng? Nếu ta lấy mảng A = [3,5,7,14] B = [3,6,10,30] liệu nhỏ trường hợp đặc biệt với mảng có số phần tử có phần tử chung ta nên lấy ví dụ sau: A = [3,5,7,10,15,25,30] B = [3,6,8,10,13] Bước 3: Tìm cấu trúc liệu biểu diễn thuật toán Khi giải toán, ta cần phải định nghĩa tập hợp liệu để biểu diễn tình trạng cụ thể Việc lựa chọn tùy thuộc vào vấn đề cần giải thao tác tiến hành liệu vào Có thuật tốn thích ứng với cách tổ chức liệu định, cách tổ chức liệu khác hiệu khơng thể thực Chính nên bước xây dựng cấu trúc liệu khơng thể tách rời bước tìm kiếm thuật tốn giải vấn đề Khi tìm cấu trúc liệu biểu diễn thuật toán ta dựa tiêu chuẩn sau: + Cấu trúc liệu trước hết phải biểu diễn đầy đủ thông tin nhập xuất toán + Cấu trúc liệu phải phù hợp với thao tác thuật toán mà ta lựa chọn để giải toán + Cấu trúc liệu phải cài đặt máy tính với ngơn ngữ lập trình sử dụng Khi tìm cấu trúc liệu cho tốn phải thật ý đến vấn đề đưa Mỗi tốn ln đưa cho thơng tin cần thiết để giải nó, số chúng (có thể) mang đến cho định hướng để có thuật tốn tối ưu Vì thế, đảm bảo thân không bỏ qua chi tiết quan trọng đưa ra, cần, đánh dấu chúng lại Đặc biệt ý ràng buộc input output, chúng quan trọng Có thể với tốn nhau, với ràng buộc đầu vào khác mang lại cách giải khác cho toán Kiểu liệu hay phạm vi biến thường khiến cho chương trình trục trặc khơng đạt mong muốn Ví dụ 1: Tìm tổng, hiệu, tích, thương số Bài tốn giải đơn giản return lại phép cộng, trừ, nhân, chia số mà Nhưng input số có vài chục chữ số, thứ mà khơng thể dùng biến để lưu trữ dạng số (trong ngơn ngữ lập trình bạn dùng) sao? Hoặc giả, kết vượt qua giới hạn cho phép? Mỗi tốn đưa khơng có thơng tin dư thừa cả, chúng khơng phải câu đánh đố, câu bẫy thi Nếu giải tốn mà khơng cần dùng đến liệu đấy, có thể, chìa khóa để bạn tối ưu thuật tốn Ví dụ 2: Cho mảng xếp phần tử Tìm phần tử chung mảng? Chắc chắn ta giải mà khơng cần phải quan tâm chúng có xếp hay chưa (phần tử có) cách dùng vòng lặp so sánh phần tử mảng với Nhưng kiện "mảng xếp" lại quan trọng để tối ưu thuật tốn Thực tế, ta nên xét vài trường hợp cụ thể, thông qua hiểu tốn rõ thấy thao tác cần phải tiến hành Đối với tốn đơn giản, đơi cần qua ví dụ ta đưa tốn quen thuộc để giải Bước 4: Tìm Thuật Tốn Thuật toán hệ thống chặt chẽ rõ ràng quy tắc nhằm xác định dãy thao tác cấu trúc liệu cho: với liệu vào, sau số hữu hạn bước thực thao tác ra, ta đạt mục tiêu định Thuật tốn thơng thường có đặc trưng sau: - Tính đơn nghĩa: Ở bước thuật toán, thao tác phải rõ ràng, không gây nên nhập nhằng, lộn xộn, tùy tiện, đa nghĩa - Tính dừng: Thuật tốn khơng rơi vào q trình vơ hạn, phải dừng lại cho kết sau số hữu hạn bước - Tính đúng: Sau thực tất bước thuật tốn theo q trình định, ta phải kết mong muốn với liệu đầu vào Kết kiểm chứng u cầu tốn - Tính khả dụng: Thuật tốn phải dễ sửa lỗi để thích ứng với toán lớp toán làm việc liệu khác - Tính khả thi: Kích thước phải đủ nhỏ: Ví dụ: thuật tốn có tính hiệu lượng nhớ mà yêu cầu vượt khả lưu trữ hệ thông máy tính Thuật tốn phải chuyển thành chương trình: Ví dụ thuật tốn u cầu phải biểu diễn số vơ tỷ với độ xác tuyệt đối thực với hệ thống máy tính Thuật tốn phải máy tính thực thời gian cho phép, điều khác với lời giải toán(chỉ cần chứng minh kết thúc sau số hữu hạn bước) Ví dụ: chương trình xếp thời khóa biểu cho học kỳ khơng thể cho máy tính chạy tới học kỳ sau có kết Ví dụ: cho số tự nhiên a, b khơng đồng thời khơng Hãy tìm Ước chung lớn số a b Thuật tốn tiến hành mơ tả sau (thuật toán Euclide): - Bước 1: (Input): Nhập số tự nhiên a, b - Bước 2: Nếu b > chuyển sang bước 3, khơng bỏ qua bước 3, chuyển sang bước - Bước 3: Đặt r=amodb, đặt a=b, b=r, quay trở lại bước Nhập a, b No b>0 Yes UCLN= a r:=a mod b a=b b=r - Bước 4: (Output): kết luận ước số chung lớn phải tìm giá trị a Kết thúc thuật toán Bước 5: Vét cạn Nếu bước số khơng có hướng giải khả thi cho toán, ý tưởng đưa tệ, chạy chậm, tốn tài nguyên,…hãy dùng thuật toán vét cạn Thuật toán vét cạn thuật toán liệt kê hết tất trường hợp xảy (dù phù hợp hay khơng) Thường khiến cho chương trình chạy chậm, “méo mó có khơng”, giúp bạn giải input nhỏ xác Và từ đấy, bạn lần mị theo phương hướng vạch để tiếp cận đến hướng giải sáng suốt tơí ưu Khi dạy học giáo viên học sinh mà khơng tìm thuật toán tối ưu đắn bước áp dụng đến bước này, làm quen dần với bước mà áp dụng bước đừng lại mức độ nháp giấy suy nghĩ đầu để tối ưu nghĩ phương hướng giải cho toán, đừng code Bước 6: Tối ưu thuật toán Khi thuật toán hình thành ta khơng xét đến việc chứng minh thuật tốn mà trọng đến việc áp dụng bước theo hướng dẫn có kết Việc chứng minh tính đầy đủ tính thuật tốn phải tiến hành xong trước có thuật tốn Nói rõ hơn, thuật tốn việc áp dụng cơng thức hay quy tắc, quy trình cơng nhận hay chứng minh mặt toán học "Thuật toán" thường dùng để thuật toán giải vấn đề tin học Hầu hết thuật tốn tin học viết thành chương trình máy tính chúng thường có vài hạn chế (vì khả máy tính khả người lập trình) Trong nhiều trường hợp, chương trình thiết kế bị thất bại lỗi thuật toán mà người lập trình đưa vào khơng xác, khơng đầy đủ, hay không ước định trọn vẹn lời giải vấn đề Tuy nhiên có số tốn mà người ta chưa tìm lời giải triệt để, toán gọi tốn NP-khơng đầy đủ Như trên,thuật tốn ngồi phương pháp đem lại kết cách tối ưu,giảm lượng tài nguyên bỏ để đạt được.Những phương pháp rút từ thực nghiệm giải tốn học khơng,tuy nhiên thuật tốn đáp ứng tính logic tối hậu tự nhiên mà nguyên nhiều loại logic mờ Ví dụ: logic mờ tồn trạng thái chỉnh lưu transistor mà trở nên chuẩn xác việc tính tốn nhờ tái chuẩn hố mà làm đặc tính trung gian vi mơ transistor khơng cịn quan yếu thang lớn Đây thường bước mà dành thời gian nhiều q trình "giải tốn" bạn Hãy ghi nhớ luôn quay lại bước code xong thực nghiêm túc chuyện rèn luyện Nó giúp hình thành thói quen tối ưu hóa dịng code mình, đồng thời cịn giúp tối ưu hóa ý tưởng để gặp lại dạng lần nữa, "xử đẹp" cách gọn gàng nhanh chóng Thời gian bỏ để tối ưu code thuật toán bù đắp lại rất nhiều thời gian cho sau Tất nhiên, đừng nên sa đà mà bỏ quên yếu tố quan trọng khác nữa, từ bỏ lúc tìm trợ giúp cần thiết nhiều thời gian cho Hãy biết xác điều muốn thực với dịng code Đừng có bỏ qua bước lao vào code để tạo đống code hổ lốn, rác, bốc mùi khiến mắc kẹt Nhớ rằng, cần tạo nên thói quen nhỏ bước để xây dựng nên thói quen lớn tương lai Lúc đầu thời gian, sau trở thành việc hít thở vậy, khơng cố làm nó, mà tự làm Khi tối ưu thuật toán xác định thật rõ ràng: - Sử dụng biến (chú ý cách đặt tên- quan trọng), cấu trúc liệu nào? - Cách thời điểm chúng thay đổi (rất hữu dụng cho người để nắm luồng chương trình)? - Cấu trúc code mà bạn muốn trình bày nào? Ví dụ như: tạo hàm, method nào? Các vòng lặp nào? Sử dụng vịng lặp gì? - Hãy nhớ tìm hiểu thêm yếu tố độ phức tạp thuật toán, phạm vi biến, nhớ, Những điều ảnh hưởng khơng nhỏ đến chương trình bạn Và muốn tối ưu tốt thuật tốn dịng code mình, kiến thức cần thiết Việc tối ưu thuật tốn thực trước viết chương trình, khơng nên viết tới đâu tối ưu mã đến (bởi chương trình có mã tối ưu thường phức tạp khó kiểm sốt) Việc tối ưu thuật nên dựa theo tiêu chuẩn sau: - Tính xác: để đảm bảo kết tính tốn hay thao tác mà máy tính thực xác - Tính rõ ràng: Thuật tốn phải thể câu lệnh minh bạch; câu lệnh xếp theo thứ tự định - Tính khách quan: Một thuật toán dù viết nhiều người nhiều máy tính phải cho kết - Tính phổ dụng: Thuật tốn khơng áp dụng cho tốn định mà áp dụng cho lớp tốn có đầu vào tương tự - Tính kết thúc: Thuật tốn phải gồm số hữu hạn bước tính tốn Bước 7: Lập Trình (Programming) Sau có thuật toán thuật toán ta tối ưu việc phải lập trình để thực thuật tốn Muốn lập trình đạt hiệu cao, cần phải có kỹ thuật lập trình tốt Kỹ thuật lập trình tốt thể kỹ viết chương trình, khả gỡ rối thao tác nhanh 10 Lập trình tốt khơng nắm vững ngơn ngữ lập trình đủ, mà phải biết cách viết chương trình cách uyển chuyển, khôn khéo phát triển để chuyển ý tưởng thành chương trình hồn chỉnh Kinh nghiệm giảng dạy học tập cho thấy thuật toán hay cài đặt vụng nên chạy lại cho kết sai tốc độ chậm Thông thường, ta không nên cụ thể hóa tồn chương trình mà nên tiến hành theo phương pháp tinh chế bước (Stepwise refinement) Ban đầu chương trình thể ngơn ngữ tự nhiên, thể thuật toán với bước tổng thể, bước nêu lên công việc phải thực Một công việc đơn giản, đoạn chương trình học thuộc ta tiến hành viết mã lệnh ngơn ngữ lập trình Một cơng việc phức tạp phải chia thành công việc nhỏ để tiếp tục với công việc nhỏ Trong q trình tinh chế bước ta phải đưa biểu diễn liệu, với tinh chế công việc, liệu tinh chế dần, có cấu trúc hơn, thể rõ mối liên hệ liệu Phương pháp tinh chế bước thể tư giải vấn đề từ xuống (top-down), giúp cho người lập trình có định hướng thể phong cách viết chương trình Tránh việc mị mẫm, xóa viết lại nhiều lần, biến chương trình thành tờ giấy nháp Việc viết chương trình phải đảm bảo tiêu chuẩn sau: - Tính tin cậy: Chương trình phải chạy dự định, mô tả giải thuật Thông thường viết chương trình, ta ln có thói quen kiểm tra tính đắn bước - Tính uyển chuyển: Chương trình phải dễ sửa lỗi Vì chương trình viết mã hồn hảo mà cần phải sửa đổi lại Chương trình viết dễ sửa đổi làm giảm bớt cơng sức lập trình viên phát triển chương trình - Tính sáng: Chương trình viết đễ đọc, dễ hiểu Để sau thời gian dài đọc lại cịn hiểu làm gì? Để có điều kiện cịn sửa sai (nếu phát lỗi mới), cải tiến hay biến đổi để chương trình giải tốn khác Tính sáng chương trình phụ thuộc nhiều vào cơng cụ lập trình phong cách lập trình - Tính hữu hiệu: Chương trình phải chạy nhanh tốn nhớ (tiết kiệm không gian thời gian) Để có chương trình hữu hiệu, cần phải có 11 giải thuật tốt tiểu xảo lập trình Tuy nhiên, việc áp dụng nhiều tiểu xảo khiến chương trình trở nên rối rắm, khó hiểu sửa đổi Tiêu chuẩn hữu hiệu nên dừng mức chấp nhận được, không quan trọng tiêu chuẩn Vì phần cứng phát triển nhanh, yêu cầu hữu hiệu đặt gánh nặng => Từ phân tích trên, thấy việt làm chương trình phải trải qua nhiều công đoạn tiêu tốn nhiều công sức Chỉ công đoạn không hợp lý tăng chi phí viết chương trình Bước 8: Kiểm thử chương trình (Testing program) a) Chạy thử tìm lỗi Chương trình người viết ra, khó tránh khỏi nhầm lẫn Một chương trình viết xong chưa chạy máy tính kết mong muốn Kỹ tìm lỗi, sửa lỗi, điều chỉnh lại chương trình kỹ quan trọng người lập trình Kỹ có kinh nghiệm tìm sửa lỗi Có loại lỗi thường gặp lập trình: Lỗi cú pháp: lỗi hay gặp lỗi dễ sửa Chỉ cần nắm vững ngơn ngữ lập trình đủ Một người coi khơng biết lập trình khơng biết sửa lỗi cú pháp Lỗi cài đặt: Việc cài đặt thể khơng thuật tốn định, lỗi phải xem lại tổng thể chương trình Kết hợp với chức gỡ rối để sửa lại cho Lỗi thuật toán: Lỗi gặp nguy hiểm Nếu nhẹ phải điều chỉnh lại thuật tốn, nặng có phải viết lại thuật tốn từ đầu b) Xây dựng test Có nhiều chương trình khó kiểm tra tính đắn Nhất ta kết nào? Vì vậy, chương trình chạy kết (khơng biết sai nào) việc tìm lỗi khó khăn Khi ta nên làm test để thử chương trình Các test nên đặt file văn bản, việc tạo file văn (txt) nhanh, lần chạy thử cần thay tên file liệu vào xong, không cần gõ lại test từ bàn phím Kinh nghiệm làm test là: 12 + Bắt đầu với test nhỏ, đơn giản, làm tay, có đáp số để so sánh với kết chương trình chạy + Tiếp theo test nhỏ chứa giá trị đặc biệt tầm thường Theo kinh nghiệm cho thấy test dễ sai + Các test phải đa dạng, tránh lặp lặp lại test tương tự + Nên có vài test lớn để kiểm tra tính chịu đựng chương trình Kết hay khơng đa số trường hợp, ta kiểm chứng với test Lưu ý rằng, chương trình em chạy qua hết test có nghĩa chương trình Bởi bạn chưa xây dựng test làm cho chương trình bị sai Vì vậy, có thể, ta nên tìm cách chứng minh tính đắn thuật tốn chương trình Điều thường khó 2.4 Hiệu giải pháp 2.4.1 Kiểm chứng: a) Khi chưa áp dụng phương pháp: Lớp Sĩ số 10A 10B 10C 10D 44 41 43 45 Số học sinh giải Số học sinh giải Số học sinh khơng thời thời gian tính thời gian gian nhanh chậm 8,9% 12,5% 78,6% 4.8% 7.3% 87.9% 9.3% 13.9% 76.8% 2.2% 4.4% 93.4% b) Khi sử dụng phương pháp: Lớp Sĩ số 10A 10B 10C 10D 44 41 43 45 Số học sinh giải Số học sinh giải Số học sinh không thời thời gian tính thời gian gian nhanh chậm 53.5% 41.9% 4.6% 48.8% 39% 12.2% 39,6% 54,2% 6,2% 33.3% 40% 26.7% 2.4.2 Kết ban đầu: 13 + Phương pháp đơn giản nên học sinh tiếp thu nhớ gần hồn tồn + Học sinh tích cực, hứng thú say mê giải toán dựa kiến thức toán học + Học sinh giải tốn cách nhanh nhất, khơng nhầm nghiệm, nhầm kết + Nhờ học sinh lĩnh hội tốt phương pháp nên chuyển từ hoạt động thầy sang hoạt động trị Mỗi gặp tốn học sinh ngồi chủ động vạch đường trịn suy luận - gặp lạ khó giáo viên cần gợi ý học sinh nháp đến chia nhỏ tốn đưa toán giải + Phương pháp giúp học sinh chủ động lĩnh hội kiến thức, tránh lúng túng việc phân tích lựa chọn thuật tốn + Học sinh trường THPT Hà Trung chúng tơi trường có truyền thống hiếu học ham kiến thức lạ nên năm gần kỳ thi học sinh giỏi cấp tỉnh liên trường ln có giải 14 KẾT LUẬN VÀ KIẾN NGHỊ Qua tổ chức thực qua kết ban đầu từ thực tế giảng dạy, tơi có vài kiến nghị đề xuất sau: Kiện toàn đội ngũ giáo viên: Định kì tổ chức bồi dưỡng, nâng cao trình độ chun mơn, phương pháp giảng dạy, cập nhập vấn đề sát thực tế cho đội ngũ cán giáo viên Sử dụng giải pháp giải toán tin học kết hợp với phương pháp khác để phân tích toán đạt kết cao Xây dựng hệ thống tài liệu tham khảo: Mỗi giáo viên cần tự học tập để nâng cao trình độ cần nguồn tư liệu tham khảo Vì đề nghị cấp quản lý giáo dục mở trang thơng tin có cách đầy đủ đề thi cấp tỉnh tỉnh nhà (như đề thi giải tốn máy tính cầm tay Casio mơn học sinh chép tay cho thầy ghi lại đề phát thu ln mà nguồn cung cấp đề khơng có) tư liệu tham khảo khác phục vụ cơng tác giảng dạy… Chính vậy, năm học 2019 -2020, tơi mạnh dạn nghiên cứu, áp dụng viết Sáng kiến: “Giải pháp để giải số toán tin học cách vận dụng kiến thức có thơng qua bước” mà áp dụng thành công lớp 10A, 10B, 10C, 10D trường THPT Hà Trung Tôi hi vọng với sáng kiến góp phần nhỏ làm nguồn tư liệu tham khảo cho đồng nghiệp nhân rộng toàn tỉnh Thanh Hố Tơi xin cam kết: Sáng kiến tơi viết, giải pháp, biện pháp mà đưa áp dụng thực tế dạy học lớp 10A, 10B, 10C, 10D trường THPT Hà Trung chưa đăng tải mạng internet, chưa công bố sách, báo hay hội đồng sáng kiến cấp cơng nhận Nếu sai, tơi xin hồn tồn chịu trách nhiệm Tôi xin chân thành cám ơn! XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN VỊ Thanh hóa, ngày 25 /06/ 2020 CAM KẾT KHÔNG COPY Lê Văn Như 15 TÀI LIỆU THAM KHẢO Sách giáo khoa TIN HỌC 10 Hồ Sỹ Đàm chủ biên - Nhà xuất giáo dục Việt Nam Sách tập TIN HỌC 10 Hồ Sỹ Đàm chủ biên – Nhà xuất giáo dục Việt Nam Giả thuật lập trình Lê Minh Hoàng tác giả - Nhà xuất Đại học sư phạm Hà Nội, 1999-2002 Cấu trúc liệu giải thuật Đỗ Xuân Lôi, NXB ĐHQGHN,2004 Cẩm nang thuật toán R Sedgewick, NXB Khoa học kỹ thuật, 1994 Nguồn internet https://vi.wikipedia.org/wiki/Thu%E1%BA%ADt_to%C3%A1n 16 ... thiệu ? ?Giải pháp để giải số toán tin học cách vận dụng kiến thức có thơng qua bước trường THPT? ?? mà ứng dụng vào giảng dạy số tốn cụ thể phương pháp thơng qua toán thực tế lớp 10A, 10B, 10C, 10D trường. .. dụng viết Sáng kiến: ? ?Giải pháp để giải số toán tin học cách vận dụng kiến thức có thơng qua bước? ?? mà tơi áp dụng thành công lớp 10A, 10B, 10C, 10D trường THPT Hà Trung Tôi hi vọng với sáng kiến. .. nhìn trực quan, biến tốn nhìn phức tạp trở nên đơn giản, tơi mạnh dạn đưa ? ?Giải pháp để giải số toán tin học cách vận dụng kiến thức có? ?? tơi ứng dụng thành công trường THPT Hà Trung sáng kiến kinh