Professional Documents
Culture Documents
CHUYÊN ĐỀ:
“SỬ DỤNG HỆ THỐNG CÂU LỆNH LẶP ĐỂ GIẢI
MỘT SỐ BÀI TẬP TRONG PASCAL CÓ HIỆU QUẢ.”
I./ PHẦN MỞ ĐẦU:
1./ Tầm quan trọng của vấn đề:
Trước hết cần khẳng định rằng Pascal là một ngôn ngữ lập trình tốt và
đặc biệt, được tạo ra với mục đích dùng cho giảng dạy vì các lý do: Có cú
pháp rõ ràng, dễ dạy dễ học; Pascal được viết theo lý thuyết chuẩn về lập trình
cấu trúc nên một mặt nó minh hoạ cho lý thuyết về ngôn ngữ lập trình, mặt
khác nhiều tài liệu khoa học máy tính cũng dùng Pascal để minh hoạ; Có thể
sử dụng Pascal để viết các ứng dụng chuyên sâu, can thiệp vào phần cứng của
máy tính và các thiết bị điện tử khác và cuối cùng là do trình biên dịch Pascal
nhỏ gọn, có thể chạy tốt trên các máy tính cấu hình yếu, rất phù hợp với khả
năng đầu tư cho học tập của học sinh, sinh viên.
Tuy nhiên ngày nay công nghệ thông tin đã có nhiều thay đổi. Một
trong những thay đổi cơ bản đó là môi trường hệ điều hành đã thay đổi từ
DOS sang Windows nên khó có thể sử dụng Pascal để viết các chương trình
ứng dụng dưới Windows. Để lập trình được dưới Windows với giao diện đồ
hoạ, người lập trình bắt buộc phải học thêm một ngôn ngữ khác chẳng hạn
DELPHI, Visual Basic… Dĩ nhiên nếu người lập trình nắm vững ngôn ngữ
Pascal thì việc học thêm các ngôn ngữ này là dễ dàng theo kiểu “21 ngày lập
trình được…”.
Để giúp học sinh dễ dàng hơn trong việc lập trình giải quyết các bài
toán mang tính lặp, trong nội dung của bài sáng kiến này tôi đưa ra những
tóm lược cơ bản nhất của các câu lệnh lặp và một số ví dụ mẫu vận dụng cấu
trúc lặp để giải quyết có hiệu quả.
2./ Đối tượng nghiên cứu: Học sinh lớp 8.
3./ Phương pháp nghiên cứu:
trúc lặp để giải quyết có hiệu quả là nhằm giúp học sinh tiếp thu bài nhanh,
nhớ kiến thức lâu hơn và cảm thấy thích thú trong học tập.
III/ THỰC TRẠNG:
* Những việc đã làm được:
- Tôi đã áp dụng công nghệ thông tin để soạn giảng các bài lý thuyết và
thực hành nhằm hướng dẫn học sinh dễ hiểu bài và ghi nhớ kiến thức cơ bản ở
bộ môn Tin học 8.
- Ở những giờ thực hành tôi đều tổ chức học tập theo nhóm và có sự
nhận xét đánh giá kết quả của từng nhóm.
- Tôi đã hình thành nề nếp cho học sinh ngay từ đầu năm học.
* Hạn chế:
- Đa số học sinh bị hổng kiến thức Toán từ lớp dưới nên ý thức tìm tòi
và nghiên cứu của các em còn hạn chế. Có không ít học sinh chưa cố gắng
trong học tập, không chịu khó động não, nên ảnh hưởng không nhỏ đến việc
học.
* Trước khi thực hiện chuyên đề, tôi nhận thấy kết quả như sau:
Tổng số 2009 – 2010
Môn
HS HKI HKII
SL TL SL TL
Tin học 8 73
24 32.9% 42 57.5%
- GV cần đầu tư nghiên cứu, mỗi năm cập nhật những cách hay của
đồng nghiệp để tích luỹ cho việc giảng dạy.
- GV cần dành một thời lượng thích hợp cho việc mấu chốt và hướng
dẫn HS cách nhớ kiến thức cơ bản vừa học ở các tiết học lý thuyết. Cũng như
cách tìm hiểu ý nghĩa của mỗi lệnh trong các bài thực hành.
- HS phải chuẩn bị những gì mà GV đã dặn ở tiết trước.
2/ Một số giải pháp thực hiện:
• Cấu trúc lặp với lệnh FOR...DO:
- Tác dụng: Dùng để xây dựng chu trình với số lần lặp xác định.
- Cú pháp:
• Dạng tiến:
For <Biến đếm > := <giá trị đầu> to <giá trị cuối> do <Câu lệnh> ;
• Dạng lùi:
For <biến đếm> := <giá trị cuối> Downto <giá trị đầu> do <Câu lệnh> ;
Trong đó: + for, to, do là các từ khóa.
+ Biến đếm có kiểu nguyên.
+ Giá trị đầu và giá trị cuối là các biểu thức có cùng kiểu với
biến đếm và giá trị cuối phải lớn hơn hoặc bằng giá trị đầu.
+ Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.
• Nguyên lý hoạt động cấu trúc For dạng tiến:
Begin
bđ := gt đ
Sai
bđ≤ gt c
Đúng
do <Câu lệnh> End
bđ := Succ(b)
GV: Mai Xuân Bằng Tổ : Toán - Tin
Trang 5
Begin
bđ := gt cuối
Sai
Bđ ≥ gt đ
Đúng
do <Câu lệnh> End
bđ := Pred(b)
Câu lệnh là thân chu trình và có thể là câu lệnh đơn hoặc câu lệnh ghép.
• Nguyên lý hoạt động:
Begin
bđ := gt cuối
Sai
Bđ ≥ gt đ
Đúng
do <Câu lệnh> End
bđ := Pred(b)
- Điều kiện để dừng vòng lặp là tổng S phải nhỏ hơn 10.
"Trường hợp này sử dụng dạng cấu trúc While...do như sau:
• Chương trình
Var i : Integer; S:Real;
Begin
S:=0; i:=0;
While S < 10 do
Begin
i := i + 1;
S := S + i / (1+SQR( i ) );
End;
Writeln( ' Tong S =', S : 6 : 2 );
Writeln( ‘So lan lap la:’, i );
Readln;
End.
2. Ví dụ 2: Tìm bội số chung nhỏ nhất của hai số nguyên dương
• Thuật toán:
Lấy một trong hai số lần lượt nhân với 1, 2, 3,... cho đến khi nào tích số
chia hết cho số thứ hai thì tích số chính là BSCNN
• Nhận xét:
- Thuật toán cho thấy là trong quá trình tính toán, không thể biết trước
được quá trình nhân phải thực hiện lặp lại bao nhiêu lần. Trường hợp này
phải sử dụng cấu trúc lặp với số lần lặp không xác định.
- Điều kiện để dừng là tích số chia hết cho số thứ hai
• Chương trình
Program Boisochungnhonhat;
Var
Bscnn, n, m, k: Integer;
Begin
GV: Mai Xuân Bằng Tổ : Toán - Tin
Trang 11
If x>y then x := x – y
else y := y – x;
Writeln(‘USCLN la: ‘, x)
Readln;
End.
V. VẬN DỤNG KINH NGHIỆM VÀO THỰC TIỄN:
1. Kết quả đạt được:
Qua thực tế 2 học kì vừa qua ( năm học 2010-2011), tôi vận dụng
chuyên đề trong giảng dạy. Đã thu thập được kết quả khả quan như sau:
Tổng số 2010 – 2011
Môn
HS HKI HKII
SL TL SL TL
Tin học 8 65
10 15.4% 23 35.4%
Từ những kết quả trên , tôi nhận thấy tỉ lệ học sinh yếu –kém của học
sinh mà tôi phụ trách giảng dạy, đã giảm dần. Đó là sự phấn khởi mà bản thân
tôi khi vận dụng chuyên đề trên.
2. Bài học kinh nghiệm:
* Ưu điểm:
- Kích thích động cơ học tập của học sinh.
- Nâng cao chất lượng dạy và học.
* Nhược điểm:
- Một số học sinh yếu kém mất kiến thức căn bản ở môn Toán, thêm
vào đó có một số thuật toán các em chưa được học trong chương trình, nên
giáo viên phải kiên trì, nhẫn nại, thậm chí mất nhiều thời gian trong việc
hướng dẫn các thuật toán cho học sinh.
VI. KẾT LUẬN:
Trên đây là tóm lược nội dung cú pháp, cách thực hiện các câu lệnh
thuộc cấu trúc lặp và phân tích trên ngôn ngữ lập trình Pascal, một số ví dụ
của các bài toán điển hình cho từng dạng lặp cụ thể mà bản thân đã đúc kết
được trong quá trình giảng dạy môn tin học ở trường. Qua đó giúp học sinh và
GV: Mai Xuân Bằng Tổ : Toán - Tin
Trang 13
đồng nghiệp có thể làm tài liệu tham khảo trong quá trình học tập và giảng
dạy của mình có hiệu quả.
Trong phạm vi là một sáng kiến kinh nghiệm có thể việc phân tích về
nội dung câu lệnh và ví dụ về các dạng lệnh có thể chưa thật chi tiết và phong
phú rất mong nhận được sự góp ý chân thành từ quý đồng nghiệp, học sinh để
đề tài được hoàn thiện hơn.