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

SKKN MỘT SỐ BIỆN PHÁP GIÚP HỌC TỐT 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 (108.65 KB, 19 trang )

Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

MỤC LỤC
I. Lí do chọn đề tài.........................................................................................Trang 2
1. Đặt vấn đề..............................................................................................Trang 2
2. Mục tiêu của đề tài.................................................................................Trang 3
3. Phạm vi đề tài........................................................................................ Trang 3
4. Phạm vi nghiên cứu............................................................................... Trang 4
II. Nội dung và phương pháp thực hiện.........................................................Trang 4
1. Cơ sở lí luận...........................................................................................Trang 4
2. Thực trạng..............................................................................................Trang 4
3. Nội dung................................................................................................Trang 5
4. Kết quả đạt được..................................................................................Trang 17
III. Tổng kết.................................................................................................Trang 17
1. Tóm lược giải pháp..............................................................................Trang 17
2. Kiến nghị............................................................................................. Trang 18
3. Kết luận................................................................................................Trang 18

----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 1


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

I. LÍ DO CHỌN ĐỀ TÀI
1. Đặt vấn đề
Ngày nay chúng ta đang đứng trước một xã hội phát triển với nhiều lĩnh vực và


nhiều ngành công nghiệp khác nhau. Cùng với xu thế công nghiệp hóa – hiện đại hóa
đất nước thì khoa học kỹ thuật là lĩnh vực đi đầu, trọng tâm. Trong đó, Công nghệ
thông tin đóng vai trò không nhỏ, góp phần vào lĩnh vực này.
Với ý nghĩa quan trọng như trên, tin học đã được đưa vào nhà trường để giúp
học sinh tiếp xúc và làm quen dần với công nghệ thông tin. Mặt khác, máy tính điện
tử là công cụ rất hữu ích, nó giúp con người làm những công việc văn phòng (soạn
thảo, tính toán,...), liên lạc với nhau thông qua thư điện tử, tra cứu trực tuyến... Bên
cạnh đó, máy tính điện tử còn giúp chúng ta tạo lập các chương trình để phục vụ cho
một số nhu cầu, công việc hằng ngày thông qua ngôn ngữ lập trình (viết web, viết các
phần mềm học tập, phần mềm điều khiển thiết bị,...).
Có rất nhiều ngôn ngữ lập trình, một trong số đó được đưa vào giảng dạy ở bậc
trung học cơ sở là ngôn ngữ lập trình Pascal. Đây là ngôn ngữ lập trình đơn giản nhất
so với các ngôn ngữ lập trình khác. Pascal là một ngôn ngữ lập trình có cú pháp rõ
ràng, các lệnh và từ khóa gần gũi với ngôn ngữ của con người; Pascal được viết theo
lý thuyết chuẩn về lập trình cấu trúc và nhiều tài liệu khoa học máy tính cũng dùng
Pascal để minh họa; là trình biên dịch nhỏ gọn, có thể chạy trên các máy tính cấu
hình thấp. Pascal đòi hỏi người lập trình phải có tính tư duy, có khả năng phân tích và
tổng hợp, mà ở lứa tuổi lớp 8 khả năng đó của các em còn hạn chế nên gây không ít
khó khăn cho học sinh khi sử dụng Pascal để lập trình. Đặc biệt, đối với những học
sinh yếu kém thì việc sử dụng Pascal để lập trình lại càng khó khăn hơn nhiều. Có
nhiều nguyên nhân dẫn đến những khó khăn trong việc học Pascal của học sinh
nhưng có thể thấy một số nguyên nhân chính sau:
- Học sinh thường gặp khó khăn khi xác định bài toán.
- Khó liên hệ phương pháp giải một bài toán trong toán học với thuật giải bài
toán đó trong Pascal.
Là một giáo viên giảng dạy môn Tin học tại trường, tôi luôn trăn trở, tìm cách
truyền đạt kiến thức và các biện pháp giúp cho các em học sinh của mình học Pascal
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 2



Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

được tốt hơn. Chính vì vậy, nên tôi đã chọn đề tài “Một số biện pháp giúp học tốt
Pascal” góp phần vào công việc giảng dạy Tin học nói chung và giảng dạy Pascal nói
riêng để các đồng nghiệp tham khảo và đóng góp ý kiến giúp cho việc dạy và học
Pascal trong trường trung học cơ sở ngày càng hiệu quả hơn
2. Mục tiêu của đề tài
- Do gặp phải những khó khăn trên nên khi lập trình vận dụng giải các bài toán
học sinh không xác định được các công việc cần thực hiện đối với một đề bài tập cụ
thể, khi lập trình học sinh thường mắc nhiều lỗi mà nhiều khi bản thân học sinh
không hiểu là lỗi gì và không có cách khắc phục lỗi. Vì vậy trong đề tài tôi hướng tới
việc đưa ra một số việc học sinh phải thực hiện khi học lập trình, giúp học sinh xác
định bài toán; một số lỗi và cách sửa các lỗi này khi lập trình.
- Đưa ra một số kinh nghiệm dạy lập trình Pascal để giúp học sinh hiểu bài
nhanh chóng, nắm vững kiến thức, vận dụng làm một số bài tập đơn giản đến hơi khó
(dành cho một số học sinh khá giỏi).
3. Phạm vi đề tài
Mỗi giáo viên đều có một cách truyền đạt kiến thức riêng cho học sinh. Các chú
ý khi dạy Pascal, giúp các em tiếp thu và vận dụng tốt ngôn ngữ lập trình là rất nhiều,
rất phong phú. Tuy nhiên trong phạm vi sáng kiến kinh nghiệm này tôi chỉ trình bày
một số kinh nghiệm của cá nhân tôi qua các nội dung cụ thể sau:
- Một số lời khuyên cho học sinh để học lập trình hiệu quả.
- Hướng dẫn học sinh xác định các công việc cần thực hiện đối với một đề bài cụ
thể.
- Một số lỗi phổ biến của học sinh khi lập trình và cách sửa lỗi.
- Một số kinh nghiệm giảng dạy ngôn ngữ lập trình nói chung và ngôn ngữ lập
trình Pascal nói riêng.

4. Phạm vi nghiên cứu
- Đối tượng nghiên cứu: Học sinh lớp 8ª5 trường THCS Phước Đông năm học
2016-2017
- Kế hoạch nghiên cứu: Thực hiện trực tiếp qua các tiết dạy.
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 3


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

- Phạm vi nghiên cứu: Toàn bộ chương trình tin học quyển 3 dành cho THCS.
II. NỘI DUNG8 VÀ PHƯƠNG PHÁP THỰC HIỆN
1. Cơ sở lí luận
- Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của công nghệ thông
tin và đưa vào giảng dạy trong nhà trường ở các cấp từ tiểu học đến trung học phổ
thông.
- Muốn học tập đạt kết quả tốt ngoài sự nỗ lực, tự giác của học sinh, vai trò dẫn
dắt của giáo viên bộ môn là vô cùng quan trọng và cần thiết.
- Để giúp học sinh lập trình với Pascal được dễ dàng hơn, đồng thời thực hiện
theo tinh thần của toàn ngành hiện nay là phát huy tính tích cực, tự giác, sáng tạo, độc
lập của học sinh, nâng cao năng lực phát hiện và giải quyết vấn đề để đem lại hứng
thú học tập cho học sinh. Vì vậy với một số nội dung trong đề tài này, học sinh có thể
tự học, tự rèn luyện lập trình với Pascal thông qua một số dạng bài tập, đề bài tập cụ
thể.
2. Thực trạng
- Qua thực tế giảng dạy tại trường, tôi nhận thấy khi học đến chương trình tin
học 8, đa số học sinh đều cho rằng môn học này rất khó.
- Pascal là ngôn ngữ còn khá mới lạ đối với học sinh nên việc sử dụng các lệnh,

còn sai cú pháp và sai mục đích. Tuy Pascal là ngôn ngữ cơ bản nhất so với các ngôn
ngữ lập trình khác nhưng hệ thống các lệnh của Pascal đều sử dụng ngôn ngữ tiếng
Anh, việc này gây khó khăn không nhỏ đến việc hiểu ý nghĩa của các lệnh và đọc
hiểu hết các lỗi trong Pascal.
- Học Pascal có liên quan đến toán học, nhưng một số học sinh chưa nắm rõ
được một số kiến thức Toán học gây khó khăn cho việc giải quyết các bài tập.
- Một số học sinh còn xem nhẹ môn học và không có thái độ học tập tích cực,
xao nhãng việc học, không chịu suy nghĩ và động não khi làm bài tập. Một số học
sinh rất sợ học khi đến tiết bài tập, ôn tập và các em không nắm rõ được cách thực

-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 4


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

hiện một bài toán do cách giải và suy nghĩ trong Pascal có đôi lúc hơi trừu tượng. Tuy
nhiên cũng có một số học sinh rất yêu thích lập trình và học khá tốt Pascal.
3. Nội dung
a. Một số lời khuyên cho học sinh để học lập trình hiệu quả
* Học và nắm vững các kiến thức được học trên lớp
Đây là điều kiện cần thiết đối với tất cả các môn học nói chung và đối với môn
Tin học nói riêng. Học sinh cần phải học các kiến thức cơ bản được cung cấp trên lớp
như cấu trúc của một chương trình, cú pháp lệnh để có thể có thể viết đúng cú pháp
của lệnh đó cũng như công dụng của lệnh đó, tránh nhầm lẫn công dụng của các câu
lệnh. Ngoài ra học sinh còn có thể tự tìm hiểu các kiến thức khác về ngôn ngữ lập
trình Pascal qua các sách khác hoặc giáo trình…
* Nắm vững các kiểu dữ liệu của ngôn ngữ lập trình được cung cấp

Trong chương trình tin học 8 chỉ có một số kiểu dữ liệu được giới thiệu là số
nguyên (integer, byte hoặc longint), số thực (real), một kí tự (char) và xâu kí tự
(string) nhưng một số học sinh không nắm vững được từ khóa của kiểu dữ liệu cần sử
dụng. Vì thế khi học lập trình, học sinh cần nắm được từ khóa của các kiểu dữ liệu và
phạm vi giá trị của từng kiểu dữ liệu để sử dụng cho phù hợp (ví dụ: dữ liệu kiểu byte
là số nguyên có giá trị 0..255)
* Nắm vững cấu trúc dữ liệu cơ bản của ngôn ngữ lập trình được cung cấp
Một trong những yêu cầu quan trọng trong việc học ngôn ngữ Pascal là học sinh
phải nhớ cú pháp (cấu trúc) của các câu lệnh. Việc này có ý nghĩa trong việc lập trình,
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 5


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

giúp cho việc sử dụng các lệnh chính xác, hiệu quả hơn,, đồng thời hạn chế được các
lỗi khi lập trình. Chẳng hạn học sinh cần nắm rõ cách viết lệnh write/ read…, hoặc
nắm được cú pháp khai báo biến, khai báo hằng, khai báo dữ liệu kiểu mảng…
*Hoàn thành các bài tập giáo viên giao cho
Những bài tập mà giáo viên giao cho học sinh sau mỗi bài học là các bài tập cơ bản
phù hợp với các đối tượng HS mang tính hiểu và vận dụng. Vì thế nên mỗi học sinh
có thể tự làm dựa vào các kiến thức đã học. Việc tự làm các bài tập được giao giúp
cho các em có ý thức tự giác, tích cực hơn trong học tập, kích thích tư duy của các
em, đồng thời làm cho học sinh yêu thích môn học hơn khi tự mình giải được các bài
tập.
Ví dụ 1: Em hãy cho biết số lần lặp ở từng trường hợp sau:
i) for i:=1 to 5 do write(i:5);
ii) a:=5; while a<=7 do write(a:5);

Ví dụ 2: En hãy cho biết các câu lệnh sau đúng hay sai. Hãy chỉ ra chỗ sai nếu có:
i) for i:=1 to 5 do; write(i:5);
ii) for m:=5.5 to 10.5 do m:=m+1;
iii) for i:=8 to 4 do i:=i-1;
Ví dụ 3: Viết chương trình xuất ra màn hình 20 số 0
(Với yêu cầu này học sinh có thể viết 20 lần lệnh write(0) hoặc writeln(0), nhưng
do ta thấy các lệnh này được lặp đi lặp lại 20 lần nên có thể sử dụng câu lệnh lặp thay
cho viết 20 dòng lệnh)
Var i:integer;
Begin
For i:=1 to 20 do write(0:5);
End.
* Học sinh cần đọc kĩ yêu cầu đề bài và liệt kê ra các công việc cần thực hiện cho
một đề bài tập cụ thể
Một số học sinh có thói quen là không đọc kĩ yêu cầu của đề bài tập đưa ra. Việc
đọc kĩ yêu cầu của đề bài, để xác định được đề bài cho những dữ liệu nào, cần thực
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 6


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

hiện những yêu cầu gì là rất quan trọng trong lập trình. Khi nắm được yêu cầu đưa ra,
học sinh có thể từ đó hình dung ra các công việc cần thực hiện trong chương trình,
tránh việc không hiểu đề, lập trình lan man.
Ví dụ 1: Số nguyên n (với n ≥ 3) được gọi là số Py-ta-go nếu n2=(n-1)2+(n-2)2. Hãy
viết chương trình nhập vào một số n ≥ 3 và cho biết số đó có là số Py-ta-go không.
 Phân tích đề bài toán:

- Nhập vào số n ≥ 3 (sử dụng vòng lặp nhập một số vào từ bàn phím và kiểm tra
xem số nhập vào có ≥ 3 không, nếu không thì yêu cầu nhập lại – việc nhập kết thúc
khi số nhập vào đã thỏa mãn điều kiện)
- Xét xem số n có là số Py-ta-go không, nếu có thì xuất ra thông báo số n vừa
nhập là số Py-ta-go hay không, ngược lại thị xuất ra thông báo số n không là số Pyta-go
- Chương trình mẫu:
Var n:integer;
Begin
Write(‘Nhap so nguyen n: ’);
Readln(n);
While n<3 do
Begin
Write(‘So vua nhap nho hon 3, hay nhap lai: ’);
Readln(n);
End;
If n*n=(n-1)*(n-1)+(n-2)*(n-2) then
Writeln(‘So vua nhap la so Py-ta-go’)
Else
Writeln(‘So vua nhap khong la so Py-ta-go’)
End.

-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 7


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

Ví dụ 2: Mảng số nguyên A có 20 phần tử kiểu số nguyên. Viết chương trình nhập

giá trị cho các phần tử của mảng và xuất ra vị trí các phần tử mang giá trị chẵn trong
mảng
 Phân tích đề bài toán:
- Cho mảng số nguyên A gồm 20 phần tử.
- Nhập giá trị cho các phần tử trong mảng (dùng cấu trúc lặp để nhập)
- Xuất giá trị các phần tử trong mảng ra màn hình (dùng cấu trúc lặp để xuất)
- Tìm và xuất vị trí của các phần tử có giá trị chẵn trong mảng (Duyệt lần lượt
từng phần tử trong mảng và xét xem phần tử đó có mang giá trị chẵn không – nếu là
số chẵn thì xuất chỉ số của phần tử đó)
- Chương trình mẫu:
Var
A:array[1..20] of integer;
i:integer;
begin
writeln(‘nhap gia tri cho cac phan tu trong mang’);
for i:=1 to 20 do
begin
write(‘phan tu thu ’,i,‘: ’);
readln(A[i]);
end;
write(‘Mang vua nhap:’);
for i:=1 to 20 do write(A[i]:5);
for i:=1 to 20 do
if A[i] mod 2 = 0 then write(i:5);
end.
b. Một số lỗi phổ biến của học sinh khi lập trình và cách sửa lỗi
* Sử dụng sai câu lệnh

-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 8



Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

Đây là trường hợp mà trong quá trình giảng dạy tôi đã gặp phải 1 vài lần. Nguyên
nhân xuất phát là do học sinh không nắm vững các kiến thức đã được truyền đạt,
dẫn đến sự nhầm lẫn về công dụng của các lệnh. Do đó, như đã trình bày ở trên,
muốn học Pascal có hiệu quả thì đòi hỏi học sinh phải học các kiến thức đã được
giáo viên truyền đạt.
* Khai báo sai miền chỉ số cho dữ liệu kiểu mảng.
Ví dụ: Nhập vào một mảng số nguyên gồm các số lớn hơn 3 và nhỏ hơn 100. In
mảng vừa nhập.
Học sinh khai báo mảng như sau:
Var a: array[3..100] of integer;
* Dùng cùng tên biến điều khiển cho các vòng lặp for lồng nhau.
Ví dụ 3: Tính tổng S=1k+2k+….+nk
Học sinh lập trình giải bài toán trên như sau:
S:=0;
For i:=1 to n do
Begin
T:=1;
For i:=1 to k do
T:=T*i;
S:=S+T;
End;
Đoạn chương trình trên có thể lặp vô tận vì khi kết thúc vòng lặp con i luôn
nhận giá trị bằng k. Để khắc phục lỗi này, chỉ cần chú ý các vòng lặp lồng nhau
phải sử dụng biến điều khiển khác nhau.

* Sử dụng dấu ; sai vị trí.
- Không đặt dấu chấm phẩy khi kết thúc câu lệnh.
- Trước Else không có dấu chấm phẩy.
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 9


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

- Sử dụng dấu chấm phẩy sau từ khoá do trong các câu lệnh lặp  câu lệnh lặp
rỗng không làm việc gì cả.
c. Một số kinh nghiệm giảng dạy ngôn ngữ lập trình nói chung và ngôn ngữ lập
trình Pascal nói riêng
i) Đối với các tiết dạy lí thuyết
- Giáo viên cần giao nhiệm vụ cho học sinh, yêu cầu học sinh chuẩn bị bài trước
theo hệ thống câu hỏi giáo viên đưa ra ở cuối mỗi tiết học để học sinh có sự tìm hiểu
và chuẩn bị cho nội dung của tiết học sau. Như vậy mỗi học sinh đa phần đề đã đọc
và tìm hiểu trước nội dung bài, điều đó rất thuận lợi cho việc giáo viên truyền đạt
kiến thức đó trên lớp.
- Thông thường, đối với giáo viên, các kiến thức cần truyền đạt là đơn giản,
không khó, nhưng do học sinh mới tiếp xúc với ngôn ngữ lập trình lần đầu nên có thể
chưa thích ứng được với cách suy nghĩ, lập luận, xây dựng các công việc cho bài
toán. Vì thế mà khi truyền đạt giáo viên cần nói chậm, cần lấy các ví dụ gần gũi với
học sinh làm cho học sinh hiểu được mục đích sử dụng câu lệnh đó (nhiều ví dụ dẫn
dắt vấn đề trong sách giáo khoa còn hơi trừu tượng, đòi hỏi học sinh phải suy nghĩ
nhiều đến thuật giải, nên học sinh sẽ không tập trung sự chú ý của mình vào kiến thức
mà giáo viên cần truyền đạt trong tiết)
Ví dụ: Khi giảng dạy câu lệnh lặp, giáo viên có thể đưa ra yêu cầu: hãy viết

