Sáng kiến kinh nghiệm SKKN một số cải tiến về phương pháp giải bài toán trên máy tính

17 516 0
Sáng kiến kinh nghiệm SKKN một số cải tiến về phương pháp giải bài toán trên máy tính

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SÁNG KIẾN KINH NGHIỆM ĐỀ TÀI: "MỘT SỐ CẢI TIẾN VỀ PHƯƠNG PHÁP GIẢI BÀI TOÁN TRÊN MÁY TÍNH" I ĐẶT VẤN ĐỀ Tên đề tài MỘT SỐ CẢI TIẾN VỀ PHƯƠNG PHÁP GIẢI BÀI TOÁN TRÊN MÁY TÍNH Lí chọn đề tài Hiện lý luận dạy học nói chung lý luận dạy học môn Tin Học nói riêng đề cập nhiều phương pháp kĩ thuật dạy học: phương pháp thảo luận, phương pháp đặt câu hỏi, phương pháp chia nhóm, phương pháp gợi mở vấn đề,… - Mục đích nhằm áp dụng phương pháp bồi dưỡng cho học sinh lực ham muốn học hỏi, tự giải vấn đề, rèn luyện phát triển lực tự học, nghiên cứu làm việc cách tự chủ Đồng thời để thích ứng với phát triển tư học sinh xã hội mới, tiếp cận với công nghệ tiên tiến xã hội giới Bên cạnh đó, kĩ thuật dạy học mới, vai trò người thầy có thay đổi là: “hướng dẫn học sinh biết tự tìm hướng giải vấn đề nảy sinh trình học tập, biết cách làm việc độc lập, làm việc tập thể Thầy người định hướng, người cố vấn giúp học sinh tự đánh giá, giúp học sinh đường tìm hiểu, lĩnh hội kiến thức…” Trong thời đại công nghệ thông tin bùng nổ ngày nay, việc lập chương trình tự hoạt động cho máy tính cần thiết Và để làm việc cần có trình nghiên cứu, học tập ngôn ngữ lập trình lâu dài, qua nhà lập trình chọn ngôn ngữ lập trình thích hợp Tuy nhiên thứ điều có điểm khởi đầu nó, với học sinh việc học Pascal khởi đầu cho việc tiếp cận ngôn ngữ lập trình bậc cao, qua giúp em hình dung đời, cấu tạo, hoạt động ích lợi chương trình hoạt động máy tính, giúp em có thêm định hướng, niềm đam mê tin học, nghề nghiệp lựa chọn sau Khi thực giảng dạy môn Tin Học lớp 11 Trường THPT Ba Vì, thấy rằng, việc học sinh lập trình giải toán máy tính thường gặp nhiều khó khăn thường hệ thống phương pháp cụ thể để thực như: không xác định toán, lựa chọn thuật toán không phù hợp với toán, viết chương trình không khai báo biến khai báo biến thiếu… Xuất phát từ sở trên, chọn đề tài “Một số cải tiến phương pháp giải toán máy tính”, nhằm giúp em học sinh khối 11 thực giải toán máy tính để hạn chế sai sót tăng tính hiệu quả, tính đắn toán Quá hình thành tích cách, thói quen cách tư hệ thống lập trình máy tính cho em Cơ sở khoa học đề tài: 3.1 Cơ sở lí luận: Các bước giải toán máy tính khâu quan trọng có thể sử dụng hầu hết tiết học học sinh khối 11 Nó áp dụng tập và giúp cho học sinh có hội thực hành nhiều Để giải dược toán máy tính ngôn ngữ lập trình toán khó với nhiều học sinh, kể học sinh khá, giỏi Với mong muốn giúp em học sinh hiểu thấy yêu thích ngôn ngữ lập trình hơn, thân người giáo viên cố gắng tìm tòi phương pháp dạy học phù hợp với nội dung kiến thức, với đối tượng học sinh, đặc biệt đối tượng học sinh trung bình, yếu, Đồng thời giáo dục tư tưởng, ý thức, thái độ lòng ham muốn học ngôn ngữ lập trình nói riêng môn tin học nói chung em 3.2 Cơ sở thực tiễn Khi làm toán lập trình học sinh phải nắm vững kiến thức bước giải toán máy tính Tuy nhiên trình giảng dạy trao đổi với đồng nghiệp khác tổ chuyên môn dạy phần kiến thức này, nhận thấy nhiều học sinh lớp khác thường mắc sai lầm giống giải toán liên quan tới lập trình chí có học sinh khá, giỏi Những lỗi mà học sinh thường gặp phải : - Không xác định toán: ví dụ không xác định toán cho gì, điều kiện gì, không xác định toán cần biến nào, có biến phát sinh viết chương trình - Lựa chon thuật toán không trình viết thường diễn đạt thuật toán chưa đầy đủ - Những ví dụ mẫu sách giáo khoa để hỗ trợ cho phần tập nhà cho học sinh - Thời lượng tiết học lớp hạn chế 3.3 Mục đích sáng kiến kinh nghiệm Với mong muốn giúp học sinh nhận khắc phục sai lầm hay mắc phải trình lập trình, giúp em nắm vững, nắm kiến thức lập trình, tự giải tập sách giáo khoa sách tập tập nâng cao chút cho đối tượng học sinh trung bình, yếu để em thấy say mê với ngôn ngữ lập trình mạnh dạn viết sáng kiến kinh nghiệm : ”MỘT SỐ CẢI TIẾN VỀ PHƯƠNG PHÁP GIẢI BÀI TOÁN TRÊN MÁY TÍNH” áp dụng cho khối 11 trường THPT Ba Vì hai năm học 2010 - 2011 2011 - 2012 với đối tượng chủ yếu học sinh khá, trung bình, yếu, hy vọng phần em làm toán bản, hiểu tường tận bước trình giải toán mà không mắc phải sai lầm nêu 3.4 Đối tượng nghiên cứu: Học sinh khối 11 trường THPT Ba Vì hai năm liên tiếp NĂM HỌC 2010 - 2011 2011 - 2012 LỚP SĨ SỐ 11A5 44 11A6 45 11A3 46 11A4 46 Phương pháp nghiên cứu: - Đọc kỹ tài liệu sách giáo khoa, sách giáo viên Tin Học 11 số tài liệu tham khảo khác - Dạy học trắc nghiệm đối tượng: Giỏi - Khá - Trung bình, yếu, nội dung dạy học, phương pháp thực kết thu đánh giá chủ yếu đối tượng học sinh khá, trung bình, yếu, - Đưa bàn luận trước tổ, nhóm chuyên môn để tham khảo ý kiến thực - Tham khảo ý kiến trường bạn, ý kiến đóng góp thầy cô dạy lâu năm có nhiều kinh nghiệm - Dự giờ, kiểm tra, đánh giá chất lượng học sinh - Dạy thực nghiệm lớp 11 trường là: 11A3, 11A4 Phạm vi nghiên cứu thời gian nghiên cứu: - Nghiên cứu chương trình Tin học 11 - Thời gian làm trắc nghiệm thời gian hai năm - Kinh nghiệm thân trình giảng dạy II QUÁ TRÌNH THỰC HIỆN ĐỀ TÀI Tình trạng thực tế chưa thực đề tài Đa số học sinh lớp thực việc lập trình giải toán máy tính thực không phương pháp, trình tự lôgíc hệ thống chương trình Đây lại điều cần thiết lập trình điều dẫn tới em hiểu không toán, tư sai thuật toán như: không xác định Input Output toán, sử dụng thuật toán không phù hợp với toán…, việc em sử dụng ngôn ngữ lập trình chưa phù hợp để diễn đạt thuật toán Điều thường dẫn tới nhiều khả chương trình bị lỗi (error), toán bị bế tắc thuật toán mà hướng giải quyết, em thường lại phải làm lại toán từ đầu dẫn đến việc thời gian, số em “bất lực” không thực toán dẫn tới tâm lí e ngại, nhàm chán học sinh Điều tra ban đầu - Phân loại học lực: NĂM HỌC LỚP 2010 2011 SĨ SỐ GIỎI KHÁ TB YẾU KÉM SL % SL % SL % SL % SL % 11A3 45 15 31 69 10 0 11A4 44 16 30 68 11 0 11A3 46 19 32 69 0 11A4 46 17 30 65 11 0 Đây lớp khối 11 mà đối tượng học sinh chủ yếu khá, trung bình, yếu, học sinh giỏi Vì yêu cầu kiến thức đưa phải phù hợp với nhận thức khả em, không gây chán nản, học chống đối để em nắm kiến thức sách giáo khoa, lập trình thành thạo số dạng ngôn ngữ lập trình Giúp học sinh ngày say mê, hứng thú với lập trình - Chuẩn bị sách giáo khoa sách tập: tất học sinh có đủ - Trong trình thực khảo sát nhiều học sinh thực lập trình giải toán máy tính tỷ lệ thành công lần chạy thử thấp Khi em phải sửa chữa lại chương trình nhiều lần đặc biệt thuật toán chương trình thực được, có trường hợp sử dụng sai thuật toán nên toán bế tắc không thực chí dẫn tới tượng máy tính bị “treo” Số liệu phản ánh phần tình trạng chung Nội dung đề tài Nội dung chủ yếu đề tài giới thiệu cho học sinh cải tiến phương pháp giải toán máy tính Phương pháp thể tính khoa học hệ thống, tính lôgíc chặt chẽ giải toán máy tính, giúp học sinh có tư hệ thống, sáng tạo kết tốt lập trình thực giải toán máy tính 3.1 Xác định Input Output toán Mỗi toán đặc tả hai thành phần: Input Output, việc xác định toán xác định rõ hai thành phần quan hệ chúng Các thông tin cần nghiên cứu cẩn thận để lựa chọn thuật toán, cách thể đại lượng cho, đại lượng phát sinh trình giải toán ngôn ngữ lập trình thích hợp Việc định hướng cho học sinh xác định Input Output toán bước quan trọng Vì thông qua việc xác định hai thành phần giáo viên nên yêu cầu học sinh xác định số lượng biến kiểu liệu cần sử dụng toán lập trình, biến cần sử dụng phát sinh trình thực toán, vấn đề em chưa thực nên gặp nhiều khó khăn khai báo biến cho chương trình, hiểu đơn giản Input liệu đầu vào toán (giả thiết) Output liệu đầu toán (kết luận) Ví dụ 1: Lập chương trình tìm ước chung lớn hai số nguyên dương M, N Qua toán xác định liệu đầu vào toán cho M, N nguyên dương, liệu đầu ước chung lớn (ƯCLN) hai số cho - Input: M, N nguyên dương - Output: ƯCLN(M, N) Như xác định biến tham gia vào viết chương trình hai biến đơn M N thuộc kiểu liệu số nguyên Ví dụ 2: Cho dãy A gồm N số nguyên a1, a2,…,an tính hiển thị tổng số dương dãy - Input: Dãy A gồm N số nguyên a1, a2,…,an - Output: Tổng số dương dãy Sau xác định hai thành phần Input Output ta phải xác định số lượng biến kiểu liệu biến cần sử dụng chương trình dựa vào Input Output xác định Với Input Output xác định nhận cần phải khai báo biến N dùng để xác định số lượng số hạng dãy biến mảng để chứa số hạng dãy, hai biến phải thuộc kiểu liệu số nguyên Nhưng với hai biến chưa thể giải toán cần phát sinh thêm biến giải được, đặc điểm khác với toán Để tính tổng số dương dãy số ta phải sử dụng vòng lặp phải sử dụng biến đếm, thực tính tổng phải có biến để chứa tổng Các biến thuộc kiểu số nguyên Tóm lại toán tính tổng số dương dãy số cần có biến sau Biến N: xác định số lượng số hạng Biến mảng: chứa số hạng Biến đếm: dùng cho vòng lặp (biến phát sinh) Biến tổng: dùng để chứa tổng số dương dãy số Như xác định toán khâu giúp học sinh biết toán cho gì? Và cần tìn gì? để từ khai báo biến chương trình 3.2 Thiết kế thuật toán Có thể nói lập trình giải toán máy tính bước quan trọng Mỗi thuật toán giải toán đó, có nhiều thuật toán khác giải toán cần thiết kế chọn thuật toán tối ưu để giải toán Khi thực thiết kế lựa chọn thuật toán người lập trình thường quan tâm đến tài nguyên như: thời gian thực chương trình (chương trình thực nhanh hay chậm), số lượng ô nhớ (chương trình chiếm dụng nhớ máy tính)… Trong loại tài nguyên thường người ta quan tâm nhiều đến tài nguyên thời gian dạng tài nguyên không tái tạo Khi thiết kế thuật toán để giải toán cụ thể cần vào lượng tài nguyên mà thuật toán đòi hỏi lượng tài nguyên thực tế cho phép Để mô tả thuật toán trước tiên học sinh phải đưa ý tưởng thuật toán, mô tả, thiết kế thuật toán theo ý tưởng Trong mô tả thuật toán cần ý áp dụng số lượng biến cho chương trình Như ví dụ trên: Tìm ước chung lớn hai số nguyên dương M, N Để giải toán có nhiều thuật toán thực được, sử dụng thuật toán tìm ƯCLN phương pháp hiệu * Ý tưởng thuật toán: - Nếu M = N giá trị chung ƯCLN M N; - Nếu M >N ƯCLN(M, N) = ƯCLN(M-N, N); - Nếu M > N ƯCLN(M, N) = ƯCLN(M, N-M); * Thuật toán: Sử dụng phương pháp liệt kê Bước 1: Nhập M, N Bước 2: Nếu M = N ƯCLN M N, chuyển đến Bước 5; Bước 3: Nếu M > N M ← M - N ngược lại N ← N - M; Bước 4: Quay lại Bước 2; Bước 5: Đưa kết ƯCLN kết thúc * Nhận xét thuật toán: Đây thuật toán tìm ƯCLN hai số nguyên dương phương pháp hiệu, thuật toán đơn giản dễ hiểu tối ưu Mục đích thuật toán so sánh hai số với sau lấy số lớn trừ số bé, trình lặp lặp lại nhiều lần thực phép trừ hai số ƯCLN toán lúc M = N Nhược điểm thuật toán hai số M N có chênh lệch lớn số lần lặp lớn Ngoài tham khảo yêu cầu học sinh trình bày thêm số thuật toán khác so sánh với thuật toán để nhận biết thuật toán tối ưu Tóm lại khâu lựa chon thiết kế thuật toán khâu rât quan trọng Như nói toán có nhiều thuật toán để giải phải biết lựa chọn thuật toán tối ưu để áp dụng cho toán Thuật toán tối ưu thuật toán phải đáp ứng tiêu chí như: thời gian chạy chương trình, chiếm dụng nhớ chương trình, rõ ràng, dễ hiểu… thuật toán thời gian chạy chương trình nhanh chiếm dụng nhớ máy tính đồng thời đảm bảo tính đắn toán, phù hợp với chương trình thuật toán tối ưu Thuật toán phải có tính khả dụng có hướng phát triển với chương trình lớn Nhưng thông thường học sinh không lựa chọn thuật toán mà biết thuật toán làm, không tìm xem toán có thuật toán tối ưu để giải cho phù hợp học sinh thường có kết không mong muốn chương trình chạy 3.3 Viết chương trình Việc viết chương trình tổng hợp việc lựa chọn cách tổ chức liệu sử dụng ngôn ngữ lập trình để diễn đạt thuật toán Khi viết chương trình ta nên chọn ngôn ngữ lập trình phần mềm chuyên dụng với thuật toán Viết chương trình ngôn ngữ cần phải tuân theo qui định ngữ pháp ngôn ngữ Chương trình dịch phát thống báo lỗi cú pháp, lỗi ngữ nghĩa phát thực chương trình Khi viết chương trình cần ý bố cục chương trình, trang trí trình bày chương trình phải gọn gàng tạo điều kiện thuận lợi cho trình sửa chữa phát triển chương trình sau Một thao tác quan trọng viết chương trình em phải lưu chương trình, học sinh hay quên thao tác nên dẫn đến chương trình không khôi phục * Chương trình toán tìm UCLN hai số nguyên dương M N - Phân tích chương trình: Học sinh cần bám sát vào phần Input Output toán thuật toán thiết kế để thực Với chương trình cần phải khai báo biến đơn: M N Biến M N dùng để lưu trữ số hạng nhập vào từ bàn phím Hai biến đơn thuộc kiểu liệu số nguyên - Về thuật toán: Mục đích thuật toán biến đổi M N hiệu số lớn trừ số bé, trừ M =N dừng, kết ƯCLN toán Như thuật toán có sử dụng cấu trúc lặp với số lần chưa biết trước để mô tả hành động lặp M - N N - M đến M = N dừng Các câu lệnh vòng lặp thường lặp lại nhiều lần, để tăng hiệu chương trình thao tác không cần lặp lại nên đưa vòng lặp - Phương pháp thực hiện: + Mở chương trình ngôn ngữ lập trình Pascal + Lưu chương trình với tên UCLN + Soạn chương trình Program UCLN; Uses crt; Var M, N: Word; Begin Clrscr; Write(‘Nhap M: ’); Readln(M); Write(‘Nhap N: ’); Readln(N); While M N if M > N then M:= M-N else N:= N-M; Write (‘UCLN = ’ , M); Readln End + Nhấn phím F9 để dịch chương trình Thao tác kiểm tra lỗi cú pháp chương trình + Nhấn tổ hợp phím Ctrl + F9: Dịch chạy chương trình Vậy khâu viết chương trinh dùng ngôn ngữ lập trình để mô tả lại thao tác thuật toán, ngôn ngữ lập trình có nhiều ngôn ngữ lập trình khác Nên phải chọn lựa ngôn ngữ lập trình cho phù hợp với thuật toán, với thuật toán tìm ƯCLN nên sử dụng ngôn ngữ lập trình Pascal để viết ngôn ngữ dể hiểu thông dụng học sinh khối 11 Trong bước học sinh thường mắc phải sai lầm như: em chon ngôn ngữ viết lại không tuân thủ quy tắc ngôn ngữ bỏ qua số bước thuật toán Chính mà chạy chương trình báo sai nhiều 3.4 Chạy thử chương trình (Test) 10 Sau viết xong, chương trình có nhiều lỗi khác chưa phát (lỗi ngữ nghĩa) nên không cho kết Vì vậy, cần phải thử chương trình cách thực với số Input tiêu biểu phụ thuộc vào đặc thù toán cách ta biết trước Output Tức ta đưa Input để thử toán Input ta nhẩm tính tính nhanh kết toán cho máy thực chương trình với Input để thử kết Quá trình người ta gọi chạy thử chương trình (Test) Nếu có sai sót, phải chỉnh sửa chương trình thử lại, kết thử nghiệm chưa cho thấy thuật toán không phù hợp với toán, phải hiệu chỉnh lại Thực chất thao tác chạy thử chương trình Input Đây bước quan trọng để kiểm định lại thao tác làm xác chưa đặc biệt thuật toán Ngoài việc chỉnh sửa câu lệnh, thuật toán thao tác không phần quan trọng định dạng chương trình thẩm mỹ cho đẹp mắt, cách bố trí nội dung chương trình ngắn gọn tạo cảm giác gần gũi thân thiện với người sử dụng Với toán tìm ƯCLN hai số nguyên dương M N ta đưa vào số Input sau để kiểm tra điều kiện xảy toán Bộ Input kiểm tra khả điều kiện M = N; M > N; N > M : - Với M = N: M= 10; N = 10  Ước chung lớn 10 - Với M > N: M = 4; N =  Ước chung lớn - Với N > M: M= ; N = 12  Ước chung lớn Chúng ta sử dụng Input để thử chương trình (test) xác định kết hình Nếu kết máy tính hiển thị chắn thuật toán toán xác Nếu kết bị sai quay lại sửa chương trình chạy thử lại với Input Ngoài học sinh cung cấp thêm nhiều Input khác phải đảm bảo tiêu chí kiểm tra khả xảy toán Input phải nhẩm tính kết trước mang thử chương trình, đồng thời có phương án để hoàn thiện chương trình Nếu kết chạy thử chương trình cho thấy ngôn ngữ lập trình thuật toán không phù hợp phải kiểm tra lại, trình lặp lặp lại nhiều lần, chí có phải thiết kế thuật toán lại Như sau viết chương trình xong phải kiểm tra xem toán đạt yêu cầu chưa? Khi viết xong chương trinh thông thường học sinh thường mắc phải tình trạng kiểm tra chương trình hai lần nên dẫn đến tình trạng chương trình đáp ứng 11 phần toán Vậy người thầy phải nhắc học sinh chạy thử chương trình nhiều lần để khẳng định kết đạt yêu cầu toán 3.5 Tổng kết toán Đây bước tổng hợp sau toán giải thành công máy tính, sau ta nên có nhận xét rút kinh nghiệm toán thuật toán, chương trình… để thấy rõ chưa trình giải để giúp ích cho toán sau hướng phát triển chương trình Trên phương pháp giải toán máy tính mà trình thực nghiệm tạo hiệu rõ rệt với học sinh em làm Trong khuôn khổ viết xin minh chứng toán đếm số chẵn dãy Nội dung toán sau: Bài toán: Cho dãy A gồm N số nguyên khác a 1, a2,…aN , đếm số chẵn dãy Ví dụ: cho dãy A gồm số: 11, 4, 25, 17, 8, 19, 1, 20, 50 - Số chẵn số chia hết cho 2, gán cho biến đếm thực kiểm tra chia hết cho cộng vào biến đếm đơn vị Quá trình thực đến cuối dãy kết thúc * Xác định Input, Output toán Input: Dãy A gồm N số nguyên khác a1, a2,…,aN Output: Đếm số chẵn dãy Ngay bước xác định kiểu liệu số biến chương trình có như: Các biến đơn N, i, biến mảng để chứa dãy số biến (d) để chứa số chẵn Kiểu liệu biến kiểu số nguyên * Thiết kế thuật toán - Ý tưởng thuật toán Đếm toán thường xảy sống, chẳng hạn muốn biết có trang, muốn biết lớp có bạn, có bạn nữ tổng số học sinh lớp Với thuật toán đếm có nhiều yêu cầu mà yêu cầu điều kiện thuật toán Khi xảy hai trường hợp sau: + Nếu chia hết cho cộng vào biến đếm đơn vị 12 + Nếu không chia hết cho không công vào biến đếm Quá trình lặp lại số lần cuối dãy dừng - Thuật toán Bước 1: Nhập N, số hạng a1, a2,…, aN; Bước 2: i ← 1, d ← 0; Bước 3: Nếu i>N đưa giá trị d, kết thúc; Bước 4: Nếu Ai chia hết cho d ← d + 1; ; Bước 5: i ← i + 1, quay lại bước 3; Sau thiết kế thuật toán xong ta thấy xác định biến N, i, d biến mảng để diễn đạt thuật toán ta chuyển sang bước * Viết chương trình: - Tôi chọn ngôn ngữ lập trình Pascal để diễn đạt thuật toán - Mở ngôn ngữ lập trình Pascal - Lưu chương trình với tên cac_so_chan sochan; - SoạnProgram chương trình Uses crt; Var I, d, N: integer; A : array [1 100] of integer; Begin Clrscr; Write(‘Nhap N: ’); Readln(N); For i:=1 to N begin write(‘Phan tu thu ’,i, ‘ = ’); readln(A[i]); end; d:=0; For i:=1 to N If a[i] mod = then D:= d+1; If d>0 then writeln(‘so lưong so chan day la:’ , d) else writeln(‘trong day khong co so chan nao:’); Readln 13 End Sau cài đặt chương trình xong thực - Nhấp phím F9 để dịch chương trình - Nhấn tổ hợp phím Ctrl + F9 dịch thực chương trình * Chạy thử chương trình (Test) Sau chương trình dịch thực biên dịch thành công chương trình ta bắt đầu chạy thử chương trình Input tiêu biểu để kiểm tra tính đắn chương trình Với ta Test Input sau: Cho n = dãy A gồm số: 11, 4, 25, 17, 8, 19, 1, 20, 50 - Với = 1: Ta có Ai = 11  d = - Với = 2: Ta có Ai =  d = - Với = 3: Ta có Ai = 25  d = - Với = 4: Ta có Ai = 17  d = - Với = 5: Ta có Ai =  d = - Với = 6: Ta có Ai = 19  d = - Với = 7: Ta có Ai =  d = - Với = 8: Ta có Ai = 20  d = - Với = 9: Ta có Ai = 50  d = Như với Input cho ta có: d = số chẵn Ngoài đưa thêm vào nhiều Input tiêu biểu khác để kiểm tra tính đắn chương trình * Tổng kết toán Qua toán đến số chẵn dãy số nhận thấy rằng, trước bắt tay vào thực lập trình giải toán cần phân tích kỹ Input Out toán để lựa chọn thuật toán phù hợp Với toán hoàn toàn áp dụng cho liên quan tới thuật toán đếm 14 III KẾT QUẢ THỰC HIỆN CÓ ĐỐI CHỨNG Có thể nói việc thưc đề tài “Một số Cải tiến phương pháp giải toán máy tính” ngày đầu gặp nhiều khó khăn mà em quen với cách hàng ngày sử dụng Để từ thói quen thường sử dụng vận dụng phương pháp việc làm không dễ, ngày một, ngày hai mà thực được, đặc biết với đối tượng học sinh em học sinh dân tộc miền núi khả kiến thức hạn chế Đó trình lâu dài có kế thừa cách tân mạnh mẽ Chỉ có thế, việc cải tiến phương pháp dạy học đạt chất lượng hiệu Trong năm học 2011 - 2012, vận dụng sáng kiến kinh nghiệm vào tiết dạy thu kết phần mong đợi Bản thân nhận thấy kinh nghiệm phù hợp với chương trình sách giáo khoa Tin học 11 với tiết dạy theo hướng đổi Đa số học sinh không bỡ ngỡ với việc lập trình toán Các em hiểu rõ chất giải toán máy tính đặc biệt với ngôn ngữ lập trình Pascal Học sinh thấy hứng thú học tập, tích cực, chủ động để mở rộng vốn hiểu biết đồng thời linh hoạt việc lĩnh hội kiến thức, không khí học tập trở nên sôi Các em cảm thấy yêu thích ngôn ngữ lập trình hơn, tỷ lệ học sinh khá, giỏi tăng lên, tỷ lệ học sinh yếu giảm Cụ thể, qua kiểm tra đánh giá thu kết sau: NĂM HỌC 2010 - 2011 2011 - 2012 LỚP SĨ SỐ GIỎI KHÁ TB YẾU KÉM SL % SL % S L % SL % SL % 11A3 45 11 16 36 2 0 11A4 44 14 32 0 11A3 46 15 31 67 8 0 0 11A4 46 11 19 41 2 0 0 15 IV KẾT LUẬN VÀ KIẾN NGHỊ Kết luận - Giải toán máy tính thiếu chương trình Tin 11 nói riêng với ngôn ngữ lập trình nói chung Với yêu cầu giúp học sinh nắm vững thao tác lập trình, đối tượng học sinh trung bình, yếu thấy hứng thú với môn học, học sinh khá, giỏi thấy nhiều sai sót trình lập trình cần khắc phục, không gây tính chủ quan, bỏ qua em Tuy nhiên, với đối tượng học sinh khá, giỏi nhiều hơn, giáo viên phải tích cực tự học, tự nghiên cứu, tìm tòi sáng tạo thường xuyên bổ sung kiến thức tích lũy kinh nghiệm vấn đề - Qua việc nghiên cứu nội dung lẫn phương pháp dạy học việc giúp cho thân nâng cao nghiệp vụ, trình giảng dạy mang lại hiệu mong muốn giúp thân người giáo viên nâng cao phương pháp tự học, tự nghiên cứu để tiếp tục nghiên cứu vấn đề khác tốt suốt trình dạy học - Trong trình giảng dạy thực sáng kiến kinh nghiệm mình, thân rút số kinh nghiệm sau: + Những ví dụ tập cho học sinh phải thực tế, dễ hiểu, gợi mở giúp kích thích tư tính logic em, tránh ví dụ hay tập cao siêu trừu tượng + Giáo viên nên hướng dẫn, phân tích cho học sinh để tìm nhiều lời giải bước để tới lời giải thông minh tối ưu + Giáo viên nên giao thêm số tập nhà mang tính chất tương tự mở rộng để em tự viết chương trình nhà Nếu có việc làm trên, tin tất em học sinh không lúng túng, ngại ngùng lập trình Do thời gian có hạn kinh nghiệm nhiều hạn chế nên trình viết khó tránh khỏi sai sót cách trình bày, hệ thống ví dụ tập chưa nhiều, phong phú, đa dạng, chưa đầy đủ khoa học Tôi mong nhận đóng góp ý kiến thầy cô đồng nghiệp để sáng kiến kinh nghiệm hoàn thiện hơn, góp phần nâng cao chất lượng giảng dạy học tập giáo viên học sinh Kiến nghị đề nghị Đối với nhà trường: Kính mong quan tâm giúp đỡ nhà truờng tiếp tục qua tâm tạo điều kiện tài liệu giảng dạy, trang thiết bị máy móc thực hành cho học sinh Để học sinh ngày có điều kiện học tập thuận lợi 16 Đối với giáo viên: Tôi thấy nhân tố quan trọng nhất, định đến thành công đề tài với vai trò đầu tàu hướng dẫn học sinh vận dung phương pháp cách, không làm thay cho Mỗi giáo viên phải có kế hoạch dự đồng nghiệp, tự rút kinh nghiệm cho thân Với tổ chuyên môn thường xuyên kiểm tra đôn đốc tổ chức rút kinh nghiệm cách nghiêm túc sau tiết dạy giáo viên Chỉ có thế, tạo chuyển biến mạnh mẽ đổi phương pháp dạy học tích cực nhằm phát huy tính sáng tạo học sinh Trên thực tế, việc ứng dụng sáng kiến phạm vi hẹp, chưa thể đánh giá toàn diện xác ưu điểm hạn chế đề tài Vì vậy, mong nhận ủng hộ động viên lời góp ý chân thành từ quý thầy cô đồng nghiệp để sáng kiến ngày hoàn thiện 17 [...]... chỉ một hai lần nên dẫn đến tình trạng chương trình chỉ đáp ứng 11 một phần nào của bài toán Vậy là một người thầy chúng ta phải nhắc học sinh chạy thử chương trình nhiều lần để khẳng định kết quả đã đạt các yêu cầu của bài toán 3.5 Tổng kết bài toán Đây là bước tổng hợp sau khi bài toán đã được giải thành công trên máy tính, sau mỗi bài ta nên có nhận xét và rút kinh nghiệm về bài toán đó như về thuật... về thuật toán, về chương trình… để thấy rõ cái được và chưa được trong quá trình giải bài để giúp ích cho những bài toán sau cũng như hướng phát triển của chương trình Trên đây là phương pháp giải bài toán trên máy tính mà trong quá trình thực nghiệm đã tạo được những hiệu quả rất rõ rệt với học sinh khi các em làm bài Trong khuôn khổ bài viết tôi xin được minh chứng bằng bài toán đếm các số chẵn trong... dụng cho các bài liên quan tới thuật toán đếm 14 III KẾT QUẢ THỰC HIỆN CÓ ĐỐI CHỨNG Có thể nói việc thưc hiện đề tài Một số Cải tiến về phương pháp giải bài toán trên máy tính trong những ngày đầu gặp rất nhiều khó khăn khi mà các em đang quen với cách hàng ngày mình sử dụng Để từ thói quen thường sử dụng và vận dụng một phương pháp mới là một việc làm không dễ, không thể trong ngày một, ngày hai... đã cho ta có: d = 4 số chẵn Ngoài ra chúng ta có thể đưa thêm vào nhiều bộ Input tiêu biểu khác để kiểm tra tính đúng đắn của chương trình * Tổng kết bài toán Qua bài toán đến các số chẵn trong dãy số trên có thể nhận thấy rằng, trước khi bắt tay vào thực hiện lập trình giải một bài toán nào đó cần phân tích kỹ Input và Out của bài toán để lựa chọn thuật toán phù hợp Với bài toán trên chúng ta hoàn... Dãy A gồm N số nguyên khác nhau a1, a2,…,aN Output: Đếm các số chẵn trong dãy Ngay tại bước này chúng ta có thể xác định được kiểu dữ liệu của một số biến trong chương trình sẽ có như: Các biến đơn N, i, biến mảng để chứa dãy số và một biến (d) để chứa các số chẵn Kiểu dữ liệu các biến này là kiểu số nguyên * Thiết kế thuật toán - Ý tưởng thuật toán Đếm là bài toán thường xảy ra trong cuộc sống, chẳng... nâng cao phương pháp tự học, tự nghiên cứu để có thể tiếp tục nghiên cứu các vấn đề khác tốt hơn trong suốt quá trình dạy học của mình - Trong quá trình giảng dạy và thực hiện sáng kiến kinh nghiệm của mình, bản thân tôi rút ra một số kinh nghiệm sau: + Những ví dụ và bài tập cho học sinh phải thực tế, dễ hiểu, gợi mở giúp kích thích sự tư duy và tính logic của các em, tránh những ví dụ hay bài tập... dân tộc miền núi khả năng kiến thức còn hạn chế Đó là một quá trình lâu dài trong đó có sự kế thừa và cách tân mạnh mẽ Chỉ có thế, việc cải tiến phương pháp dạy học mới có thể đạt được chất lượng và hiệu quả Trong năm học 2011 - 2012, tôi đã vận dụng sáng kiến kinh nghiệm này vào các tiết dạy và thu được những kết quả phần nào như mong đợi Bản thân tôi nhận thấy những kinh nghiệm này phù hợp với chương... dung bài toán như sau: Bài toán: Cho dãy A gồm N số nguyên khác nhau a 1, a2,…aN , đếm các số chẵn trong dãy Ví dụ: cho dãy A gồm các số: 11, 4, 25, 17, 8, 19, 1, 20, 50 - Số chẵn là số chia hết cho 2, đầu tiên gán cho biến đếm bằng 0 rồi thực hiện kiểm tra nếu ai chia hết cho 2 thì cộng vào biến đếm 1 đơn vị Quá trình này được thực hiện đến cuối dãy thì kết thúc * Xác định Input, Output của bài toán. .. học 11 với những tiết dạy theo hướng đổi mới Đa số học sinh không còn bỡ ngỡ với việc lập trình một bài toán Các em hiểu rõ bản chất thế nào là giải bài toán trên máy tính đặc biệt với ngôn ngữ lập trình Pascal Học sinh thấy hứng thú hơn trong học tập, tích cực, chủ động hơn để mở rộng vốn hiểu biết của mình đồng thời cũng linh hoạt trong việc lĩnh hội kiến thức, không khí học tập trở nên sôi nổi hơn... không cho kết quả đúng Vì vậy, cần phải thử chương trình bằng cách thực hiện nó với một số bộ Input tiêu biểu phụ thuộc vào đặc thù của bài toán và bằng cách nào đó ta biết trước được Output Tức là khi ta đưa bộ Input để thử bài toán thì bộ Input đó ta có thể nhẩm tính hoặc tính nhanh được kết quả của bài toán rồi cho máy thực hiện chương trình với bộ Input đó để thử kết quả Quá trình này người ta gọi

Ngày đăng: 30/10/2016, 17:03

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan