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

Sáng kiến kinh nghiệm, SKKN - Tìm hiểu về ngôn ngữ lập trình 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 (119.96 KB, 21 trang )

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 tố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


Xuất phát từ những cảm nhận trên, tôi chọn đề tài “TÌM HIỂU THÊM VỀ
NGƠN NGỮ LẬP TRÌNH PASCAL” để đi sâu thêm và mở rộng thêm về câu
lệnh lặp với số lần lặp biết trước For..Do.
II. Mục tiêu, nhiệm vụ của đề tài:
1. Mục tiêu:
Sử dụng các ví dụ minh họa cụ thể để học sinh hiểu như thế nào gọi là
‘lặp’ và như thế nào là ‘lặp với số lần biết trước’, tiếp theo đó là học sinh nắm
được cú pháp, ý nghĩa của cấu trúc lặp. Và thơng qua các ví dụ đó, hướng dẩn
học sinh phân biệt, nắm vững dạng lặp.
2. Nhiệm vụ:
Xuất phát từ yêu cầu thực tế của việc dạy và học bộ môn Tin học, hàng
năm cứ vào đầu năm là tôi đề ra kế hoạch cụ thể nhằm đạt được hiệu quả tốt
nhất, với những nhiệm vụ như sau:
- Khảo sát chất lượng đầu năm của học sinh để từ đó có phương pháp phù
hợp với từng đối tượng.
- Luôn trao đổi kinh nghiệm với tổ bộ môn sau mỗi tiết dự giờ để đóng
góp những ý kiến hay và bổ sung cho tiết dạy hoàn thiện hơn.
- Tham khảo nhiều tài liệu về Pascal để có những bài tập rèn luyện kỹ
năng lập trình cho học sinh.
III. Đối tượng nghiên cứu
- Căn cứ vào tình hình thực tế, tơi thực hiện nghiên cứu trên đối tượng là
học sinh những lớp tôi được phân công gồm các lớp: 8A1  8A8
IV. Giới hạn của đề tài
Đưa ra vấn đề là bài 7 trong sách tin học 8, để học sinh thảo luận tính
tốn qua đó nắm vững câu lệnh lặp với số lần biết trước và hình thành ở học sinh
kĩ năng phân tích, xử lý các vấn đề liên quan đến vịng lặp trong q trình lập
trình các chương trình đơn giản sau này.


2


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


1. Thuận lợi:
- Nhà trường trang bị cơ sở vật chất tương đối đủ (máy chiếu) để phục
vụ việc giảng dạy và học tập.
- Giáo viên chuẩn bị nội dung bài giảng tốt, sử dụng phương pháp phù
hợp với từng đối tượng học sinh; luôn trao đổi chuyên môn với các đồng nghiệp.
- Học sinh chuẩn bị bài tốt, hứng thú học tập, tích cực phát biểu.
2. Khó khăn:
- Về phía nhà trường, phịng máy tính chưa đủ phục vụ cho việc thực hành
vì hai học sinh chung một máy tính. Khi viết chương trình Pascal nếu mỗi học
sinh một máy thì sự sáng tạo của các em rất dễ bộc lộ và sẽ có nhiều giải thuật
hay.
- Một số học sinh ở vùng dân tộc thiểu số, ít có điều kiện tiếp xúc với máy
tính, vì thế mà các em thao tác rất chậm.
- Một số các em học yếu mơn tốn nên để giải được một bài tập đơn giản
liên quan đến tốn cũng cịn gặp khơng ít khó khăn.
III. Nội dung và hình thức của giải pháp:
1. Mục tiêu của giải pháp:
- Căn cứ vào yêu cầu cụ thể của việc dạy và học Tin học 8.
- Căn cứ vào việc nâng cao chất lượng giảng dạy và sự ham thích học
mơn tin học của học sinh khối 8.
- Căn cứ vào thực trạng sử dụng ngôn ngữ lập trình và kỹ năng lập trình
của học sinh.
2. Nội dung và cách thức thực hiện giải pháp:
Để truyền đạt cho học sinh nắm vững kiến thức về câu lệnh lặp, cũng như