chương trình xuất ra màn hình 30 số 0. Từ đó, giáo viên đề cập đến các lệnh được lặp
đi lặp lại nhiều lần (30 lần) và thay các lệnh đó bằng 1 lệnh lặp. Như vậy sau này khi
gặp một công việc được lặp đi lặp lại nhiều lần học sinh sẽ nghĩ ngay đến cần sử
dụng câu lệnh lặp để viết.
- Mỗi khi đưa ra một cú pháp, câu lệnh nào đó cần cho học sinh làm các ví dụ cơ
bản liên quan đến cú pháp, câu lệnh đó để học sinh quen dần với kiến thức mới. Khi
học sinh đã nắm được kiến thức về câu lệnh thì cho một số bài tập cao hơn. Giáo viên
đi từ bài tập cơ bản đến nâng cao sẽ kích thích được sự yêu thích, ham tìm tòi của học
sinh

-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 10


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

Ví dụ: Với câu lệnh lặp for … do, giáo viên nên cho học sinh xác định số lần lặp
trong câu lệnh, xác định những lỗi sai trong câu lệnh có sẵn. Khi làm được các bài tập
cơ bản như vậy, học sinh sẽ thấy hứng thú hơn và sẽ muốn làm thêm những dạng bài
tập khác. Từ đó giáo viên nâng cao yêu cầu lên: hãy viết một lệnh đơn giản như nhập
10 số nguyên từ bàn phím hoặc xuất các số từ 0 đến 9 ra màn hình… Sau đó có thể
cho thêm một số bài tập với yêu cầu cao hơn. Đi từ cấp độ dễ đến khó rất có ích cho
việc giảng dạy ngôn ngữ lập trình Pascal.
ii) Đối với các tiết dạy thực hành
- Đa số các bài thực hành trong SGK đều xây dựng sẵn các chương trình. Gõ
chương trình không khó, vấn đề cần thiết là học sinh phải hiểu được ý nghĩa từng câu
lệnh (công việc cần thực hiện) của chương trình được viết ra. Để dễ dàng hơn, trước
mỗi tiết thực hành, giáo viên phải yêu cầu học sinh chuẩn bị trước ý nghĩa của từng

câu lệnh được viết trong một chương trình của bài thực hành, học sinh có thể tóm tắt
lại công việc được thực hiện của chương trình đó. Đối với một số đề toán khó, sách
giáo khoa có hướng dẫn ý tưởng của chương trình, học sinh cần tìm hiểu thật kĩ ý
tưởng, từ đó mới có thể hiểu được ý nghĩa của các lệnh được viết trong chương trình.
- Trong giờ thực hành, cần tổ chức hoạt động thảo luận theo nhóm nhỏ để học
sinh nêu ra các việc cần làm cho 1 bài toán. Từ đó, sẽ tránh được trường hợp học sinh
thụ động, chỉ bám vào các chương trình có sẵn trong sách giáo khoa để tránh hình
thành thói quen dựa và những điều sẵn có, không suy nghĩ, gây ảnh hưởng không tốt
đến sự tự giác, tích cực của học sinh. Trong giờ thực hành cần phải đảm bảo mỗi học
sinh đều được thực hành trên máy tính, tránh trường hợp các em ngồi không không
thực hành. Ngoài ra giáo viên cũng cần chú ý đến 3 đối tượng học sinh mà có cách
giảng dạy cho phù hợp:
+ Học sinh yếu: Không đòi hỏi quá cao ở học sinh, giáo viên cần phân tích và
giúp học sinh hiểu rõ ý nghĩa từng lệnh trong một chương trình.
+ Học sinh trung bình, khá: Giáo viên cần phân tích rõ yêu cầu đề bài, hướng
dẫn kĩ cho học sinh các công việc cần thực hiện theo trình tự trong một bài tập cụ thể
và yêu cầu các em viết các công việc đó bằng ngon ngữ lập trình Pascal.
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 11


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

