Đề tài Một số lỗi cần lưu ý khi dạy lập trình Pascal cho học sinh lớp 8

A. PHẦN MỞ ĐẦU

Trong thời buổi công nghệ hiện đại như ngày nay, nền công nghệp 4.0 được xem là ngành công nghiệp chủ lực để ứng dụng vào việc phát triển kinh tế của một quốc gia. Với thực tế đó ở góc độ giáo dục việc đào tạo, hướng dẫn cho thế hệ trẻ học sinh hiện nay nhất là việc học lập trình đối với học sinh được xem là một học phần khó và trừu tượng. Để đáp ứng cho nền kinh tế phát triển theo hướng công nghiệp 4.0 thì người lao động và làm việc hiện nay cần phải biết sử dụng từ mức độ biết đến thành thạo những trang thiết bị ở lĩnh vực công nghệ là điều rất cần thiết với mọi người, trong đó lĩnh vực giáo dục nói chung và phân môn Tin học nói riêng ở nhà trường đóng vai trò khá quan trọng đối với học sinh. Mà xuất phát điểm cho các trang thiết bị sẳn có trong lĩnh vực công nghệ là khâu lập trình cho các máy móc hay dây chuyền sản xuất, vì thế tôi quyết định chọn đề tài “Một số lỗi cần lưu ý khi dạy lập trình Pascal cho học sinh lớp 8” để hướng dẫn học sinh.

 

doc21 trang | Chia sẻ: thuhong87 | Lượt xem: 5682 | Lượt tải: 3Download
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Một số lỗi cần lưu ý khi dạy lập trình Pascal cho học sinh lớp 8", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
uy tắc
- Tên biến bị trùng với từ khóa;
- Tên biến bị trùng nhau trong cùng một chương trình;
- Tên biến bị chứa dấu cách như viết văn bản hay có khoảng cách phía trước,
4- 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;
5- Chưa hiểu thứ tự ưu tiên phép toán
Thứ tự ưu tiên các phép toán trong ngôn ngữ lập trình Pascal như sau:
- Biểu thức trong ngoặc: 
 *, /, div, mod
- +, -, or, and
- Các phép so sánh: >=,>,
6- Tràn số do kết quả tính toán vượt quá giới hạn
Function GT(n:integer):integer; Var i,t:integer;
Begin
	T:=1; 	For i:=2 to n do t:=t*i; Gt:=t; End;
Begin
	Write(‘GT(8)=’, GT(8)); 	Readln; End.
Khi thực hiện chương trình GT(8)= -25126 là sai vì thực tế 8!=40320
Lỗi này do khai báo hàm trả về số nguyên nên miền giá trị tối đa là 32767
7- Khai báo sai (không tương thích) kiểu dữ liệu
Ví dụ: Chương trình tính chu vi và diện tích hình chữ nhật;
uses crt; var a,b:real; s,cv:integer; Begin; clrscr; writeln ('chieu dai a='); eadln(a); writeln ('chieu rong b='); readln(b); s:=a*b; CV:= (a+b)*2; writeln('dien tich la ',s); write('chu vi la ',cv); readln End.
Khi chạy chương trình trên chương trình sẽ báo lỗi type mismatch chỗ dòng công thức tính diện tích của biến a, b. cách khắc phục ta sửa biến a,b,cv,s về cùng kiểu là được.
8- 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ụ: 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 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.
	9- Sử dụng tên hàm làm biến cục bộ
Do lệnh trả kết quả cho tên hàm rất giống một lệnh gán bình thường nên học sinh thường nhầm tên hàm là biến cục bộ. Vì vậy khi viết chương trình để tiết kiệm biến cục bộ học sinh đã sử dụng tên hàm làm biến cục bộ.
Function GT(n:integer):Longint; Var i:integer;
Begin
	For i:=2 to n do GT:=GT*i; End;
