Đăng ký Đăng nhập
Trang chủ Giáo án - Bài giảng Sáng kiến kinh nghiệm Skkn nâng cao hiệu quả dạy học chương iii (tin học 11) thông qua việc mô phỏng h...

Tài liệu Skkn nâng cao hiệu quả dạy học chương iii (tin học 11) thông qua việc mô phỏng hoạt động và chuyển đổi qua lại giữa các câu lệnh

.PDF
11
3141
59

Mô tả:

I. ĐẶT VẤN ĐỀ 1. Tên đề tài: NÂNG CAO HIỆU QUẢ DẠY HỌC Ở CHƯƠNG III- TIN HỌC 11 QUA VIỆC MÔ PHỎNG HOẠT ĐỘNG VÀ CHUYỂN ĐỔI QUA LẠI GIỮA CÁC CÂU LỆNH 2. Lí do chọn đề tài Chương trình Tin học 11 với việc học kiến thức và kĩ năng về lập trình. Đây là một nội dung tương đối khó với đa số học sinh, đòi hỏi các em phải tư duy suy luận nhiều hơn so với chương trình Tin học 10 và 12. Bên cạnh đó Tin học là môn không được chọn trong các kỳ thi tốt nghiệp, đại học nên phần lớn các em ít quan tâm, ít đầu tư về thời gian cũng như công sức. Tuy nhiên đây là một môn học có nội dung rất bổ ích và thiết thực với các em, không những rèn luyện tư duy logic mà còn mang tính sáng tạo.Vì vậy đòi hỏi người dạy không những có kiến thức vững vàng mà cần phải có cách dạy sáng tạo, phù hợp để kích thích thái độ học tập và giúp các em tiếp thu kiến thức một cách tốt nhất, vận dụng linh hoạt để giải quyết các vấn đề thực tiễn đặt ra. Với 3 cấu trúc cơ bản trong lập trình: cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp, trong đó cấu trúc rẽ nhánh và lặp được xem là loại cấu trúc tương đối phức tạp với hầu hết các em học sinh, nhất là cấu trúc lặp. Ở ngôn ngữ lập trình Pascal thì cấu trúc lặp được thể hiện bằng hai câu lệnh For-Do và While-Do. Bước đầu tiếp thu kiến thức của bài này các em khó hình dung được sự hoạt động của hai câu lệnh này. Và phần lớn các em rất lúng túng, ngại dùng câu lệnh While-Do, nên đứng trước các bài toán liên quan đến lặp với số lần chưa biết trước các em đều khó giải quyết. Qua nhiều năm giảng dạy, nhận biết được khó khăn đó của học sinh nên tôi đã cố gắng tìm kiếm cách dạy hợp lí chương này để phần nào giúp các em giải quyết khó khăn đó. Cụ thể, trong quá trình dạy chương III Tin học 11: Cấu trúc rẽ nhánh và lặp tôi đã lồng ghép vào bài dạy các đoạn chương trình mô phỏng việc chạy các thuật toán và chuyển đổi qua lại giữa câu lệnh For-Do và While-Do. 3. Đối tượng và phạm vi nghiên cứu Học sinh lớp 11A7, 11A8, 11A13, 11A14 của trường THPT Phan Bội Châu-Cam Ranh-Khánh Hòa trong năm học 2012-1013 Lớp 11A7 11A8 11A13 11A14 Sỉ số 41 38 38 39 4. Phương pháp nghiên cứu Tổng hợp, nghiên cứu các tư liệu, chủ yếu nghiên cứu các sách có liên quan trực tiếp tới chương trình giảng dạy Tin học 11 và ngôn ngữ lập trình Visual Basic For Application (VBA). Học hỏi kinh nghiệm của đồng nghiệp và 1 đúc kết thực tiễn từ giảng dạy cho học sinh. Từ đó theo dõi, kiểm tra, đánh giá và tổng hợp kết quả. Sử dụng phương pháp nghiên cứu thực nghiệm. Tôi đã áp dụng giảng dạy ở hai lớp 11A7 và 11A13, sau đó so sánh, đối chiếu kết quả với hai lớp 11A8, 11A14. II. GIẢI QUYẾT VẤN ĐỀ 1. Cơ sở lí luận Để có thể viết được các đoạn chương trình mô phỏng hoạt động của các thuật toán trong bài 9,10 chương III trong Sách giáo khoa Tin học 11 và chuyển đổi qua lại giữa hai câu lệnh For-Do và While-Do, trước hết chúng ta phải nắm thật chắc các thuật toán, cấu trúc và hoạt động của ba câu lệnh If-then, For- Do, While-Do và phải có kiến thức về ngôn ngữ lập trình: Visual Basic, cụ thể hơn là biết sử dụng ngôn ngữ VBA cho PowerPoint, đó là ngôn ngữ Visual Basic được tích hợp trong Power Point. a. Viết chương trình mô phỏng thuật toán cho Bài toán Giải phương trình bậc hai: ax2+bx+c=0 (a<>0) để thực hiện lệnh: If-Then Giao diện chương trình Giải phương trình bậc hai 2 Ý tưởng - Dùng các Lable để thể hiện bước của thuật toán bằng liệt kê - Dùng các hình vẽ (Shapes) để thể hiện thuật toán bằng sơ đồ khối Chi tiết thực hiện Bước 1: Vẽ 2 nút lệnh: GIAI PTB2, LAMLAI Bước 2: Tạo 6 Lable: 6 dòng thuật toán Bước 3: Vẽ 6 Shapes và 6 Line để minh hoạ thuật toán bằng sơ đồ khối Bước 4: Tạo 6 TextBox để chứa lần lượt các giá trị: a,b,c,D,x1,x2 Bước 5: Viết Code Bước 5.1: Viết Code cho nút GIAI PTB2: Private Sub ptb2_Click() Bước 5.2: Viết Code cho nút: LAMLAI: Private Sub LAMLAI_Click() Bước 5.3: Viết Code cho thay đổi tốc độ Private Sub Sp22_Change() td2.Value = sp22.Value End Sub 3 b. Viết chương trình mô phỏng thuật toán cho Bài toán 1/SGK 11/Trang 42 1 a Minh hoạ thuật toán: Tính tổng S   1 1  ...  với a là số nguyên a 1 a  100 và a>2 để thể hiện lệnh: For-Do Giao diện chương trình tính tổng Tong_1a Ý tưởng - Dùng các Lable để thể hiện bước của thuật toán bằng liệt kê - Dùng các hình vẽ (Shapes) để thể hiện thuật toán bằng sơ đồ khối Chi tiết thực hiện Bước 1: Vẽ 2 nút lệnh: TONG_1A, LAMLAI Bước 2: Tạo 5 Lable: 5 dòng thuật toán Bước 3: Vẽ 6 Shapes và 6 Line để minh hoạ thuật toán bằng sơ đồ khối Bước 4: Tạo 7 TextBox để chứa lần lượt các giá trị: a, 1/a, N, S… Bước 5: Viết Code Bước 5.1: Viết Code cho nút TONG_1A: Private Sub Tong_1a_Click() Bước 5.2: Viết Code cho nút LAMLAI: Private Sub LAMLAI_Click() 4 Bước 5.3: Viết Code cho thay đổi tốc độ Private Sub SpinButton2_Change() tbtd.Value = SpinButton2.Value End Sub c. Viết chương trình mô phỏng thuật toán cho Bài toán 2/SGK 11/Trang 42 Minh hoạ thuật toán: Tính tổng S 1 1 1   ...  a a 1 aN cho đến khi 1 <0,0001 để thể hiện lệnh: While-Do aN Giao diện chương trình tính tổng Tong_2 Ý tưởng - Dùng các Lable để thể hiện bước của thuật toán bằng liệt kê - Dùng các hình vẽ (Shapes) để thể hiện thuật toán bằng sơ đồ khối Chi tiết thực hiện Bước 1: Vẽ 2 nút lệnh: TONG_2, LAMLAI Bước 2: Tạo 5 Lable: 5 dòng thuật toán 5 Bước 3: Vẽ 6 Shapes và 6 Line để minh hoạ thuật toán bằng sơ đồ khối Bước 4: Tạo 8 TextBox để chứa lần lượt các giá trị: a, 1/a, 1/(a+N), N, S… Bước 5: Viết Code Bước 5.1: Viết Code cho nút TONG_2: Private Sub Tong_2_Click() Bước 5.2: Viết Code cho nút LAMLAI Private Sub LAMLAI_Click() Bước 5.3: Viết Code cho thay đổi tốc độ Private Sub SpinButton2_Change() tbtd.Value = SpinButton2.Value End Sub 2. Thực trạng vấn đề Trong quá trình giảng dạy, khi đưa ra ví dụ áp dụng cho các câu lệnh IfThen, For-Do và While-Do, tương ứng với các ví dụ trong sách giáo khoa đã được giới thiệu ở mục cơ sở lí luận, học sinh sẽ không hình dung được hoạt động của các câu lệnh và sự thay đổi các biến có liên quan, nên phần lớn các em hiểu mập mờ. Như vậy ở đây thiếu tính trực quan. Thực trạng với đa số học sinh khi sử dụng câu lệnh While-Do đó là các em gặp phải khó khăn trong việc xác định biểu thức điều kiện, câu lệnh lặp sau Do và cách làm thay đổi giá trị của biểu thức điều kiện, ở đây không những nhiều vấn đề mà còn là vấn đề khó đối với các em. 3. Các biện pháp để giải quyết vấn đề 3.1. Cách sử dụng các chương trình mô phỏng Trong quá trình dạy lý thuyết, khi giới thiệu đến các thuật toán trong chương III sách giáo khoa, chúng ta đưa ra chương trình xây dựng ở trên sẽ giúp các em học sinh thấy sự hoạt động của cấu trúc rẽ nhánh và lặp cũng như sự thay đổi giá trị của các biến có liên quan, giúp các em nhanh chóng nắm bắt và khắc sâu được kiến thức. a.Thiết lập chế độ bảo mật Mặc định PowerPoint không cho phép chạy Macro vì lý do về bảo mật. Để chạy được các chương trình viết bằng VBA trên máy tính chúng ta cần thực hiện các bước sau để thiết lập lại chế độ bảo mật cho PowerPoint. 6 Đối với Microsoft PowerPoint 2003, từ Menu Tool, chọn Macro, chọn Security. Trong Tab Security Level chọn mức Medium hoặc Low ( Tôi thường chọn Low để cho phép chạy tất cả các Macro) Đối với Microsoft Powerpoint 2007 , Click nút Microsoft Office (nút tròn ở góc trái màn hình), chọn PowerPoint, chọn ngăn Trust Center, Click nút Trust Center Settings, chọn Tab Macro Settings và chọn Enable all Macros b. Sử dụng chương trình If-Then Bước 1: Mở chương trình: If-Then Bước 2: Điều chỉnh tốc độ thực hiện chương trình Bước 3: Nhập các giá trị hệ số: a,b,c Bước 4: Giải phương trình bậc 2: Click vào nút: GIAIPTB2 Theo dõi và chờ kết quả thực hiện 7 Bước 5: Để thực hiện lại: Click cào nut LAMLAI c. Sử dụng chương trình For-Do Bước 1: Mở chương trình For-Do Bước 2: Điều chỉnh tốc độ thực hiện chương trình Bước 3: Nhập giá trị a Bước 4: Tính tổng Click vòa nút TONG_1A Theo dõi và chờ kết quả thực hiện chương trình Bước 5: Để thực hiện lại : Click vào nút LAM LAI d. Sử dụng chương trình While-Do Bước 1: Mở chương trình While-Do Bước 2: Điều chỉnh tốc độ thực hiện chương trình Bước 3: Nhập giá trị a Bước 4: Tính tổng Click vào nút TONG_2 Theo dõi và chờ kết quả thực hiện Bước 5: Để thực hiện lại: Click vào nút LAMLAI 3.2. Chuyển đổi qua lại giữa hai câu lệnh For-Do và While-Do Thông thường khi tổ chức giảng dạy, giáo viên chúng ta thường bám sách giáo khoa hướng dẫn học sinh khi gặp cấu trúc lặp với số lần biết trước dùng For-Do để mô tả, gặp cấu trúc lặp với số lần chưa biết trước dùng While-Do để mô tả. Tuy nhiên, trên thực tế lặp với số lần biết trước chúng ta có thể dùng While-Do để mô tả. Và bên cạnh đó giáo viên chưa chú trọng đến việc hướng dẫn học sinh dùng câu lệnh While-Do đối với trường hợp lặp với số lần biết trước. Ở đây tôi khuyên người dạy nên hướng dẫn thêm các em bước đầu dùng cả hai câu lệnh trên cho cấu trúc lặp với số lần biết trước. Tới đây các bạn sẽ thắc mắc vì sao phải làm việc đó, vì như vậy sẽ mất thời gian trên lớp, làm phức tạp hóa vấn đề. Nhưng đó là những nhược điểm mà chúng ta dễ dàng khắc phục, hơn hết đó là thuận lợi và hiệu quả của việc làm này, đó là giúp học sinh sớm làm quen với việc sử dụng câu lệnh While-Do, bước đầu xây dựng câu lệnh lặp và biểu thức điều kiện trong bài toán lặp xác định là minh bạch, dễ nhận biết. Sau khi dạy xong hai câu lệnh For-Do và While-Do giáo viên yêu cầu học sinh dùng câu lệnh While-Do để viết chương trình cho ví dụ của lặp với số lần biết trước. Ở đây học sinh dễ dàng xác định điều kiện lặp, câu lệnh lặp và cách làm thay đổi giá trị của biểu thức điều kiện. Chúng ta cho các em thực hiện chuyển đổi vài ví dụ. 8 -Ví dụ: Chuyển đổi bài toán 1 ở trên sang cách dùng While-do để viết chương trình. Program Tong1a; Uses Crt; Var S:real; a,N:integer; Begin Clrscr; Write(‘Nhap gia tri cua a vao:’); Readln(a); S:=1/a; N:=0; While N<100 do Begin N:=N+1; S:=S+1/(a+N); End; Writeln(‘Tong S la:’,S:8:4); Readln End. ---------------------//------------------Program Tong1b; Uses Crt; Var S:real; a,N:integer; Begin Clrscr; Write(‘Nhap gia tri cua a vao:’); Readln(a); S:=1/a; N:=101; While N>1 do Begin N:=N-1; S:=S+1/(a+N); End; 9 Writeln(‘Tong S la:’,S:8:4); Readln End. Ở đây chúng ta không có công thức chuyển đổi cụ thể, mà tùy thuộc vào từng bài toán chúng ta giải quyết. 4. Hiệu quả của sáng kiến kinh nghiệm Trong năm học trước tôi đã áp dụng mô hình mô phỏng hoạt động của các câu lệnh trên và hướng dẫn học sinh cách chuyển đổi qua lại giữa hai câu lệnh For-Do và While-Do vào hai lớp 11A7và 11A13, sau đó đem kết quả đối chiếu so sánh với lớp không áp dụng, đó là 11A8 và 11A14, đã thấy được hiệu quả giáo dục mang lại thông qua điểm trung bình học kì II của học sinh. Lớp Sĩ số Giỏi Khá Trung bình Yếu Kém 11A7 41 27% 46% 27% 0% 0% 11A13 38 24% 52% 24% 0% 0% 11A8 38 16% 37% 42% 5% 0% 11A14 39 18% 25% 49% 8% 0% Trên đây là số liệu thực tế cho kết quả học tập của học sinh thông qua điểm số, áp dụng sáng kiến đã trình bày ở trên vào giảng dạy đã làm tăng tỉ lệ học sinh khá, giỏi, giảm thiểu học sinh trung bình, yếu, kém. Ngoài ra học sinh còn đạt được các kết quả khác về mặt kĩ năng, thái độ.. III. KẾT LUẬN Với việc đưa vào các chương trình mô phỏng hoạt động của các thuật toán trong bài 9,10 chương III-Tin học 11 và việc lồng ghép hướng dẫn các em chuyển đổi giữa câu lệnh While-Do và For-Do phần nào đó đã giúp học sinh thấu hiểu hoạt động câu lệnh For-Do và While-Do, so sánh được điểm giống và khác giữa hai câu lệnh, ưu thế của từng câu lệnh, quen dần với việc sử dụng câu lệnh While-Do. Từ đó các em đã vận dụng tốt các câu lệnh để giải quyết các bài tập, không còn sợ sệt khi gặp cấu trúc lặp và đặc biệt với cấu trúc lặp với số lần chưa biết trước. Hơn nữa việc sử dụng các đoạn chương trình này cũng hết sức đơn giản, giáo viên và học sinh chỉ việc sử dụng nó như những Slide đơn thuần. Hy vọng sáng kiến kinh nghiệm này sẽ được đưa vào sử dụng rộng rãi trong giảng dạy để giúp các em dễ dàng hơn trong việc tiếp thu kiến thức khó trong Tin học là: các thuật toán và các cấu trúc lệnh. 10 HƯỚNG DẪN SỬ DỤNG CÁC ĐOẠN CHƯƠNG TRÌNH 1. Thay đổi chế độ bảo mật của PowerPoint Tools OptionsSecurityMacro SecurityLow 2. Copy thư mục SKKN vào thư mục gốc D:\ TÀI LIỆU THAM KHẢO 1. Sách giáo khoa Tin học 11-Nhà xuất bản Giáo dục 2. Sách giáo viên Tin học 11-Nhà xuất bản Giáo dục 3. Ngôn ngữ lập trình Pascal-Phạm Anh Phương 4. PowerPoint tương tác-Tác giả: Võ Tấn Dũng 5. VBA cho PowerPoint-Tác giả: Lê Văn Huỳnh 6. Lập trình Visual Basic-Tác giả: VN-Guide 7. Nguồn Internet 11
- Xem thêm -

Tài liệu liên quan

Tài liệu vừa đăng