+ Học sinh giỏi: Học sinh phải độc lập trong giờ thực hành, giáo viên chỉ cung
cấp các kiến thức mới, có thể gợi ý các yêu cầu mới, hoặc phân tích cho học sinh thấy
thuật toán của học sinh có vấn đề cần khắc phục…
iii) Giáo viên cần chuẩn bị nhiều dạng bài tập
Khi dạy lập trình nói chung và Pascal nói riêng, nhiều khi người dạy chỉ chú ý

và mong muốn học sinh thực hiện tốt các bài tập về lập trình. Theo tôi, khi dạy lập
trình Pascal, đặc biệt đối với học sinh ở lứa tuổi lớp 8, cần cho các em đi từ dễ đến
khó, không bắt buộc khi dạy về một phần nào đó là em các em phải viết được
ngay chương trình. Có thể thay vào đó bằng nhiều dạng bài tập thông hiểu, vừa
sức với các em, không chỉ xoáy vào việc cứ cho các em viết chương trình. Sau đây
là một số dạng bài tập đề nghị:
* Bài tập về viết thuật toán:
Việc trình bày thuật toán trước khi viết chương trình là hết sức quan
trọng. Thuật toán đúng thì chương trình mới có khả năng đúng, còn một thuật toán sai
chắc chắn là cho một chương trình sai. Tuy nhiên đa phần học sinh đều không thích
những bài tập dạng này và bỏ qua bước này khi làm một bài tập lập trình. Vì thế mà
các em thường không viết được một chương trình như yêu cầu, hoặc không biết phải
bắt đầu viết từ đâu, công việc nào trước, công việc nào sau. Một số học sinh có ý nghĩ
không cần viết thuật toán vẫn có thể lập trình được, thực tế là tuy không được viết ra
nhưng thuật toán đó đã được hình thành sẵn trong đầu người lập trình.
Theo định nghĩa trong sách giáo khoa Tin học quyển 3 dành cho trung
học cơ sở, thuật toán là một dãy hữu hạn các thao tác cần thực hiện theo một trình tự
xác định đêr nhận được kết quả cần tìm từ những điều kiện cho trước. Nói cách khác,
trình bày thuật toán tức là chỉ ra các bước cần thực hiện để đi đến kết quả.
Với đa số học sinh hiện nay, cần phải dành một lượng thời gian thích
hợp để rèn luỵên loại bài tập này. Cần phải tạo cho các em có ý thức khi viết một
chương trình Pascal là phải tuân thủ theo trình tự sau: Bài toán  Xây dựng thuật toán
 Viết chương trình. Như vậy thì việc viết một chương trình theo một đề bài cụ thể

-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 12


Trường THCS Phước Đông
Nguyễn Tấn Ngọc

------------------------------------------------------------------------------------------------------------

đối với các em sẽ dễ dàng hơn, các em không còn sợ khi đến các tiết bài tập, thực
hành
Ví dụ: Hãy xác định Input, Output và mô tả thuật toán tìm giá trị tuyệt
đối của một số a cho trước.
 Ở bài toán này học sinh dựa trên kiến thức toán học về xác định giá
trị tuyệt đối của một số cho trước.
Input: Số a
Output: Trị tuyệt đối của số a
Thuật toán:
Bước 1: Nhập số a
Bước 2. Nếu a < 0 xuất –a ra màn hình ( xuất trị tuyệt đối của a);
ngược lại, xuất a ra màn hình.
* Bài tập về đọc hiểu chương trình:
Loại bài tập này sẽ giúp phát triển tư duy, giúp học sinh hiểu bài, nhất là
khi dạy các cấu trúc lệnh. Đối với dạng bài tập này, giáo viên nên yêu cầu các em
cho biết ý nghĩa của từng lệnh, sau đó khái quát lên các công việc (các bước) cần
thực hiện trong bài tập và hướng dẫn các em thực hiện tuần tự từng lệnh theo
từng câu lệnh cụ thể (không chạy trên máy, thực hiện bằng tay trên giấy).
Ví dụ: Cho biết kết quả khi thực hiện chương trình sau:
Program vd2;
Uses crt;
Var i:integer;
Begin
Clrscr;
I:=7;
While i>1 do
Begin
If (i mod 2)<>0 then i:=i*3+1

-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 13


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