Trong thân hàm đã sử dụng tên hàm làm biến cục bộ nên khi biên dịch sẽ báo lỗi gọi hàm nhưng thiếu tham số do chương trình hiểu GT:=GT*i là lời gọi đệ qui.
Để tránh lỗi này cần lưu ý với học sinh: để trả kết quả cho hàm (không đệ quy), tốt nhất nên tính kết quả hàm vào một biến cục bộ, trước khi kết thúc ta mới gán tên hàm bằng giá trị biến này để trả giá trị về cho hàm.
B. Một số kinh nghiệm dạy lập trình Pascal
1. Có 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ú ý tới các bài tập về lập trình mà không nghĩ rằng trong những bước đầu để học sinh hiểu yêu cầu đề bài và phân loại bài tập cần phải đưa ra nhiều dạng bài tập khác nhau, trong số các dạng bài tập đó ở đây ta có thể nêu ra một số dạng như sau: bài tập về viết thuật toán, bài tập về đọc hiểu chương trình, bài tập về sửa lỗi chương trình, bài tập về viết chương trình, 
 Bài tập về viết thuật toán:
	- Theo khái niệm thuật toán trong sách giáo khoa Tin học quyển 3, thuật toán là một dãy hữu hạn các thao tác cần thực hiện để giải một bài toán. 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ả.
	- 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 đối với phần lớn học sinh lớp 8 thường bỏ qua bước này do tâm lý học sinh không thích các loại bài tập như thế. 
	- Trong nhiều trường hợp tưởng như không cần thuật toán cụ thể học sinh vẫn viết được chương trình. Thực tế thuật toán đó không được viết ra nhưng đã hình thành sẵn trong đầu người viết. Điểm này cũng giống như một người viết tập làm văn là lập dàn ý xong rồi viết bài văn hoàn chỉnh từ dàn bài đã lập.
	- 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. Phải làm sao cho việc viết thuật toán trở thành kĩ năng để khi các em lập trình trên máy, tuy không cần viết thuật toán ra mà các em có thể hình dung được thuật toán đó trong đầu. 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
Ví dụ: Có n hộp có khối lượng khác nhau và một cái cân dĩa. Hãy chỉ ra cách cân để tìm được hộp nặng nhất.Với bài toán trong thực tế như trên ta có thể phát biểu lại dưới dạng bài toán trong toán học như sau: Cho tập hợp A có số phần tử hữu hạn. Tìm phần tử lớn nhất trong tập A nói trên. Khi đó ta có thể trình bày thuật toán như sau:
B1- Nếu chỉ có 1 hộp thì đó chính là hộp nặng nhất và kết thúc.
B2- Nếu số hộp n>1 thì
Chọn 2 hộp bất kì và đặt lên bàn cân.
Giữ lại hộp nặng hơn và cất hộp nhẹ đi chỗ khác.
B3- Nếu không còn hộp chưa được cân thì chuyển sang bước 5, ngoài ra:
Chọn một hộp bất kì và để lên dĩa cân còn trống
Giữ lại hộp nặng hơn, cất hộp nhẹ sang chỗ khác
B4- Trở lại bước 3
B5- Hộp còn lại trên cân là hộp nặng nhất và kết thúc.
1.2 Bài tập tìm kết quả dựa trên thuật toán sẵn có:
Với loại bài toán này từ các bước đã cho giáo viên hướng dẫn học sinh cách tìm kết quả mà tác giả đã xây dựng cho bài toán qua các bước của thuật toán.
Ví dụ: Hãy cho biết kết quả của thuật toán sau:
	B1: SUM ß 0; i ß 0; 
	B2: Nếu i > 100 thì chuyển tới bước 4.
	B3: i ßi + 1; SUM ß SUM + i. Quay lại bước 2.
	B4: Thông báo giá trị SUM và kết thúc thuật toán.
1.3 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 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ể.
Ví dụ: Cho biết kết quả khi thực hiện chương trình sau:
Uses crt; Var i:integer; 
Begin
Clrscr; I:=7; While i>1 do 
Begin
If (i mod 2)0 then i:=i*3+1; Else i:=i div 2; Writeln(i);
End;
Readln; End.
1.4 Bài tập về sửa lỗi chương trình:
Ví dụ: Để 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:
Uses crt; Var a,b,c:integer;
Begin
Clrscr; Write(‘nhap vao 3 so:’); Readln(a,b,c); If a<b then a:=b
Else 	If a<c then a:=c;
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:
a=3,b=4,c=5
a
B
c
a<b
a<c
3
4
5
T (3<4)
4
Vậy số lớn nhất là 4 "Kết quả sai
a=5,b=4,c=7
a
B
c
a<b
a<c
5
4
7
F (5<4)
T (5<7)
7
Vậy số lớn nhất là 7 "Kết quả đúng
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:
Uses crt;
Var a,b,c:integer;
Begin
Clrscr;
Write(‘nhap vao 3 so:’);
Readln(a,b,c);
If a<b then
 Begin
	If b<c then a:=c else a:=b;
 End	Else 
	If a<c then a:=c;
