Tải bản đầy đủ (.doc) (10 trang)

sáng kiến kinh nghiệm tin hoc thpt

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 (63.97 KB, 10 trang )

THÔNG TIN CHUNG VỀ SÁNG KIẾN
1. Tên sáng kiến: “Cách phân biệt lặp với số lần biết trước và chưa biết
trước”.
2. Lĩnh vực áp dụng sáng kiến: Môn tin học
3. Thời gian áp dụng sáng kiến: Từ 1/9/2011
4. Tác giả:
Họ và tên: Vũ Văn Thịnh
Năm sinh: 1982
Nơi thường trú: Hải Đường – Hải Hậu – Nam Định
Trình độ chuyên môn: Cử nhân Tin học
Chức vụ công tác: Giáo viên Tin học
Nơi làm việc: Trường THPT Thịnh Long
Địa chỉ liên hệ: Trường THPT Thịnh Long
Điện thoại: 0986476448
5. Đơn vị áp dụng sáng kiến:
Tên đơn vị: Trường THPT Thịnh Long
Địa chỉ: TT Thịnh Long -Hải Hậu - Nam Định
Điện Thoại: 03503876372

1


I. ĐIỀU KIỆN HOÀN CẢNH TẠO RA SÁNG KIẾN
- Hiện nay việc dạy học nói chung và dạy học môn Tin học nói riêng yêu cầu
sử dụng khá nhiều phương pháp: phương pháp thảo luận, phương pháp đặt câu
hỏi, phương pháp chia nhóm …
- Các cách thiết kế bài giảng hiện nay nhằm mục đích áp dụng phương pháp
hiện đại để bồi dưỡng cho học sinh năng lực ham muốn học hỏi, tư duy sáng tạo,
năng lực tự giải quyết vấn đề, rèn luyện và phát triển năng lực tự học sáng tạo,
nghiên cứu, nghĩ và làm việc một cách tư duy tự chủ… Đồng thời để thích ứng
với sự phát triển tư duy của học sinh trong xã hội mới và tiếp cận với các công


nghệ tiên tiến trong xã hội, trên thế giới. Bên cạnh đó, trong các kỹ thuật dạy
học mới, vai trò của người thầy có sự thay đổi là: “hướng dẫn học sinh biết tự
mình tìm ra hướng giải quyết những vấn đề nảy sinh trong quá 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 là người định hướng, là người cố
vấn giúp học sinh tự đánh giá, cũng như giúp học sinh luôn đi đúng con đường
tìm hiểu, lĩnh hội kiến thức…”.
- Xuất phát từ thực tiễn giảng dạy tại trường THPT THỊNH LONG tôi thấy
rằng, để đạt hiệu quả cao trong mỗi phần học, tiết học cần có cách thiết kế bài
giảng cho phù hợp với nội dung kiến thức; phương pháp, phương tiện dạy học
phải phù hợp với từng đối tượng học sinh. Để qua mỗi phần học, tiết học, học
sinh thích thú với kiến thức mới, qua đó hiểu được kiến thức đã học trên lớp,
đồng thời học sinh thấy được tầm quan trọng của vấn đề và việc ứng dụng của
kiến thức trước hết để đáp ứng những yêu cầu của môn học, sau đó là việc ứng
dụng của nó vào các công việc thực tiễn trong đời sống xã hội (nếu có).
Trong chương trình tin học 11 có những vấn đề hay những bài đã làm cho
người thầy không biết bắt đầu làm sao cho học sinh hiểu được và hình dung
được bài học.
Xuất phát từ cơ sở trên, tôi đã chọn đề tài “CÁCH PHÂN BIỆT LẶP VỚI SỐ
LẦN BIẾT TRƯỚC VÀ CHƯA BIẾT TRƯỚC”.
II. THỰC TRẠNG
2


Khi dạy chương trình tin học lớp 11 tôi thấy nhiều học sinh gặp khó khăn
trong việc xây dựng thuật toán và viết chương trình, đặc biệt là trong bài “cấu
trúc lặp”. Một trong những lý do tôi nhận thấy là học sinh đã có rất nhiều khó
khăn, nhầm lẫn trong việc xác định vòng lặp và xác định điều kiện dừng của
vòng lặp.
Từ thực trạng đó tôi đã viết và áp dụng sáng kiến này.
III. CÁC GIẢI PHÁP

III.1. Nội dung.
Trong tiết học này tôi đã trình chiếu cho các em xem một vi dụ minh họa như
sau:

1 lít

Bể này chứa tối đa là 100 lít

- Giáo viên sẽ đặt câu hỏi như sau:

Hình 1

