Sáng kiến kinh nghiệm Tìm hiểu thêm về ngôn ngữ lập trình Pascal

doc 21 trang sklop8 23/08/2024 550
Bạn đang xem 20 trang mẫu của tài liệu "Sáng kiến kinh nghiệm Tìm hiểu thêm về ngôn ngữ lập trình Pascal", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

Tóm tắt nội dung tài liệu: Sáng kiến kinh nghiệm Tìm hiểu thêm về ngôn ngữ lập trình Pascal

Sáng kiến kinh nghiệm Tìm hiểu thêm về ngôn ngữ lập trình Pascal
 A. MỞ ĐẦU
I. Lý do chọn đề tài:
 Như ta đã biết Tin học là một bộ môn được đưa vào giảng dạy chính thức 
trong nhà trường phổ thông gần đây. Đối với các em học sinh, có thể nói đây là 
một hành trang để giúp các em vững bước đi tới tương lai - tương lai của một 
thế hệ công nghệ thông tin bùng nổ! 
 Phần mềm phát triển nhanh và phong phú đáp ứng hầu hết mọi lãnh vực 
trong xã hội, đời sống con người. Người ta, đặc biệt là các bạn trẻ khi sử dụng 
một phần mềm chỉ biết được phần mềm đó ứng dụng vào lãnh vực nào, sử dụng 
ra sao và cố gắng tìm hết chức năng của phần mềm đó chứ ít khi mà nghĩ đến 
phần mềm mình đang sử dụng ở đâu ra? Ai đã tạo ra nó? Và tạo ra như thế nào? 
Những người quan tâm đến công nghệ thông tin thì đều biết được chính các lập 
trình viên đã sáng tạo nên, viết nên các phần mềm đó mà viết được nó là nhờ 
vào các ngôn ngữ lập trình. 
 Cũng vì lẽ đó mà Bộ Giáo dục đã chọn ngôn ngữ lập trình Pascal đưa vào 
trong chương trình học của lớp 8 để các em biết được thế nào là tư duy, thế nào 
là lập trình và chắc chắn sẽ có được một số em thích thú, say mê để rồi trở thành 
những lập trình viên chuyên nghiệp mai sau.
 Vậy thì chúng ta phải làm như thế nào để sau khi kết thúc lớp 8 thì các em 
có thể nắm và hiểu được như thế nào là ngôn ngữ lập trình, cụ thể là ngôn ngữ 
lập trình Pascal mà ta đã nói ở trên.
 Trong chương trình Pascal lớp 8, phần nào cũng rất hay và rất quan trọng 
nhưng tôi thấy câu lệnh lặp với số lần lặp biết trước For..Do rất đặc biệt mà lại 
thường gặp trong các bài toán cơ bản và nâng cao. Khi tới phần này, rất nhiều 
em mơ hồ về việc lặp lại các thao tác của câu lệnh lặp mặc dù chương trình được 
chạy trực tiếp bằng phần mềm Pascal trên màn hình chiếu. Nên sau khi chạy 
chương trình xong, tôi ghi đoạn chương trình có chứa câu lệnh For lên bảng và 
hướng dẫn các em chạy bằng tay nghĩa là tự mình tính toán và ghi lại kết quả 
trong mỗi lần lặp lại của lệnh lặp For. Tôi nhận thấy các em hiểu rõ hơn phần 
này và cảm thấy thích thú hơn. 
 1 V. Phương pháp nghiên cứu:
 - Kết hợp thực tiễn giáo dục ở trường THCS Nguyễn Trường Tộ
 - Kiểm tra chất lượng học tập của học sinh đầu tiết học, sau mỗi buổi học.
 - Sử dụng máy tính, máy chiếu (projector).
 - Rèn luyện kỹ năng viết chương trình theo mức độ từ dễ đến khó.
B. NỘI DUNG
I. Cơ sở lí luận:
 - Nhận thấy được tầm quan trọng của ngành Tin học, Bộ Giáo dục đã đưa 