Write(‘So lon nhat la:’,a);
Readln;
End.
2. Trình bày thuật toán, 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. Để giúp học sinh có khả năng nhanh chóng nắm được ý tưởng của người khác cần luỵên cho các em biết giải bài toán theo một thuật toán đã được trao đổi. Khả năng hiểu được nhanh ý tưởng của người khác cũng chính là yêu cầu trong hoạt động nhóm. Phát triển khả năng này là phát triển một phẩm chất tư duy quí báu để các em biết hợp tác trong công việc, một trong những yêu cầu của người lao động, sáng tạo trong thời đại mới, thời đại mà một sản phẩm là sự kết tinh lao động của nhiều người.
Ví dụ: Lập chương trình cắt bỏ các kí tự trống thừa của một xâu cho trước. Hãy viết chương trình theo thuật toán sau:
Bước 1: i:=1;Tword:= ‘’;XauM:= ‘’;
Bước 2: Kiểm tra xau[i] ‘ ’. nếu đúng thì đến bước 3, sai đến bước 5.
Bước 3: Tword:=Tword+xau[i]
Bước 4: Kiểm tra i<=length(xau). Đúng thì tăng i lên 1 và quay lại bước 2; sai thì đến bước 8.
Bước 5: kiểm tra Tword ‘’. Đúng thì xauM:=xauM+Tword+ ‘ ’ ; gán Tword= ‘’ và quay lại bước 4. Sai thì chuyển đến bước 6.
Bước 6: Kiểm tra Tword ‘’. Đúng thì gán xauM:=xauM+Tword; sai thì xoá kí tự trống ở vị trí length(xauM) của xauM.
Bước 7: gán xau:=xauM;
Bước 8: kết thúc.
Chương trình có thể được viết như sau:
Uses crt;
Var xau, xauM,Tword:string;
I:byte;
Begin
Wrire(‘nhap vao mot xau ki tu’);readln(xau);
xauM:= ‘’;Tword:= ‘’;
for i:=1 to length(xau) do
if xau[i] ‘ ’ then Tword:=Tword+xau[i];
else
begin
if Tword ‘’ then xauM:=xauM+Tword+ ‘ ’;
Tword:= ‘’;
End;
If Tword ‘’ then xauM:=xauM+Tword
Else xau:=xauM;
Write(‘Xau sau khi xoa cac ki tu trang thua la:’,xau);
Readln;
End.
Tuy nhiên bài toán trên ngoài cách giải trên ta có thể sử dụng thuật toán khác để giải. Thuật toán như sau:
Bước 1: Xoá các kí tự trong thừa ở đầu.
Sử dụng vòng lặp while: while xau[1]= ‘ ’ do delete(xau,1,1);
Bước 2: Xoá các kí tự trống ở cuối.
Sử dụng vòng lặp while: while xau[length(xau)]= ‘ ’ do delete(xau,length(xau),1);
Bước 3: xoá các kí tự trống thừa giữa các từ.
Kiểm tra 2 kí tự liền kề nhau có hơn 1 kí tự trống thì xoá kí tự trống.
While pos( ‘ ’,xau)0 do delete(xau,pos( ‘ ’,xau),1);
3. Nhận xét lời giải bài toán, phát hiện thiếu sót từ chương trình:
Ví dụ: Viết chương trình đếm và in ra các số trong 1 xâu đã cho.
Cho đoạn chương trình giải quyết công việc trên như sau:
I:=1; dem:=0;
While i<=length(xau) do
Begin
If (xau[i]>= ‘0’) and (xau[i]<= ‘9’) then
Begin
xauM:= ‘’;
while (xau[i]>= ‘0’) and (xau[i]<= ‘9’) do
begin
xauM:=xauM+xau[i];
i:=i+1;
end;
dem:=dem+1;
val(xauM,a[dem],n);
i:=i-1;
End;
I:=i+1;
End;
Write(‘xau co ’,dem, ‘ so la:’);
For i:=1 to dem-1 do write(a[i], ‘,’);
Write(a[dem]);
Đối với bài tập này, giáo viên yêu cầu học sinh nhận xét chương trình đã thực hiện đúng hay chưa, có đúng đối với tất cả các trường hợp hay không?
Học sinh có thể phát hiện chương trình chỉ đúng với xâu chứa các số thông thường, còn nếu xâu chứa số thực thị chương trình chưa cho kết quả đúng. Từ nhận xét đó giáo viên hướng dẫn các em bổ sung và chỉnh sửa lại chương trình.
4. Phân chia một bài toán thành nhiều bài toán nhỏ
Trong thực tế chúng ta thường gặp những vấn đề lớn mà với sức của một người thì không thể giải quyết được. khi gặp những vấn đề như vậy, ta thường nhờ bạn bè, người thân giúp một tay, mỗi người lo một phần việc.Khi giải một bài toán, ta thường chia bài toán lớn ban đầu thành nhiều bài toán con để việc giải bài toán ban đầu trở nên dễ dàng hơn,  Và như vậy, khi cần giải quyết một vấn đề nào đó bằng máy tính, để viết một chương trình phức tạp ta có thể viết từng phần chương trình giải quyết từng vấn đề nhỏ. 
Như vậy, việc phân chia một bài toán thành nhiều bài toán nhỏ sẽ giúp cho việc giải quyết bài toán mạch lạc, vịêc kiểm tra sai sót thuận tiện, có thể thấy kết quả ở từng bước và có thể điều chỉnh kịp thời.
5. Sửa lỗi chương trình
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 cần có sự tích luỹ kinh nghiệm những lỗi thường hay gặp:
MỘT SỐ LỖI THƯỜNG GẶP
(LỖI BIÊN DỊCH)
MÃ LỖI
THÔNG BÁO LỖI
Ý NGHĨA
3
Unknown identifier
Tên gọi chưa được mô tả
4
Duplicate indentifier
Khai báo lặp một tên gọi
5
Syntax error
Lỗi cú pháp
8
String constant exceeds line
Hằng xâu vượt quá một dòng
26
Type mismatch
Sai kiểu (kiểu không thích hợp)
36
Begin expected
Thiếu BEGIN
37
End expected
Thiếu END
42
Error in expression
Lỗi trong biểu thức
50
DO expected
Thiếu DO
54
OF expected
Thiếu OF
57
THEN expected
Thiếu THEN
63
Invalid file type
Kiểu tệp không hợp lệ
85
“;” expected
Thiếu dấu “;”
86
“:” expected
Thiếu dấu “:”
87
“,” expected
Thiếu dấu “,”
88
“(” expected
Thiếu dấu “(”
89
“)” expected
Thiếu dấu “)”
90
“=” expected
Thiếu dấu “=”
91
“:=” expected
Thiếu dấu “:=”
92
“[” or “(.” expected
Thiếu dấu “[” hoặc “(.”
93
“]” or “.)” expected
Thiếu dấu “]” hoặc “.)”
94
“.” expected
Thiếu dấu “.”
95
“..” expected
Thiếu dấu “..”
96
Too many variables
Quá nhiều biến
MỘT SỐ LỖI THƯỜNG GẶP
(LỖI SINH RA TRONG QUÁ TRÌNH CHẠY CHƯƠNG TRÌNH)
Runtime Error
MÃ LỖI
THÔNG BÁO LỖI
Ý NGHĨA
2
File not found
Không tìm thấy tệp
3
Path not found
Không tìm thấy đường dẫn
100
Disk read error
Lỗi khi đọc đĩa
101
Disk write error
Lỗi khi ghi đĩa
103
File not open
Tệp chưa được mở
200
Division by zero
Lỗi chia cho số 0
C. Một số bài tập tham khảo (dành cho học sinh khá, giỏi):
Bài 1: Viết chương trình giải phương trình bậc 2 (ax2 + bx +c =0)
  Uses crt;
  Var a,b,c,d,x,x1,x2:real;
  Begin
  Writeln('GIAI PHUONG TRINH BAC II:');
  Write('Nhap he so a=');readln(a);
  Write('Nhap he so b=');readln(b);
  Write('Nhap he so c=');readln(c);
              If a=0 then	              If b=0 then                          If c=0 then
                                      Writeln('Phuong trinh co vo so nghiem')                           Else
                                      Writeln('Phuong trinh vo nghiem')       
