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

/ Cơ sở lý luận về lý thuyết: . sáng tạo. rèn luyện kỹ năng vận dụng kiến thức vào thực tiễn. Hạn chế: . 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.Đ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ế. Hiện nay.Phương pháp đọc sách và tổng hợp tư liệu./ NỘI DUNG: 1. 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. có nhiều học sinh rất sợ môn Tin học 8 vì tính chất khô khan.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. tác động đến tình cảm. Vì vậy. không chịu khó động não. vừa đúng theo tinh thần đổi mới phương pháp dạy học hiện nay. Bằng kinh nghiệm khiêm tốn trong những năm qua. 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. 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ả là nhằm giúp học sinh tiếp thu bài nhanh. b. 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 toá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. 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. nhằm hình thành cho học sinh tính tích cực. . . đem lại niềm tin và thích thú học tập cho học sinh. không ít học sinh lười. Trang 2/7 . nâng cao năng lực phát triển và giải quyết vấn đề. 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..Ở 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. . như bị ép buộc. II. nhớ kiến thức lâu hơn và cảm thấy thích thú trong học tập. ngoài việc bản thân học sinh tích cực học tập.Tôi đã hình thành nề nếp cho học sinh ngay từ đầu năm học. vì có một số thuật toán các em chưa được học ở bộ môn Toán. khó hiểu trong khi học./ Cơ sở lý luận về thực tiễn: Trong quá trình giảng dạy. độc lập. a. Những việc đã làm được: .Muốn học tập đạt kết quả tốt. 2. Có không ít học sinh chưa cố gắng trong học tập. nên ảnh hưởng không nhỏ đến việc học. Do đó việc học tập của học sinh vẫn còn mang tính mơ hồ.

..Quay trở lại bước 2 b. .Ngay từ đầu năm học. + 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) .. .Học sinh phải chuẩn bị những gì mà Giáo viên đã dặn ở tiết trước.Giáo viên chia nhóm học tập cho từng học sinh.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.Cho giá trị đúng: + Thực hiện câu lệnh sau từ khóa do. 2/ Một số giải pháp thực hiện: a. 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.III/ CÁC BIỆN PHÁP CỤ THỂ: 1/ Xây dựng KHGD ngay từ đầu năm học: .DO: Trang 3/7 . Biến đếm nhận giá trị của giá trị đầu. 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). Cấu trúc lặp với lệnh FOR. to. . . Cấu trúc lặp với lệnh WHILE. 2. 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. + Biến đếm có kiểu nguyên..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.Cho giá trị sai câu lệnh sẽ bị bỏ qua. . 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.. + 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. 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.Cú pháp: For <Biến đếm > := <giá trị đầu> to <giá trị cuối> do <Câu lệnh> .DO: . 3. . + Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.Giáo viên cần đầu tư nghiên cứu. Nếu việc kiểm tra: . do là các từ khóa. * Nguyên lý hoạt động cấu trúc For: 1. Trong đó: + for.Tác dụng: Dùng để xây dựng chu trình với số lần lặp xác định. phân nhóm trưởng.

Trường hợp này có thể sử dụng được số lần lặp  Chọn vòng lặp FOR. do là các từ khóa. End.n) . sau đó quay lại bước 1. • Chương trình: Var i. Readln. Trang 4/7 . n : Integer. thực hiện câu lệnh.. S:=0. For i:=1 to n do S:= S + 1 / i. .. Readln(n). Begin Write('Hay nhap vao so nguyen n='). Một số ví dụ giải quyết bài toán bằng câu lệnh lặp: * Ví dụ 1: Tính tổng S = 1 + 1/2 + 1/3 + .Cú pháp: While <điều kiện> do <câu lệnh>.. 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. + Điều kiện trả về 1 trong 2 giá trị đúng hoặc sai. S : 6 : 2 ). Trong đó: + while. S:Real. Nguyên lý hoạt động: 1.Trong biểu thức trên. 2.Nếu điều kiện có giá trị đúng.. . Xác định giá trị của điều kiệ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.. + 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.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. Writeln( ' Tong S ='..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â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ẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. + 1/n • Nhận xét: . .2. Tuỳ thuộc vào giá trị của điều kiện: . • Nhận xét: .. c.Nếu điều kiện có giá trị sai.

i: integer.’:’). 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.Thích hợp cho việc sử dụng cấu trúc FOR dạng tiến để thực hiện. Writeln(‘Max = ‘. 2.. Var Trang 5/7 . Max:8:2). tìm Max của chúng Thuật toán tìm Max trong một dãy số: . if Max < X then Max := X. Readln. End. End. Readln(n). nếu thấy số nào lớn hơn Max thì lấy số đó làm Max. 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.Dãy số có một số lượng hữu hạn các số.Thuật toán cho thấy là trong quá trình tính toán.* Ví dụ 2: Đọc vào n số thực.Duyệt toàn bộ dãy số từ số thứ hai trở đi. x: real. • Nhận xét: . i. Var n. Sau khi duyệt xong dãy số. .Điều kiện để dừng là tích số chia hết cho số thứ hai • Chương trình Program Boisochungnhonhat. max. Max:=n.Cho Max là số thứ nhất .. 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: . • Chương trình Program tim_max. . * Ví dụ 3: 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. ta sẽ có Max là số lớn nhất.. For i := 2 to n do Begin Write(‘Cho so thu ’. Begin Write(‘n = ‘).Readln(X). 3. Ta có thể biết được số lượng từ khi bắt đầu thực hiện thuật toán.

9 SL TL % TB 5  6. 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. 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 đã mạnh dạn vận dụng và giải quyết được nhiều bài tập khó.Nâng cao chất lượng dạy và học. Readln. k: Integer. Bài học kinh nghiệm: a. Ý kiến đề xuất: Trên đây là tóm lược nội dung cú pháp. 3. Ưu điểm: .Kích thích động cơ học tập của học sinh. n. Write(‘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.9 SL TL % 81 82 2. nhẫn nại.5  7. BSCNN). End. Cụ thể. k := 2. Readln(m). IV/. 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. Do đó. nâng cao khả năng tư duy. k:= k + 1.Bscnn. bscnn := m. nên giáo viên phải kiên trì. While (BSCNN mod n <> 0) do Begin BSCNN := k*m.5  4. một số ví dụ của các bài toán điển Trang 6/7 . các em thường viết chương trình theo kiểu “soạn thảo” từ sách giáo khoa. . Writeln(‘BSCNN = ‘. b. làm toán và lập trình một cách hiệu quả. khả năng vận dụng của các em chưa được phát huy.Một số học sinh yếu kém mất kiến thức căn bản ở môn Toán. KẾT LUẬN: 1. Sau khi được hướng dẫn kỹ về cấu trúc lặp. kết quả đạt được như sau: Lớp Sĩ số Giỏi 10  8 SL TL % Khá 6. Readln(n). m. Begin Write(‘m= ‘). Nhược điểm: . End.4 SL TL % Yếu 3.

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. học sinh để đề tài được hoàn thiện hơn. 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. ngày 25 tháng 02 năm 2013 Người viết chuyên đề. BAN LÃNH ĐẠO Trang 7/7 . Nhóm trưởng cụm 3 Long Hồ. 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ả.

Sign up to vote on this title
UsefulNot useful