môn học này vào nhà trường phổ thông như những môn khoa học khác bắt đầu 
từ năm học 2006-2007. 
 - Chỉ thị số 55/2008/CT- BGDĐT ngày 30/9/2008 của Bộ trưởng Bộ 
GDĐT về tăng cường giảng dạy, đào tạo và ứng dụng công nghệ thông tin 
trong ngành giáo dục giai đoạn 2008-2012.
 Trong bối cảnh toàn ngành Giáo dục và Đào tạo đang nỗ lực đổi mới 
phương pháp dạy học theo hướng phát huy tính tích cực chủ động của học sinh 
trong hoạt động học tập. Điều 24.2 của Luật giáo dục đã nêu rõ: “Phương pháp 
giáo dục phổ thông phải phát huy tính tích cực, tự giác, chủ động, sáng tạo của 
học sinh, phù hợp với đặc điểm của từng lớp học, môn học; bồi dưỡng phương 
pháp tự học, 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 vui, hứng thú học tập cho học sinh”. Cốt lõi của việc đổi 
mới phương pháp dạy học ở trường phổ thông là giúp học sinh hướng tới việc 
học tập chủ động, chống lại thói quen học tập thụ động.
II. Thực trạng vấn đề nghiên cứu
 Qua thực tế giảng dạy ở trường THCS Nguyễn Trường Tộ đã nhiều năm, 
tôi nhận thấy đa số học sinh lớp 8, 9 đều nhận xét Tin học 8 là môn học khó.
 Khi học sinh học Bài 7_CẤU TRÚC LẶP, 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.
 Một số thuận lợi và khó khăn khi thực hiện chuyên đề này:
 3 + Về phương tiện: Sử dụng máy chiếu (Projector) hoặc chương trình 
Netop School và phải có chương trình Pascal để minh họa.
 Nội dung trọng tâm sẽ gồm các ví dụ, mỗi ví dụ là một bài toán. Bài toán 
ban đầu có dạng đơn giản rồi sau đó phức tạp dần. Mỗi bài toán sẽ được đưa ra 
các giải pháp để thực hiện và chúng ta sẽ xem cách giải các bài toán này có điểm 
chung nào và có những điểm nào khác nhau. Ở đây, ta sẽ chạy đoạn chương 
trình bằng tay (bằng tính toán của mình) để các em biết được ý nghĩa và hoạt 
động của câu lệnh lặp For..Do. Sau đó, ta đưa đoạn chương trình đó vào một 
chương trình Pascal hoàn chỉnh và chạy cho các em xem kết quả chạy bằng tay 
có giống với chạy bằng máy không hoặc nếu có thời gian nên dùng cách chạy 
từng bước Step Over (F8) cho dễ so sánh hơn.
 a. VÍ DỤ 1: 
Đoạn chương trình sau chạy xong thì biến a, b, i sẽ có giá trị là bao nhiêu?
 a := 1; b := 1;
 FOR i := 1 TO 3 DO 
 Begin
 a := a + i ;
 b := b + a ;
 end ;
 THỰC HIỆN:
+ Đầu tiên, ta phải xác định:
 - Biến đếm: i
 - Giá trị đầu: 1
 - Giá trị cuối: 3
 - Số lần lặp = Giá trị cuối – giá trị đầu + 1 = 3 -1 +1 = 3
 - Câu lệnh cần thực hiện trong lệnh lặp For: 
 a : = a + i ;
 b : = b + a ;
 - Hai câu lệnh trên chỉ được thực hiện khi i ≤ 3
 5 - Vì i vẫn ≤ 3 nên ta phải thực hiện: 2 4 7
 a : = a + i ; a = 2 + 2 = 4
 b : = b + a ; b = 3 + 4 = 7
 - Tính toán xong, ta điền các giá trị vào 
 bảng bên.
 - Sau khi thực hiện xong hai câu lệnh 
 trên, lệnh lặp For sẽ lặp lại lần thứ 3 i a b
 nhưng trước khi lặp lại biến đếm i phải 1 1
 tăng lên 1. 1 2 3