Else i:=i div 2;
Writeln(i);
End;
Readln;
End.
* Bài tập về sửa lỗi chương trình:
Đây là dạng bài tập đưa ra một chương trình có sẵn và yêu cầu học sinh
kiểm tra tính đúng, sai của chương trình, nếu chương trình cho kết quả không đúng
với yêu cầu đề bài thì yêu cầu học sinh sửa lại cho chính xác, phù hợp với yêu cầu.
Dạng bài tập này so với viết hẳn một chương trình Pascal thì mức độ dễ hơn,
Ví dụ 3: Để tìm số lớn nhất trong 3 số a, b, c được nhập vào từ bàn phím,
có người đã viết chương trình như sau:
Program vd3;
Uses crt;
Var a,b,c:integer;
Begin
Clrscr;
Write(‘nhap vao 3 so:’);
Readln(a,b,c);
If aElse
If a

Write(‘So lon nhat la:’,a);
Readln;
End.
Chương trình trên cho đáp số lúc đúng, lúc sai tuỳ thuộc vào a, b, c. Hãy
giải thích tại sao và sửa lại cho đúng.
Ta thực hiện chương trình trên với 2 bộ input sau đây:
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 14


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

a=3, b=4, c=5
a
B
c
a3
4
5
T (3<4)
4
Vậy số lớn nhất là 4  Kết quả sai

a
a=5, b=4, c=7
a

B
c
a5
4
7
F (5<4)
7
Vậy số lớn nhất là 7  Kết quả đúng

aT (5<7)

Chương trình trên thực hiện lúc đúng lúc sai do chương trình mới chỉ so
sánh 2 số a và b thôi đã đưa ra kết luận. Ta có thể sửa lại chương trình như sau:
Program vd3_1;
Uses crt;
Var a,b,c:integer;
Begin
Clrscr;
Write(‘nhap vao 3 so:’);
Readln(a,b,c);
If aBegin
If bEnd
Else
If aWrite(‘So lon nhat la:’,a);
Readln;

End.
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 15


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

* Trình bày thuật toán, yêu cầu học sinh viết chương trình theo đúng thuật
toán đó:
Một bài toán có thể có nhiều cách giải khác nhau ứng với mỗi cách giải
ta có một thuật toán. Việc trình bày thuật toán và yêu cầu học sinh viết chương trình
theo đúng thuật toán đó có ý nghĩa cho học sinh trong việc nắm bắt nhanh chóng ý
tưởng của người khác, điều này tạo điều kiện thuận lợi cho việc tổ chức các hoạt
động nhóm. Đồng thời rèn luyện cho học sinh có thể hiểu được một chương trình có
sẵn, rèn luyện khả năng tư duy của học sinh
Ví dụ: Cho thuật toán tính tổng các số tự nhiên từ 1 đến n như sau:
- Input: số nguyên n
- Output: tổng = 1 + 2 + 3 + … + n.
- Thuật toán:
Bước 1: Nhập n.
Bước 2: tổng ← 0, i ← 1
Bước 3: tổng ← tổng + i
Bước 4: i ← i + 1
Bước 5: Nếu i ≤ n, quay lại bước 2.
Bước 6: Thông báo kết quả tổng và kết thúc thuật toán.
 Từ thuật toán học sinh có thể xây dựng chương trình như sau:
Var n, tong, i:integer;
Begin

Write(‘nhap n: ’);
Readln(n);
Tong:=0;
For i:=1 to n do tong:=tong + i;
Writeln(‘tong can tim la:’,n:5);
End.
iiii) Sửa lỗi chương trình:
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 16


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

Trong dạy lập trình Pascal việc giúp học sinh nhận ra lỗi sai và cách sửa
các lỗi đó là rất cần thiết và quan trọng. Để có thể sửa lỗi nhanh chóng bản thân giáo
viên cần có sự tích luỹ kinh nghiệm những lỗi thường hay gặp. Riêng đối với học
sinh thì các em cần phải ghi nhớ được các lỗi mà mình mắc phải, các lỗi do giáo viên
giới thiệu để hạn chế mắc lỗi khi lập trình trên máy tính
4. Kết quả đạt được
Sau thời gian vận dụng những kinh nghiêm trên vào quá trình giảng dạy ngay
tại trường THCS đang công tác, tuy chưa hoàn toàn được như mong muốn, nhưng tôi
nhận thấy cũng có một số chuyển biến đáng kể trong các giờ lên lớp của học sinh lớp
8a5. Cụ thể là:
- Các em không còn cảm giác sợ hãi khi đến tiết (đặc biệt là các tiêt bài tập,
ôn tập) mà thay và đó là không khí học tập thoải mái, các em học với thái độ tích cực
hơn, yêu thích môn học hơn.
- Học sinh học thuộc bài và hoàn thành được các nhiệm vụ mà giáo viên giao
cho (làm bài tập, nghiên cứu trước nội dung bài học…).