kỹ năng lập trình thành thạo là vấn đề rất khó khăn. Chính vì vậy, cần phải có
phương pháp giảng dạy nhằm phát huy tính tích cực, chủ động sáng tạo ở học
sinh.
+ Về phương pháp: Sử dụng phương pháp thuyết trình kết hợp vấn đáp.
Bài giảng được soạn bằng phần mềm Microsoft Powerpoint, liên kết với Pascal
để chạy những chương trình cụ thể.
4


+ 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 tốn. Bài tố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 tố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 tố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 hồ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


+ Sau khi xác định xong, ta tiến hành thực hiện các bước được liệt kê trong bảng
sau:
Bước

Diễn giải và tính tốn
- Tạo bảng ghi lại các giá trị cho các

Ghi giá trị của các biến
i

a

b

i

a
1


b
1

i

a
1
2

b
1
3

a
1
2
4

b
1
3
7

biến

1

- Vì có 3 biến nên ta tạo 3 cột


- i chưa có giá trị (vì chưa vào lệnh lặp
For..Do)

2

-a=1
-b=1

Bắt đầu vào lệnh lặp For
- i = 1 (gán giá trị đầu là 1 cho i)
- Vì i ≤ 3 nên ta phải thực hiện:

3

a : = a + i ;  a = 1 + 1 =2
b:=b+a;b=1+2=3
- Tính tốn xong, ta điền các giá trị vào

1

bảng bên.

4

- 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ứ 2 các
thao tác như lần thứ nhất nhưng trước
khi lặp lại biến đếm i phải tăng lên 1.
- i = 2 (i tự động tăng lên 1)
- Vì i vẫn ≤ 3 nên ta phải thực hiện:

6

i
1
2


a:=a+i ;  a=2+2=4
b:=b+a;  b=3+4=7
- Tính tố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
nhưng trước khi lặp lại biến đếm i phải
tăng lên 1.

5

i

- i = 3 (i tự động tăng lên 1)

1
2
3

- Vì i vẫn ≤ 3 nên ta phải thực hiện:
a:=a+i ;  a=4+3=7

a

1
2
4
7

b
1
3
7
14

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 hồ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;
b : =1;
For i := 1 to 3 do
7


