Tải bản đầy đủ (.pdf) (11 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (459.87 KB, 11 trang )

1

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à
2

đú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: ax
2
+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



3

Ý 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

















4

b. Viết chương trình mô phỏng thuật toán cho Bài toán 1/SGK 11/Trang 42
Minh hoạ thuật toán: Tính tổng
100
1

1
11




a
a
a
S với a là số nguyên
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()
5

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
N
a
a
a
S




1

1
11
cho đến khi
N
a


1
<0,0001 để thể hiện lệnh: While-Do
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
6

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 If-
Then, 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.

7

Đố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
8

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ụ.
9

-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;
10


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.
11

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

×