- Phần lớn các em học sinh vận dụng được kiến thức có trong bài học, trong
sách giáo khoa làm các bài tập đơn giản có liên quan.
- Học sinh có tiến bộ trong việc đọc hiểu các chương trình cho trước, từ đó
nêu được thuật toán (ý tưởng) của một dạng bài tập nào đó.
- Học sinh nhận biết được các lỗi trong khi lập trình trên máy tính và tự khắc
phục các lỗi đó.
- Đa số học sinh có thể phát hiện được chỗ chưa đúng của một chương trình
cho trước và sửa lại cho đúng.
- Đối với một đề bài toán về viết chương trình, đa số học sinh biết phân tích
đề bài xác định được những dữ kiện cho trước, những gì cần đạt được (yêu cầu) của
đề bài, từ đó tự các em đưa ra được thuật toán và viết chương trình.
III. TỔNG KẾT
1. Tóm lược giải pháp

-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 17


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------

- Viết sáng kiến kinh nghiệm cũng là nhiệm vụ của mỗi giáo viên giúp giáo viên có
thể trao dồi các kinh nghiệm giúp cho việc giảng dạy của giáo viên và học tập của
học sinh đạt hiệu quả hơn, nhưng cần phải lựa chọn những phương pháp, biện pháp
nghiên cứu phù hợp với tình hình nhà trường và học sinh. Sáng kiến kinh nghiệm
đang trình bày của tôi dựa theo các luận cứ khoa học hướng đối tượng, cụ thể: thuyết
trình, quan sát, điều tra cơ bản, phân tích kết quả thực nghiệm sư phạm… phù hợp
với bài học và môn học.
- Qua quá trình nghiên cứu và áp dụng phương pháp bản thân tôi rút ra được một

số bài học kinh nghiệm sau:
- Pascal là một môn học tương đối khó so với độ tuổi học sinh lớp 8 nên cần
truyền đạt thật kĩ và cho học sinh nhiều bài tập vận dụng phù hợp với các em.
- Vì khả năng tư duy, phân tích của học sinh ở lứa tuổi này còn hạn chế nên giáo
viên không nên đưa ra các bài tập quá phức tạp và yêu cầu học sinh phải thực hiện,
như vậy sẽ làm cho học sinh cảm thấy không thích thú và sợ mỗi khi đến tiết học.
Giáo viên cần kết hợp hình thức làm bài tập và cho điểm khuyến khích để học sinh có
động lực hơn khi học.
2. Kiến nghị
* Về phía phụ huynh, học sinh:
- Phụ huynh học sinh cần dành nhiều thời gian quan tâm, nhắc nhở việc học tập
ở nhà của học sinh, cũng như có thái độ tích cực hơn đối với việc học tập của con em
mình. Đối với học sinh yếu kém, GVCN nên tăng cường các đợt họp phụ huynh và
kết hợp với gia đình nhắc nhở, giáo dục ý thức học tập của các em.
- Bản thân học sinh phải có ý thức tự giác, tích cực trong học tập, học bài và
làm bài đầy đủ khi đến tiết học.
* Về phía bản thân:
- Bản thân tôi cũng sẽ cố gắng tự học, rèn luyện một cách thường xuyên nhằm
nâng cao kiến thức nói chung cũng như chuyên môn nghiệp vụ, phục vụ giảng dạy có
hiệu quả. Đối với Ban Giám Hiệu nhà trường cũng như các đồng nghiệp khác, tôi rất
mong nhận được sự đóng góp ý kiến xây dựng phương pháp giảng có chất lượng,
hiệu quả và phù hợp để đưa chất lượng giáo dục ngày càng đi lên.
-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 18


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
------------------------------------------------------------------------------------------------------------


- Để hưởng ứng phong trào đổi mới phương pháp dạy học ở trường phổ thông,
với tư cách là một giáo viên tôi rất mong muốn đóng góp một phần nhỏ bé của mình
cùng với các thầy cô giáo và các bạn đồng nghiệp xây dựng phương pháp dạy học
mới ngày càng chuẩn mực, có hiệu quả hơn giúp cho các em học sinh có thái độ học
tập chủ động, tích cực, ngày càng yêu thích học tin học.
3. Kết luận
- Trên đây là toàn bộ kinh nghiệm mà tôi rút ra được trong quá trình giảng dạy
tin học lớp 8 cũng như tham khảo qua nhiều nguồn thông tin, tư liệu khác nhau, mặc
dù bản thân đã có gắng rất nhiều nhưng không thể tránh khỏi những thiếu sót, tôi rất
mong được sự đóng góp của các đồng nghiệp để đề tài được hoàn thiện và đạt hiệu
quả cao hơn.
NGƯỜI THỰC HIỆN

Nguyễn Tấn Ngọc

-----------------------------------------------------------------------------------------------------------SKKN: Một số biện pháp giúp học tốt Pascal
Trang 19