Begin
a:=a+i ;
b:=b+a;
Writeln(i,’ ’, 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 cho gọn và đúng yêu cầu.
Program Vidu1;
Var a,b,i : integer;
Begin
a : = 1;
b : =1;
For i := 1 to 3 do
Begin
a:=a+i ;
b:=b+a;
End;
Writeln(i,’ ’, a,’ ’,b);
Readln;

-

End.
Chạy bằng máy chương trình vừa sửa lại cho học sinh quan sát

-

Sau đó, ta thay số lần lặp trong chương trình lên nhiều lần hơn.

b. VÍ DỤ 2:
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:
8



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 tốn
- Tạo bảng ghi lại các giá trị cho các

Ghi giá trị của các biến
i

S

i
1

S
1


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
- i = 1 (gán giá trị đầu là 1 cho i)
- Vì i ≤ 4 nên ta phải thực hiện:

2

S:=S+i ;S=0+1=1
- Tính tốn xong, ta điền các giá trị vào
bảng bên.

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ứ 2 các
thao tác như lần thứ nhất nhưng trước
khi lặp lại biến đếm i phải tăng lên 1.

3

i

1
2

S
1
3

i
1

S
1

2

3

3

6

i
1

S
1

2

3


3
4

6
10

- i = 2 (i tự động tăng lên 1)
- Vì i vẫn ≤ 4 nên ta phải thực hiện:
S:=S+i ;S=1+2=3
- Tính tố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 các
thao tác như lần thứ nhất nhưng trước
khi lặp lại biến đếm i phải tăng lên 1.

4

- i = 3 (i tự động tăng lên 1)
- Vì i vẫn ≤ 4 nên ta phải thực hiện:
S:=S+i ;S=3+3=6
- 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ứ 4 các
thao tác như lần thứ nhất nhưng trước
khi lặp lại biến đếm i phải tăng lên 1.


5

- i = 4 (i tự động tăng lên 1)
- Vì i vẫn ≤ 4 nên ta phải thực hiện:
S : = S + i ;  S = 6 + 4 = 10
- Tính tốn xong, ta điền các giá trị vào
bảng bên.

10


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 hồ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.
-

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 cho đúng yêu cầu.
Program Vidu2;
Var S, i : integer;
Begin
S : = 0;
For i := 1 to 4 do S : = S + i ;
Writeln(i,’ ’, S);
Readln;

11


End.
- Sau đó, ta thay số lần lặp trong chương trình lên nhiều lần hơn.
- Chạy lại chương trình bằng máy cho học sinh quan sát.
c. VÍ DỤ 3: Sử dụng hai vịng lặp lồng nhau
Đoạn chương trình sau chạy xong thì biến i, j, a, b sẽ có giá trị là bao nhiêu?
a := 1; b := 1;
FOR i := 0 TO 1 DO
Begin
FOR j := 1 TO 3 DO a := a + j ;
b := b + a ;
End ;
THỰC HIỆN:
+ Đoạn chương trình trên có hai câu lệnh lặp
+ Lệnh For (j) được lồng trong lệnh For (i)
+ Lệnh For (i):
- Biến đếm: i
- Giá trị đầu: 0
- Giá trị cuối: 1
- 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
12


- 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 tốn
- Tạo bảng ghi lại các giá trị cho các biến

Ghi giá trị của các biến
i

j

a
1

i

j

0

1


a
1
2

- Vì có 4 biến cần điền giá trị nên ta tạo 4 cột

b
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

Bắt đầu vào lệnh lặp For (i)
- i = 0 (gán giá trị đầu là 0 cho i)
Bắt đầu vào lệnh lặp For (j)
- j = 1 (gán giá trị đầu là 1 cho j)

2

- a := a + j;  a = 1 + 1 = 2
- b =1 vì chưa hết 3 lần lăp For (j)
- Tính tốn xong, ta điền các giá trị vào bảng
bên.

13


b
1
1


- i = 0 (vì câu lệnh trong For (i) chưa thực
hiện xong)

1

a
1
2

b
1
1

0

2

4

1

i

j


j, lệnh lặp For (j) sẽ lặp lại lần thứ 3 với các

0
0

1
2

a
1
2

b
1
1

4

1

thao tác như lần thứ nhất nhưng trước khi lặp

0

3

7

8


- Sau khi thực hiện xong câu lệnh trên a:= a +
j, lệnh lặp For (j) sẽ lặp lại lần thứ 2 với các
thao tác như lần thứ nhất nhưng trước khi lặp

3

i

j

0

lại biến đếm j phải tăng lên 1.
- j = 2 (j tự động tăng lên 1)
- a := a + j;  a = 2 + 2 = 4
- b =1 vì chưa hết 3 lần lăp For (j)
- Tính tốn xong, ta điền các giá trị vào bảng
bên.
- i = 0 (vì câu lệnh trong For (i) chưa thực
hiện xong)
- Sau khi thực hiện xong câu lệnh trên a:= a +

lại biến đếm j phải tăng lên 1.

4

- j = 3 (j tự động tăng lên 1)
- a := a + j;  a = 4 + 3 = 7
- Vòng lặp For (j) kết thúc và lệnh b := b + a;

được thực hiện
- b := b + a;  b = 1 + 7 = 8
- Tính tốn xong, ta điền các giá trị vào bảng
bên.

14


- 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
đếm i phải tăng lên 1.
-i=1

5

- Vòng lặp For (j) lại khởi động từ đầu.
- j = 1 (gán giá trị đầu là 1 cho j)

i

j
1
2

a
1
2
4

b

1
1
1

0
0
0
1

3
1

7
8

8
8

i
0
0

j
1
2

a
2

b

1

4

1

0
1
1

3
1
2

7
8
10

8
8
8

i

j

0
0

1

2

a
1
2

b
1
1

4

1

0
1
1
1

3
1
2
3

- a := a + j;  a = 7 + 1 = 8
- b = 8 vì chưa hết 3 lần lăp For (j)
- Tính tố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)

- Sau khi thực hiện xong câu lệnh trên a:= a +
j, lệnh lặp For (j) sẽ lặp lại lần thứ 2 với các
thao tác như lần thứ nhất nhưng trước khi lặp

6

