Khi giảng dạy thực tế ở trường tôi thấy học sinh khi học phần thuật toán hay gặp khó khăn khi tiếp cận một thuật toán mới do khả năng tư duy, hình dung của các em còn hạn chế. Trong khi đó với trình độ của giáo viên và các công cụ hỗ trợ thì hoàn toàn có thể làm các chương trình mô phỏng thuật toán cho học sinh có thể tìm hiểu một các trực quan hơn.
SỞ GDĐT BÀ RỊA VŨNG TÀU TRƯỜNG THCS CHU VĂN AN SỬ DỤNG FLASH MÔ PHỎNG MỘT SỐ THUẬT TOÁN CƠ BẢN LĨNH VỰC TIN HỌC TÁC GIẢ …………………… GIÁO VIÊN BỘ MÔN TIN HỌC NĂM HỌC 20…-20… MỤC LỤC A Phần mở đầu Trang I Lí chọn đề tài Trang II Mục đích phương pháp nghiên cứu Trang III Giới hạn đề tài Trang IV Các giả thiết nghiên cứu Trang V Cơ sở lý luận, sở thực tiễn Trang VI Kế hoạch thực Trang B Phần nội dung Trang I Thực trạng mâu thuẫn Trang II Các biện pháp giải vấn đề Trang III Hiệu áp dụng Trang 13 C Phần kết luận Trang 13 I Ý nghĩa đề tài với công tác Trang 13 II Bài học kinh nghiệm, hướng phát triển Trang 13 III Đề xuất kiến nghị Trang 13 A PHẦN MỞ ĐẦU I Lí chọn đề tài Những năm gần đây, Việt Nam môn Tin học đưa vào chương trình học sinh trung học sở trung học phổ thơng mơn học thức Trong nội dung dạy học lập trình quan trọng, đòi hỏi học sinh cần nắm kiến thức Tin học Trong đó, việc nắm vững thuật toán từ đến phức tạp quan trọng tốn nhiều thời gian công sức lớn Hiện nay, việc truyền đạt thuật toán dù cho học sinh học gặp nhiều khó khăn Có nhiều nhiều lý do: Học sinh khó hình dung, thời gian giảng dạy lớp có hạn, tài liệu tham khảo tự đọc, tự học Vì để học sinh hiểu rõ số thuật tốn tơi xây dựng đề tài mơ hoạt động số thuật tốn giải để học sinh dễ dàng nắm bắt tư tưởng bước hoạt động cụ thể thuật tốn, để giáo viên làm cho giảng thuật toán trở nên dễ hiểu, dễ tiếp thu II Mục đích phương pháp nghiên cứu Mục đích nghiên cứu Đề tài nghiên cứu nhằm mục đích giúp cho học sinh nắm vững thuật tốn cách trực quan, chi tiết bước Đồng thời giúp cho giáo viên có cơng cụ giảng dạy lập trình tốt Phương pháp nghiên cứu Phương pháp nghiên cứu, phân tích tổng hợp tài liệu Phương pháp điều tra, thống kê Phuương pháp khảo nghiệm, thử nghiệm III Giới hạn đề tài Đề tài phục vụ cho việc giảng dạy phần lập trình mơn tin học THCS THPT IV Các giả thiết nghiên cứu Cách gần ba thập kỉ (khoảng năm 80 kỉ XX), nhiều nước giới mơ thuật tốn sử dụng việc giảng dạy mơn Khoa học máy tính công cụ hữu hiệu để mô tả thuật tốn cách trực quan, khoa học Khơng cho người học biết chi tiết bước hoạt động thuật toán với cấu trúc liệu kèm thông qua việc mô tả đồ họa Trong q trình tìm hiểu thuật tốn, học sinh hiểu sâu dễ dàng nắm bắt quan sát bước thuật toán cách trực quan Điều gây hứng thú kích thích khả tu em V Cơ sở lý luận, sở thực tiễn Cơ sở lí luận Một chương trình lập trình máy tính chứa cấu trúc liệu thuật tốn mà thực Trong thực chương trình đó, giá trị thực cấu trúc liệu thay đổi dựa bước hoạt động thuật tốn Mơ thuật tốn sử dụng đồ hoạ để biểu diễn thay đổi trạng thái cấu trúc liệu cho bước hoạt động cách trực quan, khoa học Trong suốt q trình biểu diễn, người dùng quan sát việc thực thi thuật tốn theo bước để biết chi tiết thuật toán hiểu cách tường tận thuật tốn Trên giới, hệ thống mô sử dụng rộng rãi việc dạy học ngành khoa học máy tính Đã có số lượng học sinh, sinh viên đào tạo chương trình mơ để thấy hiệu giảng dạy với kết khả quan Cơ sở thực tiễn Khi giảng dạy thực tế trường thấy học sinh học phần thuật tốn hay gặp khó khăn tiếp cận thuật toán khả tư duy, hình dung em hạn chế Trong muốn em hiểu giáo viên phải thêm bước mơ tả ví dụ thực tế thuật toán tay ( viết lên bảng với số liệu đầu vào thuật toán chạy bước sau ) Trong với trình độ giáo viên cơng cụ hỗ trợ hồn tồn làm chương trình mơ thuật tốn cho học sinh tìm hiểu trực quan VI Kế hoạch thực Đề tài thực qua bước : Nghiên cứu phân tích giải thuật Bước q trình giải tốn Tin học xác định toán Ở bước này, dựa phát biểu toán ta phải xác định rõ Input (dữ liệu đầu vào) Output (kết quả) tốn mối quan hệ chúng Thơng tin cần nghiên cứu cách cẩn thận để lựa chọn thuật tốn, cách thể đại lượng cho, đại lượng phát sinh q trình giải tốn lựa chọn ngơn ngữ lập trình thích hợp Đề xuất lựa chọn cơng cụ để phát triển chương trình mơ thuật toán Trong mục này, phân tích cách tiếp cận để xây dựng hệ thống mơ tính khả thi chúng Ta xem xét vài cơng cụ mơ thuật tốn để xây dựng hệ thống mơ phù hợp Có nhiều cơng cụ để mơ thuật tốn : C#, Java, Flash khuôn khổ đề tài chọn công cụ Flash để thực công cụ mạnh thiết kế đồ họa có ngơn ngữ kịch AS 3.0 hỗ trợ lập trình Thực viết chương trình mơ đưa vào sử dụng giảng dạy Phần đòi hỏi giáo viên phải nắm vững công cụ để mô đầu tư thời gian, công sức để viết chương trình mơ sau kiểm tra tính đắn đưa vào sử dụng B PHẦN NỘI DUNG I Thực trạng mâu thuẫn Khi giảng dạy thực tế trường thấy học sinh học phần thuật tốn hay gặp khó khăn tiếp cận thuật toán khả tư duy, hình dung em hạn chế Trong với trình độ giáo viên cơng cụ hỗ trợ hồn tồn làm chương trình mơ thuật tốn cho học sinh tìm hiểu trực quan II Các biện pháp giải vấn đề Sau xin trình bày cách viết chương trình mơ thuật toán : xếp đổi chỗ trực tiếp, tìm giá trị lớn nhất, tìm kiếm nhị phân, tìm kiếm Trong thuật tốn xếp đổi chỗ trực tiếp minh họa chi tiết, thuật tốn lại cách làm tương tự (Ngồi số chương trình mơ thuật tốn khác tất có file mã nguồn CD) Mơ thuật tốn xếp đổi chỗ trực tiếp a Thuật toán : for i:=1 to n-1 for j:=i+1 to n if a[i]>a[j] then begin tmp:=a [i]; a[i] :=a [j] ; a[j]: =tmp ; end; b Thiết kế chương trình mơ Giao diện : Đầu vào : Nhấn nút để chọn file input.txt Nhấn nút để load giá trị từ file vào chương trình Thiết kế chương trình Đầu tiên tạo layer frame hình Sau thiết kế giao diện Trong node chứa số mũi tên MovieClip Tại layer action gồm hàm khoitao(e:MouseEvent) gọi nhấn nút cập nhật, hàm đọc giá trị từ file input hiển thị node thơng tin hình Hàm set_muiten(i,j) để thiết lập mũi tên theo node Hàm hoandoi(i,j) để hoán đổi giá trị node Hàm pressNext01(e:MouseEvent) gọi nhấn nút Play để chạy tự động Hàm pressNext(e:MouseEvent) gọi nhấn nút Next để chạy bước Tại frame 1(b1) : ta thiết kế phần nhập số liệu Sau nhảy đến frame 10(b2) câu lệnh gotoAndStop(“b2”) Tại frame 10 (b2) : ta kiểm tra xem có cấn đổi giá trị hay không : if (A[di]>A[dj]) { txt_tt.text="A[i] > A[j] đổi chỗ"; }else { txt_tt.text="A[i] < A[j] không đổi chỗ"; } Sau nhảy đến frame 20(b3) câu lệnh gotoAndStop(“b3”) Tại frame 20 (b3) : ta thực việc hoán đổi giá trị hàm hoandoi(i,j):void if (A[di]>A[dj]) { hoandoi(di,dj); txt_khoa.text="A[i] = " + A[di] + " ; " + "A[i] = " + A[dj] ; } Sau nhảy đến frame 20(b3) câu lệnh gotoAndStop(“b3”) Tại frame 30 (b4) : ta kiểm tra gái trị i j để định if(djN) gotoAndStop("b5") else gotoAndStop("b3"); Tại frame 20 (b3) : ta kiểm tra xem A[di]=K hay không để định tìm tiếp (quay lại b2) kết thúc (tới b5) 11 Tại frame 50 (b5) : ta thiết kế phần kết có nút trở để làm lại từ đầu Ta thiết kế nút điều khiển : Play, Next, Stop : Giống phần trước Mơ thuật tốn tìm giá trị lớn a Thuật toán : for i:=1 to n if a[i]>max then max:=a[i]; b Thiết kế chương trình mơ Giao diện : Đầu vào : giống phần trước Thiết kế chương trình : giống phần trước Tại frame (b1) : ta thiết kế phần nhập số liệu Tại frame 10 (b2) : ta kiểm tra : if (di>N) gotoAndStop("b5") else gotoAndStop("b3"); Tại frame 20 (b3) : ta kiểm tra xem A[di]>K hay không để định cập nhật giá trị max hay không Tại frame 50 (b5) : ta thiết kế phần kết có nút trở để làm lại từ đầu Ta thiết kế nút điều khiển : Play, Next, Stop : Giống phần trước 12 III Hiệu áp dụng Qua trình thực hiện, rút nhiều kinh nghiệm cho thân việc tiến hành bước viết chương trình ứng dụng vào giảng dạy đạt hiệu Về phía học sinh việc em hứng thú học tập nắm bắt thuật toán dễ dàng hơn, sâu sắc C PHẦN KẾT LUẬN I Ý nghĩa đề tài với công tác Việc áp dụng đề tài góp phần nâng cao chất lượng học sinh thông qua việc rèn luyện khả tư giải vấn đề cho em Đồng thời đề tài góp phần nâng cao tính sáng tạo, tìm tòi học hỏi giáo viên để tìm cách mơ thuật tốn đơn giản mà hiệu quả, vừa góp phần tiết kiệm cho nhà trường xã hội II Bài học kinh nghiệm, hướng phát triển Để áp dụng tốt giáo viên cần đầu tư công sức thường xuyên nâng cao trình độ chun mơn cập nhật cơng nghệ Giáo viên phát triển từ mơ thuật toán từ đơn giản sang phức tạp đặc biệt thuật toán đồ thị III Đề xuất kiến nghị - Nhà trường cấp nên tạo điều kiện cho giáo viên nâng cao nghiệp vụ để phục vụ giảng dạy tốt Xác nhận, đánh giá, xếp loại đơn vị : Sơng xồi, ngày 24 tháng năm 201 ………………………………………… Tôi cam đoan SKKN ………………………………………… thân viết, không chép nội dung ………………………………………… người khác ………………………………………… (Ký ghi rõ họ tên) ………………………………………… ………………………………………… ………………………………………… 13 ... nước giới mơ thuật tốn sử dụng việc giảng dạy môn Khoa học máy tính cơng cụ hữu hiệu để mơ tả thuật tốn cách trực quan, khoa học Khơng cho người học biết chi tiết bước hoạt động thuật toán với cấu... cách trực quan, khoa học Trong suốt q trình biểu diễn, người dùng quan sát việc thực thi thuật toán theo bước để biết chi tiết thuật tốn hiểu cách tường tận thuật tốn Trên giới, hệ thống mô sử. .. mô tả đồ họa Trong q trình tìm hiểu thuật tốn, học sinh hiểu sâu dễ dàng nắm bắt quan sát bước thuật toán cách trực quan Điều gây hứng thú kích thích khả tu em V Cơ sở lý luận, sở thực tiễn Cơ