Else
                          Writeln('Phuong trinh co mot nghiem: x=',-c/b:4:2)   
Else
  Begin
              d:=b*b-4*a*c;
              If d=0 then
                          Writeln('Phuong trinh co nghiem kep: x=',-b/(2*a):4:2)              Else
                          If d<0 then
                                      Writeln('Phuong trinh vo nghiem')   
Else
                          Begin
                                      x1:= (-b+sqrt(d))/(2*a);
                                      x2:= (-b-sqrt(d))/(2*a);
                                      Write('Phuong trinh co hai nghiem: ‘);
                                      Writeln(‘ x1=',x1:4:2,' va x2=',x2:4:2);
                          End;
  End;
  Readln;
  End.
Bài 2: Bài toán cổ
Trăm trâu trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn ba
Trâu già ba con một bó.
Hỏi có bao nhiêu con mỗi loại?
   Uses crt;
  Var td,tn,tg:integer;
  Begin
            Clrscr;
            Writeln('  TRAM TRAU TRAM CO:');
            Writeln('----------------------------------');
            Writeln('Trau dung Trau nam Trau gia');
            For td:=0 to 20  do
                        For tn:=0 to 33  do
                                    For tg:=0 to 100 do
              If ((5*td+3*tn+tg/3=100) and (td+tn+tg=100)) then
                                    Writeln(td:6, tn:12, tg:15);
  Readln;
  End.
Bài 3: Viết các chương trình con tính diện tích tam giác, tròn, vuông, chữ nhật trong một chương trình. Sau đó hỏi chọn một trong các phương án tính diện tích bằng cách chọn trong bảng chọn lệnh sau:
0. Không làm gì hết và trở về màn hình soạn thảo.
1. Tính diện tích hình vuông
2. Tính diện tích hình tròn
3. Tính diện tích tam giác
4. Tính diện tích hình chữ nhật
Uses crt;
  Procedure HV;
              Var s,a:real;
              Begin
                     Writeln('TINH DIEN TICH HINH VUONG:');
      Write('Nhap chieu dai cua canh a = ');readln(a);
                          s:=a*a;
    Writeln('Dien tich hinh vuong = ',s:6:2);              End;
  Procedure HT;
              Var s,r:real;
              Begin
                          Writeln('TINH DIEN TICH HINH TRON:');
                          Write('Nhap ban kinh R = ');readln(r);
                          s:=pi*r*r;
                          Writeln('Dien tich hinh tron = ',s:6:2);              End;
  Procedure TG;
              Var a, b, c,s,p:real;
              Begin
                          Writeln('TINH DIEN TICH TAM GIAC:');
                          Write('nhap a =');readln(a);
                          Write ('nhap b =');readln(b);
                          Write('nhap c =');readln(c);
                          If ((a+b)>c)and((b+c)>a)and((a+c)>b) then
                          Begin
                                      p:=(a+b+c)/2;
                                      s:=sqrt(p*(p-a)*(p-b)*(p-c));
                                      Writeln('Chu vi tam giac:',2*p:4:2) ;
                                      Writeln('Dien tich tam giac:',s:4:2);                    
                          End                          Else
       Writeln(a,', ',b,', ',c,' khong phai la ba canh cua tam giac') ;              End;
  Procedure CN;
              Var a, b, s:real;
              Begin
                          Writeln('TINH DIEN TICH HINH CHU NHAT:');
                          Write('Nhap chieu dai a =');readln(a);
                          Write('Nhap chieu rong b= ');readln(b);
                          s:= a*b;
                          Writeln('Dien tich hinh chu nhat, s= ',s:6:2);
              End;
  Procedure menu;
  Var d:integer;
  Begin
              Clrscr;
Writeln('CHON MOT TRONG CAC PHUONG AN SAU:');     
Writeln('0: Quay ve man hinh soan thao');
Writeln('1: Tinh dien tich hinh vuong');
Writeln('2: Tinh dien tich hinh tron');
Writeln('3: tinh dien tich tam giac');
Writeln('4: Tinh dien tich hinh chu nhat');
Write(' Hay chon mot phuong an: '); readln(d);
              Writeln;
              Case d of
                          0: Exit;
                          1: HV;
                          2: HT;
                          3: TG;
                          4: CN;
              End;
  End;
  Begin          
    menu;
              Readln;
  End.
V. HIỆU QUẢ ÁP DỤNG
- Khi thực hiện thực nghiệm qua các đối tượng học sinh đã nêu trên, đa số các em tránh được các lỗi thường gặp khi học lập trình Pascal.
- Một số không ít học sinh có tiến bộ rõ rệt khi viết các chương trình có sử dụng lập trình có cấu trúc.
- Nâng cao việc yêu thích học tin học đối với một bộ phận học sinh và một số em có định hướng nghề nghiệp sau này.
- Bảng số liệu kết quả đạt được của học sinh lớp 8 cuối năm học 2017-2018 sau khi thực hiện đề tài:
STT
Lớp
Sỉ số
Trên trung bình
Dưới trung bình
SL
TL
SL
TL
1
8/3
25
23
92.0
02
8.0
2
8/4
26
24
92.3
02
7.7
C. KẾT LUẬN
	I. Ý nghĩa của đề tài đối với công tác giảng dạy và học tập của của học sinh
Trong nội dung của đề tài này, với mong muốn giúp cho việc dạy và học ngôn ngữ lập trình nói chung và Pascal nói riêng của giáo viên và học sinh được tốt hơn.
II. Khả năng áp dụng
Đề tài này được áp dụng tại trường trung học cơ sở Đại Phước, đối tượng áp dụng là học sinh đang học lớp 8 với phân môn Tin học. Trong đó có học sinh thuộc mô hình trường học mới và một nhóm học sinh tham gia ôn tập thi học sinh giỏi các cấp khối 8 và 9 ở môn Tin học.
III. Bài học kinh nghiệm, hướng phát triển đề tài
- Qua quá trình, áp dụng đề tài tôi nhận thấy nội dung này phù hợp với nhu cầu thực tiễn trong quá trình giảng dạy nhất là khi thực hành.
 - Khi áp dụng đề tài cũng đòi hỏi người hướng dẫn phải luôn biết tự nghiên cứu, tạo cảm hứng và khơi gợi sự sáng tạo cho học sinh. Đồng thời nó có sức ảnh hưởng đến học sinh qua các bài kiểm tra, nhất là học sinh được làm việc ở dạng kiến thức tổng quát của một nội dung Toán học cụ thể.
- Đề tài này cũng có thể áp dụng dạy kiến thức nâng cao cho học sinh ở cấp trung học phổ thông lớp 11 với mô đun lập trình Pascal.
IV. Đề xuất kiến nghị
Trên đây là toàn bộ kinh nghiệm của tôi qua nhiều năm liền dạy ở khối lớp 8 cũng như tham khảo qua nhiều nguồn thông tin, tư liệu khác nhau, rất mong được sự đóng góp của các đồng nghiệp nhằm giúp đề tài của tôi được hoàn thiện hơn.
Đại Phước, ngày 25 tháng 08 năm 2018
Người viết
 Nguyễn Thanh Bằng
DANH MỤC TÀI LIỆU THAM KHẢO
Tin học quyển 3 – Bộ Giáo dục và Đào tạo
Hướng dẫn Tin học 8 - Bộ Giáo dục và Đào tạo (sách thử nghiệm)
Lập trình Pascal – Bùi Việt Hà
Câu hỏi được thẩm định – Phòng Giáo dục và Đào tạo Càng Long
100 Bài tập Turbo Pascal lớp 8 – Từ Internet.

File đính kèm:

  • docSKKN mot so loi can luu y khi day lap trinh pascal cho hs lop 8_12534370.doc
Sáng Kiến Liên Quan