Các em quan sát hình 1 và cho biết phải đổ bao nhiêu lần thì bể sẽ được đổ
đầy nước và công việc gì được làm đi làm lại nhiều lần.
+ Học sinh sẽ trả lời được ngay là số lần thực hiện là 100 lần và công việc
được làm đi làm là công việc đổ nước vào bể.
- Tiếp theo cho các em xem hình thứ 2 như sau:

3


? lít

Bể này chứa tối đa là 100 lít

Ca

Hình 2

Giáo viên đặt câu hỏi như sau:

+ Các em có biết được số lần thực hiện công việc đổ nước không ?
+ Đổ khi nào thì dừng việc đổ nước?
- Từ hai câu hỏi trên thì các em sẽ trả lời được là: chưa biết được số lần đổ và
thực hiện công việc đổ nước cho đến khi bình đầy thì dừng việc đổ nước lại.
=> Từ hai hình ảnh ở trên chúng ta có thể giúp cho các em hiểu và biết được
như thế nào là lặp và phân biết được lặp với số lần biết trước và lặp với số lần
chưa biết trước.
- Sau khi các em đã biết được như thế nào là lặp và phân biệt được hai dạng
lặp.
- Tiếp theo đó đưa 2 bài toán trong sách giáo khoa làm ví dụ như sau:
Với a là số nguyên được nhập từ bàn phím và a > 2, xét các bài toán sau đây:
Bài 1. Tính và đưa kết quả ra màn hình tổng
S=

1
1
1
1
+
+
+ ... +
a a +1 a + 2
a + 100

Bài 2. Tính và đưa kết quả ra màn hình tổng
4


S=


1
1
1
1
+
+
+ ... +
+ ...
a a +1 a + 2
a+N

Cho đến khi

1
< 0, 0001 .
a+ N

Giáo viên đưa ra các câu hỏi sau:
Câu hòi 1. Bài 1 đã xác định được lần lặp chưa?
Học sinh trả lời là: đã xác định được lần lặp, cụ thể cộng dồn đến a+100.
Câu hỏi 2. Em hãy viết câu lệnh lặp để tính tổng S ở bài 1?
Học sinh viết:
S:=1/a;
for i:=1 to 100 do
S:=S+1/(a+i);
Câu hỏi 3. Bài 2 đã xác định được lần lặp chưa?
Học sinh trả lời là: chưa xác định được lần lặp, vì với a được nhập từ bàn
phím thì: 1/(a+N) < 0.0001 không xác định được cụ thể N bằng bao nhiêu.
Câu hỏi 4. Em hãy viết câu lệnh lặp để tính tổng S ở bài 2?
Học sinh viết:

S:=1/a;
N:=1;
While 1/(a+N) < 0.0001 do
Begin
S:=S+1/(a+N);
N:=N+1;
End;
Giáo viên cho học sinh hoàn chỉnh chương trình dựa trên hai vòng lặp đã có ở
trên để giải 2 bài toán trên. (sau đó Giáo viên đi kiểm tra)
Câu hỏi 5. Em hãy cho biết sự giống nhau của hai bài toán trên:
Học sinh trả lời:
Xuất phát, S được gán giá trị: 1/a;
Tiếp theo, cộng dồn vào S một giá trị: 1/(a+N), với N tăng từ 1,2,3…
Câu hỏi 6. Hai bài toán trên khác nhau ở điểm nào?
5


Học sinh trả lời:
Bài toán 1 đã biết số lần lặp cụ thể, bài toán 2 chưa xác định được lần lặp
cụ thể.
Câu hỏi 7. Có thể dùng câu lệnh while…do để viết vòng lặp tính tổng S ở bài
1 được không?
Và có thể dùng câu lệnh for…do để viết vòng lặp tính tổng S ở bài 2 được
không?
Học sinh trả lơi:
Việc dùng câu lệnh lặp while…do để thực hiện vòng lặp cho câu lệnh
for…do là có thể làm được, nhưng việc dùng câu lệnh for…do để thực hiện
vòng lặp cho câu lệnh while…do là không được vì:
+ Câu lệnh for…do sau khi thực hiện câu lệnh sau do thì biến đếm tự
động tăng lên 1, trong câu lệnh while…do ta có thể thực hiện lệnh tăng

biến_đếm lên 1 bằng cách thực hiện câu lệnh gán biến_đếm:=biến_đếm+1.
+ Câu lệnh for…do kết thúc khi biến_đếm > Giá_trị_cuối, trong câu lệnh
while…do ta có thể đưa điều kiện biến_đếm>Giá_trị_cuối vào trong điều kiện
kiểm tra vòng lặp while…do, cụ thể bài 1 ta có thể thực hiện như sau:
S:=1/a;
N:=1;
While N <= 100 do
Begin
S:=S+1/(a+N);
N:=N+1;
End;
+ Câu lệnh while…do thực hiện câu lệnh khi điều_kiện còn đúng, nên ta
không xác định được đến vòng lặp thứ bao nhiêu để điều_kiên sai vì thế ta
không thể dùng vòng lặp for…do để thực hiện tính tổng S cho bài 2.
* MỘT SỐ VÍ DỤ CHO HỌC SINH THAM KHẢO THÊM.
- VÍ DỤ 1:
Program chuongtrinh;
6


