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

chuyên đề sử dụng câu lệnh lặp để giải bài tập trong pascal

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 (91.85 KB, 12 trang )

CHUYÊN ĐỀ:
“SỬ DỤNG CÂU LỆNH LẶP ĐỂ GIẢI BÀI TẬP TRONG PASCAL”

I./ PHẦN MỞ ĐẦU:
1./ Lý do chọn chuyê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.

Để 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
tố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./ Mục đích của chuyên đề:
a. Kiến thức:

Trang 1/12


- Trang bị cho học sinh những kiến thức cơ bản của bộ môn Tin học.
b. Kỹ năng:
- Rèn luyện kỹ năng tiếp thu kiến thức một cách chắc chắn và có hệ
thống.
- Rèn luyện kỹ năng giao tiếp thơng qua hoạt động nhóm.
- Rèn luyện khả năng tư duy, óc quan sát, sự sáng tạo và vận dụng kiến


thức vào cuộc sống.
c. Thái độ :
- Có ý thức tự học đồng thời biết chủ động hợp tác cùng bạn bè trong
việc tìm ra kiến thức mới.
- Ham thích mơn học lập trình.

2./ Đối tượng nghiên cứu: Học sinh lớp 8.
3./ Phương pháp nghiên cứu:
- Phương pháp điều tra.
- Phương pháp phân tích.
- Phương pháp tổng hợp kinh nghiệm trong giảng dạy.
- Phương pháp trò chuyện trao đổi.
- Phương pháp đọc sách và tổng hợp tư liệu.
II./ NỘI DUNG:
1./ Cơ sở lý luận về lý thuyết:

Trang 2/12


- Muốn học tập đạt kết quả tốt, ngoài việc bản thân học sinh tích
cực học tập, khơng thể thiếu vai trị hướng dẫn dìu dắt của người thầy.
- Để 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 tốn mang tính lặp ở bộ mơn Tin học vừa đúng với nguyên tắc dạy học
ở trường Phổ Thông, vừa đúng theo tinh thần đổi mới phương pháp dạy
học hiện nay, nhằm hình thành cho học sinh tính tích cực, độc lập, sáng
tạo, nâng cao năng lực phát triển và giải quyết vấn đề, rèn luyện kỹ năng
vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm tin
và thích thú học tập cho học sinh. Hiện nay, khơng ít học sinh lười, học tập
thụ động và có khơng ít phụ huynh thiếu sự quan tâm đến việc học của con
em mình. Vì vậy, việc hệ thống các kiến thức về câu lệnh lặp để giải một

số bài tập của giáo viên phải được chú ý đúng mức.
2./ Cơ sở lý luận về thực tiễn:
Trong q trình giảng dạy, tơi nhận thấy Pascal là mơn học khó đối
với các em học sinh Khối 8, vì có một số thuật tốn các em chưa được học
ở bộ mơn Tốn, thêm vào đó là các em chỉ sử dụng các câu lệnh bằng
Tiếng Anh để thể hiện khi lập trình. Do đó việc học tập của học sinh vẫn
cịn mang tính mơ hồ, như bị ép buộc, có nhiều học sinh rất sợ mơn Tin
học 8 vì tính chất khơ khan, khó hiểu trong khi học.
Từ thực tế đó tơi khơng ngừng học hỏi để tìm ra biện pháp khắc
phục. Bằng kinh nghiệm khiêm tốn trong những năm qua, tôi đã đưa ra

Trang 3/12


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ả 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.
a. 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.
b. 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.


III/ CÁC BIỆN PHÁP CỤ THỂ:
1/ Xây dựng KHGD ngay từ đầu năm học:
- Ngay từ đầu năm học, giáo viên phải hướng dẫn phương pháp học
tập và nề nếp học ở phòng máy cho học sinh.

Trang 4/12


- Giáo viên chia nhóm học tập cho từng học sinh, phân nhóm
trưởng, hướng dẫn cách hoạt động nhóm và trang bị sổ tay ghi chép cá
nhân của học sinh.
- Giáo viên soạn bài trước thực dạy 2 tiết nhằm giúp việc nghiên
cứu kiến thức sâu hơn và chủ động hơn trong việc soạn các bài kiểm tra.
- Giáo viên 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.
- Giáo viên 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 học sinh 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.
- Học sinh phải chuẩn bị những gì mà Giáo viên đã dặn ở tiết trước.
2/ Một số giải pháp thực hiện:
a. 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:
For <Biến đếm > := <giá trị đầu> to <giá trị cuối> do <Câu lệnh>
;
Trong đó:
+ for, to, do là các từ khóa.
+ Biến đếm có kiểu nguyên.
Trang 5/12