lại biến đếm j phải tăng lên 1.
- j = 2 (j tự động tăng lên 1)
- a := a + j;  a = 8 + 2 = 10
- b =8 vì chưa hết 3 lần lăp For (j)
- Tính tốn xong, ta điền các giá trị vào bảng

7

bên.
- i = 1 (vì câu lệnh trong For (i) chưa thực
hiện xong)
- Sau khi thực hiện xong câu lệnh trên a:= a +
j, lệnh lặp For (j) sẽ lặp lại lần thứ 3 với các
thao tác như lần thứ nhất nhưng trước khi lặp
lại biến đếm j phải tăng lên 1.
- j = 3 (j tự động tăng lên 1)
- a := a + j;  a = 10 + 3 = 13
- Vòng lặp For (j) kết thúc và lệnh b := b + a;
được thực hiện
15

7 8
8 8
10 8

13 21


- b := b + a;  b = 13 + 8 = 21
- Tính tốn xong, ta điền các giá trị vào bảng
bên.

NHẬN XÉT:
- Sau khi i = 1 và thực hiện xong câu lệnh trong vòng lặp For (i) thì cũng
kết thúc cả hai lệnh lặp For.
- Số lần lặp tất cả là 6 lần cho cả hai vòng lặp 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 = 1; j = 3; a = 13; b=21;
- Tạo đoạn chương trình trên thành một chương trình hồn chỉnh trong
Pascal.
Program Vidu3;
Vari,j,a,b : integer;
Begin
a : = 1; b := 1;
For i := 0 to 1 do
Begin
For j := 1 to 3 do
Begin
a := a + j;
If j < 3 then
Begin
16


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.

3. Mối quan hệ giữa các giải pháp, biện pháp:
Pascal là một môn học rất trừu tượng, rất khó địi hỏi về trí tuệ, tư duy rất
cao. Nhưng với trình độ nhận thức của học sinh lớp 8, Bộ Giáo dục đã đưa ra
một chương trình không cao lắm giống như là giới thiệu cho học sinh biết một
17


ngơn ngữ lập trình, biết thế nào là lập trình và qua đó khơi lên nguồn sáng tạo
cho những em học sinh thực sự u thích, say mê mơn học này.
Khi các em nắm rõ phần lý thuyết, ý nghĩa của những câu lệnh thì các em
sẽ cố gắng tư duy và thực hiện một cách tự tin. Có như thế khi các em gặp một
thắc mắc hoặc trở ngại nào đó thì các em có thể tìm gặp bạn bè, thầy cô để thảo
luận, trao đổi để giải quyết được những khó khăn khi làm quen với Pascal. Các
em cũng có thể tìm hiểu trong những sách viết về Pascal hoặc một số trang web,
diễn đàn trên mạng để học hỏi them và sưu tầm thêm một số bài tập phù hợp
với chương trình mình đã học từ đơn giản đến nâng cao.
Khi gặp một bài tốn nào có câu lệnh For hơi khó hiểu, các em có thể
thực hiện bằng tay theo cách mà chúng ta vừa thực hiện ở trên, sau đó kiểm
chứng lại bằng, một chương trình hồn chỉnh.
4. Kết quả khảo nghiệm, giá trị khoa học của vấn đề nghiên cứu, phạm vi

và hiệu quả ứng dụng:
Bản thân tôi đã trực tiếp vận dụng các giải pháp vào lớp dạy thì thấy
phương pháp này mang lại hiệu quả một cách thiết thực, chất lượng bộ môn tăng
dần.
Các em học sinh yếu trước đây, đặc biệt một số em học sinh dân tộc thiểu
số tự mình suy nghĩ làm bài và còn mạnh dạn phát biểu xây dựng bài.
Trước đây, môn Pascal này các em rất ngại học vì độ trừu tượng của nó
nên số lượng học sinh hiểu bài, trên trung bình chỉ khoảng 30% nhưng nay con
số này đã thay đổi lên khoảng 70% đến 80%. Đó là điều đáng mừng cho những
giáo viên dạy môn Pascal lớp 8.
Một điều cũng rất hay là khi đầu năm tôi giới thiệu môn Pascal cho các em
biết về độ khó, độ hay của nó thì các em cho biết đã được các anh chị lớp trước
“trấn an tư tưởng” khi bắt đầu làm quen với Pascal nên các em đã chuẩn bị tinh
thần để tiếp hội môn học này. Đây là điều mà tôi rất mừng khi các em để tâm tới
không chỉ câu lệnh lặp mà các em đã được phân tích kỹ mà cả các phần khác
trong chương trình Pascal lớp 8.