5 - i = 3 (i tự động tăng lên 1) 2 4 7
 - Vì i vẫn ≤ 3 nên ta phải thực hiện: 
 3 7 14
 a : = a + i ; a = 4 + 3 = 7
 b : = b + a ; b = 7 + 7 = 14
 - Tính toán xong, ta điền các giá trị vào 
 bảng bên.
 NHẬN XÉT:
- Sau khi i = 3 và thực hiện xong 2 câu lệnh trong vòng lặp For thì cũng kết 
 thúc lệnh lặp For.
- Số lần lặp là 3 như ta xác định ban đầu.
- Đoạn chương trình trên chạy xong, ta thu được kết quả là:
 i = 3; a = 7; b = 14
- Tạo đoạn chương trình trên thành một chương trình hoàn chỉnh trong Pascal 
 Nhưng thêm vào hai lệnh Writeln(i,’ ’, a,’ ’,b); và Readln; để kết quả 
 hiện lên trong mỗi lần lặp giúp học sinh quan sát tốt và dễ so sánh với kết 
 quả vừa thực hiện bằng tay.
 Program Vidu1;
 Var a, b, i : integer;
 Begin
 a : = 1;
 7 Hãy tính S là tổng các số nguyên từ 1 đến N với N là một số nguyên dương.
 S = 1 + 2 + 3 +  + N
Với yêu cầu trên, ta viết thành đoạn chương trình sau:
 N := 4;
 S := 0;
 For i := 1 To N Do S := S + i ;
 THỰC HIỆN:
+ Đầu tiên, ta phải xác định:
 - Biến đếm: i
 - Giá trị đầu: 1
 - Giá trị cuối: 4
 - Số lần lặp = Giá trị cuối – giá trị đầu + 1 = 4 -1 +1 = 4
 - Câu lệnh cần thực hiện trong lệnh lặp For: S : = S + i ;
 - Câu lệnh trên chỉ được thực hiện khi i ≤ 4
+ Sau khi xác định xong, ta tiến hành thực hiện các bước theo bảng sau:
 Bước Diễn giải và tính toán Ghi giá trị của các biến
 - Tạo bảng ghi lại các giá trị cho các i S
 biến
 1 - Vì có 2 biến cần điền giá trị nên ta tạo 
 2 cột
 - S = 0 
 - i chưa có giá trị vì chưa thực hiện lệnh 
 lặp For
 Bắt đầu vào lệnh lặp For
 2 - i = 1 (gán giá trị đầu là 1 cho i) i S
 - Vì i ≤ 4 nên ta phải thực hiện: 1 1
 S : = S + i ; S = 0 + 1 = 1
 9 - Sau khi thực hiện xong hai câu lệnh 
 trên, lệnh lặp For sẽ lặp lại lần thứ 4 các i S
 thao tác như lần thứ nhất nhưng trước 1 1
 khi lặp lại biến đếm i phải tăng lên 1. 2 3
 - i = 4 (i tự động tăng lên 1)
5 3 6
 - Vì i vẫn ≤ 4 nên ta phải thực hiện: 4 10
 S : = S + i ; S = 6 + 4 = 10
 - Tính toán xong, ta điền các giá trị vào 
 bảng bên.
 NHẬN XÉT:
- Sau khi i = 4 và thực hiện xong câu lệnh trong vòng lặp For thì cũng kết 
thúc lệnh lặp For.
- Số lần lặp là 4 như ta xác định ban đầu.
- Đoạn chương trình trên chạy xong, ta thu được kết quả là: S = 10
- Tạo đoạn chương trình trên thành một chương trình hoàn chỉnh trong 
Pascal. Nhưng thêm vào hai lệnh Writeln(i,’ ’, S); và Readln; để kết quả 
hiện lên trong mỗi lần lặp.
 Program Vidu2;
 Var S, i : integer;
 Begin
 S : = 0;
 For i := 1 to 4 do 
 Begin
 S : = S + i ; 
 Writeln(i,’ ’, S);
 Readln;
 End;
 End.
 11 - Số lần lặp = Giá trị cuối – giá trị đầu + 1 = 1 - 0 +1 = 2
 - Câu lệnh cần thực hiện trong lệnh lặp For gồm:
 Câu lệnh lặp For (j) 
 b := b + a ;
 - Câu lệnh trên chỉ được thực hiện khi i ≤ 2