Uses crt;
Var a,b byte;
Begin
Clrscr;
a:=1;
b=7;
c:=0;
while abegin
c:=c+a;

a:=a+1;
end;
Writeln(‘c=’ ,c:6);
Readln
End;
a. Hãy sửa lỗi sai của chương trình trên ?
b. Kết quả của chương trình trên là bao nhiêu ?
- Sau khi học sinh trả lời thì ta cho học sinh xem kết quả để so sánh và phân
tích.
a) Sửa:
Program chuongtrinh;
Uses crt;
Var a,b : byte;
Begin
Clrscr;
a:=1;
b:=7;
c:=0;
while abegin
7


c:=c+a;
a:=a+1;
end;
Writeln(‘c=’,c:6);
Readln;
End.
b) Giáo viên chạy chương trình cho học sinh xem kết quả và giải thích từ câu

lệnh.
- VÍ DỤ 2:
Hãy viết lại đoạn chương trình sau bằng cách sử dụng câu lệnh lặp For-do?
S:=0; i:=1;
While i < = 20 do
Begin
S:= S+1;
i:= i+1;
End;
writeln(‘tong S =’, S:8);
- Học sinh lên bảng làm sau đó đối chiếu kết quả.
S:=0;
For i:= 1 to 20 do
S:= S+i;
writeln(‘tong S =’, S:8);
- VÍ DỤ 3:
Hãy viết lại đoạn chương trình sau bằng cách sử dụng câu lệnh lặp While-do?
S:=0;
For i:= 1 to 50 do
S:= S+i;
Writeln(‘tong S =’, S:8);
- Học sinh lên bảng làm sau đó đối chiếu kết quả.
S:=0; i:=1;
8


While i < 50 do
Begin
S:= S+1;
i:= i+1;

End;
writeln(‘tong S =’, S:8);
III.2. Giải quyết vấn đề.
Trong quá trình thảo luận để giải thích, chứng minh vấn đề “khả năng chuyển
đổi qua lại giữa hai câu lệnh lặp” bắt buộc học sinh phải nắm vững cú pháp,
cũng như ý nghĩa của hai câu lệnh trên. Dẫn đến việc các em thấy được sự giống
và khác nhau của hai câu lệnh một cách rõ ràng hơn.
IV. HIỆU QUẢ DO SÁNG KIẾN ĐEM LẠI.
Trong quá trình trao đổi, thảo luận, trình bày học sinh được thể hiện khả năng
vận dụng, hiểu biết của mình nên các em tỏ ra hăng hái trong việc giơ tay phát
biểu tranh luận. Đồng thời tiết học trở nên sinh động hơn và giáo viên không
đóng vai trò là người xây dựng lý luận mà học sinh là người chủ động để giải
quyết các vấn đề.
Kết quả là có rất nhiều em đã dễ dàng vận dụng được câu lệnh lặp để giải các
vấn bài toán lặp do giáo viên đặt ra.
V. KẾT LUẬN
Hiện nay, ngôn ngữ lập trình Pascal đã trở thành ngôn ngữ lập trình phổ biến
nhất trên thế giới sử dụng trong lĩnh vực giảng dạy. Trong quá trình giảng dạy
các thầy cô có thể đưa ra các vấn đề như lập trình các game nhỏ…để các em có
thể chứng tỏ được khả năng của mình làm cho học sinh yêu thích môn học, ham
học hỏi và sáng tạo.
Đề tài này mang tính thực tiễn rất cao cụ thể là: Trong tiết học các em học
sinh đã chủ động để tìm tòi lại kiến thức đã học qua đó giải quyết được vấn đề
do giáo viên đặt ra. Trong quá trình giải quyết vấn đề, giáo viên chỉ ra những sai

9


lầm mà các em học sinh mắc phải do hiểu không rỏ vấn đề giúp cho các em hiểu
rõ hơn về câu lệnh.

TÁC GIẢ SÁNG KIẾN

VŨ VĂN THỊNH
CƠ QUAN ĐƠN VỊ ÁP DỤNG SÁNG KIẾN
(Xác nhận, đánh giá, xếp loại)
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
(Ký tên, đóng dấu)

TÀI LIỆU THAM KHẢO
1. Sách giáo khoa tin học 11

Hồ Sĩ Đàm

chủ biên

2. Sách giáo viên tin học 11

Hồ Sĩ Đàm

chủ biên

3. Ngôn ngữ lập trình Pascal – Quách Tuấn Ngọc.


10