18


C. KẾT LUẬN VÀ KIẾN NGHỊ
I. Kết luận:
Ngôn ngữ lập trình nói chung đóng vai trị rất quan trọng trong việc xây
dựng các chương trình ứng dụng để phục vụ cho cuộc sống. Nhờ sự phát triển
của tin học - trong đó các nhà lập trình chun nghiệp đóng vai trị khơng nhỏ
mà hiện nay hầu hết các lĩnh vực trong xã hội đã ứng dụng được tin học để giải
quyết cơng viêc nhanh, hiệu quả và chính xác hơn.
Đề 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

lầm mà các em học sinh mắc phải do hiểu không rõ vấn đề nhằm giúp cho các
em hiểu rõ hơn về câu lệnh.
Trên đây là một số phương pháp tơi đã sử dụng trong q trình giảng dạy
bộ mơn Tin học 8 cũng như trong q trình thực hiện đề tài này.
Do lần đầu tiên làm chuyên đề nên chắc chắn khơng tránh khỏi những
thiếu sót.
Rất mong được sự đóng góp của q thầy cơ để chun đề của tơi được
hồn thiện hơn.
II. Kiến nghị:
Qua một số phương pháp và bài tập đã giúp các em học sinh lớp 8 có
thêm kiến thức về vịng lặp với số lần biết trước và kỹ năng viết chương trình
một số bài tập về câu lệnh For…do…ở mức từ dễ đến khó.
Đối với giáo viên: Cần tích cực trao dồi, tự học và thu thập thêm tài liệu
để có được những phương pháp hay hướng dẫn các em hiểu sâu hơn về vòng lặp
với số lần biết trước_câu lệnh For…do…, đồng thời gây sự chú ý, tạo sự hứng
thú cho học sinh lớp 8 u thích, đam mê về lập trình Pascal.
TÀI LIỆU THAM KHẢO
1. Sách giáo khoa tin học 8
2. Sách giáo viên tin học 8
19


3. Các vấn đề về lập trình Pascal của tác giả Trần Đức Huyên
4. Hướng dẫn thực hiện chuẩn kiến thức, kĩ năng môn Tin học của Bộ giáo dục
đào tạo.
5. Một số kinh nghiệm và ý kiến của đồng nghiệp.

Buôn Hồ, ngày 10 tháng 10 năm 2018
Người biên soạn


Nguyễn Thế Phi

MỤC LỤC
A. Mở đầu.....................................................................................................1
I. Lý do chọn đề tài ...........................................................................1
II. Mục tiêu, nhiệm vụ của đề tài ..................................................... 2
20


1. Mục tiêu ........................................................................ 2
2. Nhiệm vụ ....................................................................... 2
III. Đối tượng nghiên cứu ................................................................ 2
IV. Giới hạn của đề tài ..................................................................... 2
V. Phương pháp nghiên cứu ............................................................ 3
B. Nội dung.................................................................................................. 3
I. Cơ sở lý luận ................................................................................ 3
II. Thực trạng vấn đề nghiên cứu .................................................... 3
1. Thuận lợi ....................................................................... 4
2. Khó khăn ....................................................................... 4
III. Nội dung và hình thức của giải pháp ......................................... 4
1. Mục tiêu của giải pháp .................................................. 4
2. Nội dung và cách thức thực hiện ................................... 4
a. Ví dụ 1 ............................................................. 5
b. Ví dụ 2 ............................................................. 9
c. Ví dụ 3 ........................................................... 12
3. Mối quan hệ giữa giải pháp, biện pháp ....................... 18
4. Kết quả khảo nghiệm, giá trị khoa học ....................... 18
C. Kết luận và kiến nghị ......................................................................... 19
I. Kết luận ...................................................................................... 19
II. Kiến nghị .................................................................................. 19


21



×