+ Lệnh For (j):
 - Biến đếm: j 
 - Giá trị đầu: 1
 - Giá trị cuối: 3
 - Số lần lặp = Giá trị cuối – giá trị đầu + 1 = 3 -1 +1 = 3
 - Câu lệnh cần thực hiện trong lệnh lặp For: a := a + j ;
 - Câu lệnh trên chỉ được thực hiện khi j ≤ 3
+ Một lần lặp trong For (i) sẽ thực hiện 3 lần lặp trong For (j). Như vậy, lệnh For 
(i) lặp 2 lần và lệnh For (j) lặp 3 lần sẽ thực hiện tất cả 6 lần ( 2 x 3 = 6).
+ Sau khi xác định xong, ta tiến hành thực hiện các bước theo bảng sau:
 Bước Diễn giải và tính toán Ghi giá trị của các biến
 - Tạo bảng ghi lại các giá trị cho các biến i j a b
 - Vì có 4 biến cần điền giá trị nên ta tạo 4 cột 1 1
 - a = 1 
 - b = 1
 - i và j chưa có giá trị vì chưa thực hiện lệnh 
 1 lặp For
 13 - b := b + a; b = 1 + 7 = 8 
 - Tính toán xong, ta điền các giá trị vào bảng 
 bên.
 - Lệnh lặp For sẽ lặp lại lần thứ 2 các thao tác 
 như lần thứ nhất nhưng trước khi lặp lại biến i j a b
 đếm i phải tăng lên 1. 1 1
 - i = 1 0 1 2 1
5 - Vòng lặp For (j) lại khởi động từ đầu. 0 2 4 1
 - j = 1 (gán giá trị đầu là 1 cho j) 0 3 7 8
 - a := a + j; a = 7 + 1 = 8 1 1 8 8
 - b = 8 vì chưa hết 3 lần lăp For (j)
 - Tính toán xong, ta điền các giá trị vào bảng 
 bên.
 - i = 1 (vì câu lệnh trong For (i) chưa thực 
 hiện xong) i j a b
 - Sau khi thực hiện xong câu lệnh trên a:= a + 0 1 2 1
 j, lệnh lặp For (j) sẽ lặp lại lần thứ 2 với các 0 2 4 1
 thao tác như lần thứ nhất nhưng trước khi lặp 0 3 7 8
6 lại biến đếm j phải tăng lên 1. 1 1 8 8
 - j = 2 (j tự động tăng lên 1) 1 2 10 8
 - a := a + j; a = 8 + 2 = 10
 - b =8 vì chưa hết 3 lần lăp For (j)
 - Tính toán xong, ta điền các giá trị vào bảng 
 bên.
 15 a := a + j;
 If j < 3 then
 Begin
 Writeln(i, j, a, b);
 Readln;
 End;
 b : = b + a ; 
 Writeln(i, j, a, b);
 Readln;
 End;
 End.
- Dùng Step over để chạy chương trình từng bước cho học sinh quan sát.
- Kết quả chạy bằng Pascal cũng giống như việc thực hiện trong bảng trên.
- Sửa lại chương trình trên cho gọn và đúng yêu cầu.
 Program Vidu3;
 Var i, j, a, b : integer;
 Begin
 a : = 1; b := 1;
 For i := 0 to 1 do 
 Begin
 For j := 1 to 3 do a := a + j;
 b : = b + a ; 
 writeln(i, j, a, b);
 Readln;
 End;
 End.
- Ta thay số lần lặp trong chương trình lên nhiều lần hơn hoặc cho học sinh 
thực hiện bài các bảng cửu chương (vì có dạng hai vòng lặp lồng nhau)
- Chạy lại chương trình cho học sinh quan sát.
 17

File đính kèm:

  • docsang_kien_kinh_nghiem_tim_hieu_them_ve_ngon_ngu_lap_trinh_pa.doc