+ 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:
1. Biến đếm nhận giá trị của giá trị đầu.
2. Kiểm tra xem giá trị của biến đếm còn nhỏ hơn giá trị cuối hay không
(biến đếm ≤ giá trị cuối).
3. Nếu việc kiểm tra:
- Cho giá trị sai câu lệnh sẽ bị bỏ qua.
- Cho giá trị đúng:
+ Thực hiện câu lệnh sau từ khóa do.
+ Tăng giá trị của biến đếm lên giá trị đứng liền sau của nó
(biến đếm:=biến đếm + 1)
- Quay trở lại bước 2
b. Cấu trúc lặp với lệnh WHILE...DO:
- Tác dụng: Dùng để xây dựng chu trình với số lần lặp chưa xác định trước.
- Cú pháp:
While <điều kiện> do <câu lệnh>;
Trong đó:
+ while, do là các từ khóa.
+ Điều kiện trả về 1 trong 2 giá trị đúng hoặc sai.
Trang 6/12


+ 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:
1. Xác định giá trị của điều kiện.
2. Tuỳ thuộc vào giá trị của điều kiện:

- Nếu điều kiện có giá trị đúng, thực hiện câu lệnh, sau đó quay lại
bước 1.
- Nếu điều kiện có giá trị sai, câu lệnh sẽ bị bỏ qua và việc thực hiện
lệnh lặp kết thúc.
• Nhận xét:
- Câu lệnh được thực hiện lặp đi lặp lại cho đến khi <điều kiện>
nhận giá trị sai. Câu lệnh sẽ không được thực hiện lần nào nếu <điều kiện>
nhận giá trị sai ngay từ khi bắt đầu vào chu trình.
- Trong thân chu trình phải có câu lệnh làm thay đổi giá trị của
<điều kiện> để tránh xảy ra vịng lặp vơ tận.
c. Một số ví dụ giải quyết bài tốn bằng câu lệnh lặp:

* Ví dụ 1: Tính tổng S = 1 + 1/2 + 1/3 + .... + 1/n
• Nhận xét:
- Trong biểu thức trên, số hạng thứ i của tổng có thể tính được theo công
thức S(i) = 1/i (i=1,2,...,n)
- Trường hợp này có thể sử dụng được số lần lặp  Chọn vòng lặp FOR.

Trang 7/12


• Chương trình:
Var i, n : Integer; S:Real;
Begin
Write('Hay nhap vao so nguyen n=');
Readln(n);
S:=0;
For i:=1 to n do
S:= S + 1 / i;
Writeln( ' Tong S =', S : 6 : 2 );

Readln;
End.
* Ví dụ 2: Đọc vào n số thực, tìm Max của chúng
Thuật tốn tìm Max trong một dãy số:
- Cho Max là số thứ nhất
- Duyệt toàn bộ dãy số từ số thứ hai trở đi, nếu thấy số nào lớn hơn
Max thì lấy số đó làm Max. Sau khi duyệt xong dãy số, ta sẽ có Max là số
lớn nhất.
• Nhận xét:
- Dãy số có một số lượng hữu hạn các số. Ta có thể biết được số lượng
từ khi bắt đầu thực hiện thuật tốn.
- Thích hợp cho việc sử dụng cấu trúc FOR dạng tiến để thực hiện.

Trang 8/12


• Chương trình
Program tim_max;
Var
n, i: integer;
max, x: real;
Begin
Write(‘n = ‘); Readln(n);
Max:=n;
For i := 2 to n do
Begin
Write(‘Cho so thu ’, i,’:’);Readln(X);
if Max < X then Max := X;
End;
Writeln(‘Max = ‘, Max:8:2);

Readln;
End.
* Ví dụ 3: Tìm bội số chung nhỏ nhất của hai số ngun dương
• Thuật tố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:

Trang 9/12


- Thuật tốn cho thấy là trong q trình tính tốn, khơng thể biết
trước được q 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
Write(‘m= ‘); Readln(m);
Write(‘n= ‘); Readln(n);
bscnn := m; k := 2;
While (BSCNN mod n <> 0) do
Begin
BSCNN := k*m;
k:= k + 1;
End;
Writeln(‘BSCNN = ‘, BSCNN);
Readln;

End.
IV/. KẾT LUẬN:

Trang 10/12


1. Kết quả đạt được:
Khi các em chưa hiểu nguyên lý hoạt động của các dạng câu lệnh
lặp, các em thường viết chương trình theo kiểu “soạn thảo” từ sách giáo
khoa. Do đó, khả năng vận dụng của các em chưa được phát huy.
Sau khi được hướng dẫn kỹ về cấu trúc lặp, các em đã mạnh dạn vận
dụng và giải quyết được nhiều bài tập khó, nâng cao khả năng tư duy, làm
tốn và lập trình một cách hiệu quả. Cụ thể, kết quả đạt được như sau:

Lớp

Sĩ số

Giỏi

Khá

TB

Yếu

10  8
SL TL %

6,5  7,9

SL TL %

5  6,4
SL TL %

3,5  4,9
SL TL %

81
82
2. Bài học kinh nghiệm:
a. Ư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.
b. 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 Tốn, thêm
vào đó có một số thuật tố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.
3. Ý kiến đề xuất:

Trang 11/12


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 tố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à đồ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 hồn thiện hơn.

Nhóm trưởng cụm 3

Long Hồ, ngày 25 tháng 02 năm 2013
Người viết chuyên đề,

BAN LÃNH ĐẠO

Trang 12/12



×