Sáng kiến kinh nghiệm Một số biện pháp rèn kỹ năng thực hành trong lập trình pascal bộ môn tin học lớp 8

I. LÝ DO CHỌN ĐỀ TÀI.

Mục tiêu cơ bản của ngành giáo dục và đào tạo Việt Nam hiện nay là không ngừng đổi mới phương pháp giảng dạy và nâng cao chất lượng giáo dục ở tất cả các cấp học mà trong đó cấp Trung học cơ sở là không thể thiếu. Để làm được điều này đòi hỏi đội ngũ giáo viên nhà trường ở tất cả các bộ môn cần thể hiện tinh thần trách nhiệm, tích cực trong mọi lĩnh vực để hoàn thành tốt sứ mệnh của ngành đã đề ra.

Trong các môn học, Tin học là môn học không thể thiếu trong nhà trường phổ thông. Chính vì vậy, đổi mới phương pháp giảng dạy bộ môn Tin học trong nhà trường đặt lên vai đội ngũ thầy cô giáo giảng dạy Tin học là nghĩa vụ cao cả để hoàn thành các chỉ tiêu và hiệu quả đào tạo của nhà trường đặc biệt là bậc học Trung học cơ sở;

 

doc19 trang | Chia sẻ: binhthang88 | Ngày: 20/11/2017 | Lượt xem: 440 | Lượt tải: 17Download
Bạn đang xem tài liệu "Sáng kiến kinh nghiệm Một số biện pháp rèn kỹ năng thực hành trong lập trình pascal bộ môn tin học lớp 8", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ũng “mới”. Học những thao tác và thực hành nhiều không còn tác dụng, học thuộc bài cũng không còn ổn nữa. Lúc này các em cần phải học cách tư duy logic, tìm thuật toán, và viết những dòng lệnh máy tính chính xác đến từng đấu chấm, dấu phẩy; 
Với tâm lí thông thường các em học sinh coi Tin học là môn phụ không quan trọng nên nhiều em chủ quan không dành đủ thời gian để học nên không hiểu bài và dần bị mất căn bản. Đây cũng là lí do mà nhiều em bị điểm kém, thậm chí là thi lại, học lại bộ môn tin học mặc dù có thể các em học rất giỏi các môn học khác;
Chính vì những điều đó nên Pascal cũng là một môn học gây khó khăn cho không ít học sinh, nhất là học sinh lớp 8. Ở lứa tuổi này, các em đang phát triển không đồng đều về tâm sinh lý nên rất ngán ngại khi học bởi vậy gặp không ít khó khăn cho các em khi phải sử dụng Pascal để lập trình. 
Đặc biệt, đối với những học sinh yếu, kém thì lại càng khó hơn. Mặt khác, nhiệm vụ chính trị quan trọng của năm học là không ngừng nâng cao chất lượng giảng dạy của giáo viên và việc học tập của học sinh, đổi mới cách nhìn và tư duy học tập bộ môn Tin học khối 8; 
Trong quá trình giảng dạy thực tế tại trường THCS Nguyễn Văn Xơ, trong các tiết thực hành bản tôi nhận thấy kỹ năng đọc hiểu bài toán, mô tả bài toán và kỹ năng viết lập trình đối với các em học sinh khối lớp 8 là rất yếu, chưa đáp ứng được yêu cầu khi tiếp xúc với các bài tập lập trình Pascal; 
Theo khảo sát kiểm tra đầu năm học với học sinh các lớp 8 tại nhà trường thì trong đó khoảng gần 60% các em chưa hiểu ngôn ngữ lập trình Pascal là gì?. Việc tiếp cận kiến thức lập trình để áp dụng giải bài toán cụ thể còn nhiều vấn đề gây khó khăn cho việc viết chương trình, trong đó phải kể đến là các bước thực hiện lập trình, mô tả thuật toán và việc khai báo thư viện cũng như cú pháp các câu lệnh trong Pascal, kiểm lỗi, sửa lỗi chương trình và chạy thử; 
Thực tế cho thấy tỷ lệ học sinh đạt điểm trung bình trở lên khi làm những bài tập đơn giản đầu tiên khá thấp, các em chưa hiểu rõ vấn đề, chưa thực sự ham thích, chưa thuộc các cú pháp câu lệnh và sai cấu trúc khá nhiều dẫn đến kết quả không như mong đợi. 
Điểm số
Số lượng
Tỷ lệ
1
25/190
13,16%
2
28/190
14,74%
3
31/190
16,32%
4
30/190
15,79%
5
19/190
10,00%
6
28/190
14,74%
7
12/190
06,32%
8
10/190
05,26%
9
05/190
02,63%
10
02/190
01,05%
Bảng số liệu tỷ lệ khảo sát đầu năm qua các bài thực hành trên lớp
Các biện pháp tiến hành để giải quyết vấn đề. 
Nghiên cứu tài liệu các kỹ năng lập trình trong việc nghiên cứu chuyên môn, tiến hành tham gia dự giờ các đồng nghiệp và trao đổi kinh nghiệm giảng dạy với các đồng nghiệp trong nhà trường hay các đơn vị bạn, đồng thời rút kinh nghiệm bản thân qua các tiết dạy lý thuyết và thực hành trên phòng máy tính; 
Tham khảo các giáo trình, sách báo và tìm hiểu ngôn ngữ lập trình Pascal qua mạng internet, các tài liệu và tích lũy kinh nghiệm giảng dạy. Giới thiệu tạo những hứng thú cho học sinh bằng việc đưa nhiều hình ảnh có liên quan bài học, bài tập để khi tiến hành làm thực hành các em học sinh dễ dàng khắc sâu các kiến thức bài học đồng thời áp dụng cho những bài tập có liên quan đến những bài học sau, bài học mới. 
MỤC TIÊU CƠ BẢN CỦA ĐỀ TÀI: 
Rèn luyện cho học sinh những kỹ năng đọc hiểu được bài toán, các bước giải quyết vấn đề, các bước mô tả thuật toán và giải quyết các bài toán trên máy tính một cách lôgic và khoa học; 
Rèn luyện kỹ năng lập trình cho học sinh đồng thời phát huy tính tích cực, sáng tạo, khả năng tư duy của học sinh trong giờ học lập trình đặc biệt là trong giờ học thực hành để đề xuất những giải pháp nâng cao chất lượng học tập bộ môn của học sinh.
MỘT SỐ BIỆN PHÁP THỰC HIỆN HƯỚNG DẪN HỌC SINH THỰC HÀNH LẬP TRÌNH PASCAL TRÊN MÁY: 
 	Pascal là một ngôn ngữ lập trình cấp cao sớm xuất hiện và phần nào thể hiện được ưu điểm của nó trong việc ứng dụng để giải quyết các bài toán trên máy tính. Ở trường phổ thông chúng ta không chú trọng học chuyên sâu về ngôn ngữ lập trình để tạo ra các phần mềm máy tính mà tập trung rèn luyện kĩ năng tư duy logic, tư duy hệ thống và sáng tạo không chỉ để giải quyết những vấn đề trong tin học mà đây còn là những kĩ năng vô cùng quan trọng để giải quyết nhiều vấn đề trong cuộc sống; 
Việc giải quyết các bài toán trên máy tính thật sự không đơn giản đối với các em học sinh. Trước tiên các em phải nắm vững lý thuyết, cú pháp câu lệnh, tính nguyên tắc và logic của bài lập trình. Các em phải hiểu được quy tắc đặt tên chương trình, tên biến cho phù hợp với bài toán và đảm bảo tính nguyên tắc, ví dụ như tên chương trình nếu quá 8 kí tự ta cần dùng dấu gạch nối xen giữa, bài lập trình nào thì ta cần dùng câu lệnh gán phối hợp với công thức toán học mà các em đã học ở bộ môn Toán để tính, bài nào thì dùng câu lệnh Ifthen, Fordo, Whiledo, khi nào dùng kiểu dữ liệu Integer, Real, String hay Longint; 
Bên cạnh đó để học sinh hiểu được, giáo viên cần chú ý cần quan tâm khía cạnh sự thông hiểu của học sinh, nên cho các em tập làm quen với các bài tập đơn giản nhất, dần dần tăng mức độ khó lên từ từ, không nên quá vội vàng để học sinh tiếp xúc với những bài quá khó. Nếu các em chưa thông hiểu, chưa giải quyết được vấn đề của bài tập đó, bản thân giáo viên nên giải thích hướng dẫn các em mô tả, phân tích cụ thể để từ đó hiểu rõ hơn bài tập mình đang làm; 
Để thực hiện tốt kỹ năng lập trình các em cần nắm vững các công thức toán học của bài toán để có thể chuyển đổi công thức ấy sang biểu thức Pascal. Cho học sinh ghi nhớ lại các công thức toán học mà các em chưa biết, chưa hiểu vào vở bài tập. Ví dụ một số công thức cơ bản như sau: 
+ Tính diện tích hình chữ nhật: SCN = chiều dài × chiều rộng. Khi đó ta chuyển sang biểu thức Pascal sẽ là: S:=a*b; nên lưu ý học sinh khi viết xong cuối dòng công thức phải có dấu chấm phẩy; 
+ Tính diện tích hình vuông: SHV = cạnh × cạnh. Khi đó ta chuyển sang biểu thức Pascal sẽ là: Dientich:=a*a; nên lưu ý học sinh khi viết xong cuối dòng công thức phải có dấu chấm phẩy;
+ Tính chu vi hình tam giác: SABC = cạnh a + cạnh b + cạnh c. Khi đó ta chuyển sang biểu thức Pascal sẽ là: CV:=a+b+c; nên lưu ý học sinh khi viết xong cuối dòng công thức phải có dấu chấm phẩy;
Ngoài ra, trong tiết học thực hành để khích lệ động viên tinh thần các em giáo viên nên biểu dương những học sinh có thành tích tốt bằng nhiều biện pháp, có thể cho điểm khuyến khích, động viên, khen thưởng trước lớp và điều quan trọng hơn nữa là những học sinh có tư duy tốt cùng với thầy hướng dẫn lại các bạn trong quá trình thực hành; 
Cấu trúc cơ bản nhất của một bài lập trình Pascal:
Về mặt lý thuyết giáo viên nên cung cấp chắc chắn cho học sinh cấu trúc chung của một bài lập trình theo cú pháp như sau:
PROGRAM 	; 
[]; 
BEGIN
	; 
READLN; 
END.
Bên cạnh đó, cũng cần lưu ý học sinh cách đặt tên chương trình đúng quy tắc, đảm bảo không sai cú pháp khi đặt tên chương trình, tên chương trình không được trùng với các từ khóa: PROGRAM, BEGIN, USES, VAR, END,..., dùng dấu gạch nối xen giữa nếu tên dài quá 8 ký tự và phải đảm bảo tên không dài quá 127 ký tự, tên chương trình phải được đặt bằng tiếng việt không dấu, không sử dụng dấu cách; 
Các biến ở phần khai báo phải đảm bảo phù hợp với bài toán và phù hợp với kiểu dữ liệu cần nhập. 
+ Cú pháp khai báo tên thư viện: ; Ví dụ khai báo thư viện Crt, Graph... là: USES CRT,GRAPH; 
+ Cú pháp khai báo tên hằng: ; Ví dụ khai báo tên biến Pi khi tính diện tích hình tròn là: Const Pi=3.14; 
+ Cú pháp khai báo biến: ; Ví dụ khai báo các biến a, b khi thực hiện bài toán tính tổng hai số tự nhiên a và b biết rằng a, b là 2 ký tự được nhập vào từ bàn phím là các số nguyên: Var a,b:Integer; 
+ Câu lệnh nhập dữ liệu vào từ bàn phím: Read(); hoặc Readln(); Ví dụ: Readln(CD,CR); 
+ Câu lệnh cho phép xuất dữ liệu hoặc kết quả ra màn hình, câu lệnh này thường sử dụng khá nhiều trong thực tế: Write(); hoặc Writeln(); Ví dụ xuất ra màn hình kết quả dòng chữ WELCOME TO NGUYEN VAN XO SECONDARY SCHOOL ta có thể viết như sau: Writeln(‘Welcome to Nguyen Van Xo Secondary School’); 
+ Câu lệnh gán được dùng để tính toán giá trị của biểu thức bên phải được kết quả cuối cùng thì gán cho tên biến phía bên trái là: :=; Ví dụ: S:=a+b; hoặc CV:=(a+b)*2; ,
Các phép toán số học, các hàm tính toán cơ bản trong Pascal: Phép cộng (+), phép trừ (-), phép nhân (*), phép chia (/), chia lấy phần nguyên (DIV), chia lấy phần dư (MOD), hàm tính giá trị tuyệt đối cho số thực hoặc số nguyên ABS(x), hàm tính bình phương cho số thực hoặc số nguyên SQR(x), hàm tính căn bậc hai cho số thực hoặc số nguyên SQRT(x), hàm tính lôgarít tự nhiên của x với x là số thực LN(x), EXP(x), SIN(x), COS(x). 
2. Cấu trúc câu lệnh điều kiện IF...THEN: 
Trong Pascal để mô tả cấu trúc rẻ nhánh ta thường dùng câu lệnh IF...THEN với hai trường hợp thiếu và đủ: 
+ Trường hợp 1 câu lệnh cấu trúc rẻ nhánh dạng thiếu có cú pháp đầy đủ như sau: IF THEN ; Nếu điều kiện có giá trị đúng thì câu lệnh sau từ khóa then được thực hiện, nếu điều kiện có giá trị sai thì câu lệnh sau từ khóa then sẽ không được thực hiện và bị bỏ qua. Ví dụ: IF A=10 THEN WRITELN(‘BAI LAM CUA BAN RAT XUAT SAC’); 
+ Trường hợp 2 câu lệnh cấu trúc rẻ nhánh dạng đầy đủ có cú pháp như sau: 
	IF THEN 
 	ELSE ; 
	Nếu điều kiện cho giá trị đúng câu lệnh 1 sau từ khóa then được thực hiện và bỏ qua câu lệnh 2, nếu điều kiện cho giá trị sai thì câu lệnh 2 sau từ khóa Else được thực hiện và bỏ qua câu lệnh 1; 
	Ví dụ: 
IF 9<3 THEN WRITELN(‘BAN NEN HOC BOI DUONG TOAN’)
ELSE WRITELN(‘BAN NEN HOC BOI DUONG TIN HOC’); 
Giáo viên trong quá trình cho học sinh thực hành nên hết sức lưu ý học sinh các quy tắc khi sử dụng các câu lệnh cấu trúc rẻ nhánh như dấu chấm phẩy được đặt sau dòng lệnh của từ khóa Else, hoặc trong quá trình sử dụng lệnh rẻ nhánh cũng cần lưu ý có thể sử dụng câu lệnh ghép sau từ khóa Else thì phải đặt giữa hai từ khóa BEGIN và END; 
3. Cấu trúc câu lệnh lặp với số lần biết trước FOR...DO: 
Cũng cần lưu ý học sinh khi giảng dạy lý thuyết lẫn thực hành, câu lệnh lặp với số lần biết trước lúc nào cũng có hai dạng là lệnh lặp dạng tiến và lệnh lặp dạng lùi mà sách giáo khoa chưa đề cập đến; 
Lặp dạng tiến:
   	FOR := TO  DO ;
 	Ví dụ 1: Sắp xếp các lệnh sau đây thành một bài lập trình hoàn chỉnh trong Pascal để thực hiện hiển thị các số từ 1 2 3 4 5 mỗi số cách nhau 3 khoảng trắng?
PROGRAM SAP_XEP;
USES CRT;
VAR i:INTEGER;    
BEGIN
 CLRSCR; 
 FOR i:=1 TO 5 DO WRITE(i:4); 
 READLN; 
END.
Lặp dạng lùi (Dạng này dùng cho học sinh khá giỏi giới hạn SGK chưa đề cập đến):
   	FOR := DOWNTO  DO ;
Đối với lệnh lặp dạng lùi áp dụng cho bài tập trên cần thực hiện cú pháp các câu lệnh tương tự nhưng chỉ khác ở chỗ câu lệnh lùi có dạng cú pháp như sau: FOR i:=5 DOWNTO 1 DO WRITE(i:4); 
Cấu trúc câu lệnh lặp với số lần chưa biết trước: 
Để thực hành tốt các dạng bài tập câu lệnh lặp với số lần chưa biết trước học sinh cần thiết nắm vững kiến thức lý thuyết thông qua cú pháp:
While do ; 
Với cú pháp này câu lệnh có ý nghĩa nếu câu lệnh kiểm tra điều kiện đúng thì sẽ thực hiện câu lệnh. Sau một vòng lặp chúng ta có thể thao tác tăng hoặc giảm biến để cho điều kiện sẽ bị sai sau một số vòng lặp; 
Ví dụ: Hãy lập vào chương trình nhập hai số nguyên dương n và x. Tính lũy thừa Nx. 
Program Luy_thua; 
Var x,n,Tich,Luythua:Integer; 
Begin
 	Writeln(‘Nhap vao so nguyen duong N va X: ’); Readln(n,x); 
 	Tich:=1;
 	Luythua:=1;
	While Luythua<=n do
 	Begin
 	Tich:=Tich*x; 
 	Luythua:=Luythua+1;
	End; 
	Writeln(‘Ta co N luy thua x la: ’,Tich); 
	Readln; 
End. 
Cấu trúc dữ liệu kiểu mảng:
Đối với nội dung này, giáo viên cần cho học sinh hiểu rõ khái niệm kiểu mảng, hiểu được cách khai báo các phần tử và cách truy cập đến các phần tử của mảng, học sinh cần hiểu được cách cài đặt thuật toán một số bài đơn giản với dữ liệu kiểu mảng, thực hiện việc khai báo mảng, truy cập, tính toán các phần tử của mảng, học sinh cần hiểu rõ các thành phần khai báo dữ liệu kiểu mảng; 
Để học sinh nắm được nội dung này tương đối khó khăn đối với trình độ học sinh lớp 8, chính vì vậy ta vừa dạy cho học sinh loại mảng một chiều, vừa nâng cao cho học sinh loại mảng hai chiều: 
+ Khai báo mảng một chiều theo hai cách khác nhau, cách thứ nhất là ta khai báo trực tiếp theo cú pháp sau:
Var : Array[m1..m2] of ;
 Trong đó: m1, m2 có cùng kiểu dữ liệu xác định phạm vi của chỉ số m1<=m2; 
Ví dụ: 	VAR M:ARRAY[1..5] OF INTEGER; 
+ Đối với cách thứ hai ta thực hiện khai báo gián tiếp theo hai bước với cú pháp như sau: 
Bước 1: Type =Array[m1..m2] of ; 
Bước 2: Var :; 
Ví dụ: Type M=Array[1..5] of Integer; 
 Var a:M; 
Tùy theo yêu cầu từng bài toán mà ta có thể sử dụng cách trực tiếp hay gián tiếp, học sinh cần hiểu và đọc kỹ đề từng bài toán. 
Chương trình có thể được viết theo cách 1 có nội dung code như sau: 
Program Nhietdo_Tuan;
Uses Crt; 
Var t1,t2,t3,t4,t5,t6,t7:Real;
 Dem:Byte
Begin
	Clrscr;
 	Write(‘Nhap vao nhiet do cua 7 ngay: ’); 
 	Readln(t1,t2,t3,t4,t5,t6,t7);
 	tb:=(t1+t2+t3+t4+t5+t6+t7)/7;
 	Dem:=0;
 	If t1>tb then Dem:=Dem+1; 
 	If t2>tb then Dem:=Dem+1;
 	If t3>tb then Dem:=Dem+1;
 	If t4>tb then Dem:=Dem+1;
 	If t5>tb then Dem:=Dem+1;
 	If t6>tb then Dem:=Dem+1;
 	If t7>tb then Dem:=Dem+1;
	Writeln(‘Nhiet do trung binh tuan la: ’,tb:8:1);
	Writeln(‘So ngay co nhiet do cao hon trung binh la: ’,dem); 
 	Readln; 
End. 
Nếu viết theo cách thứ hai ta sẽ có đoạn code được viết như sau: 
Program Nhietdo_Tuan; 
Uses Crt; 
Var A:Array[1..7] of Real; 
 Tong,tb:Real;
 i,dem:byte; 
Begin
 	Clrscr; 
 	Tong:=0; dem:=0;
 	For i:=1 to 7 do
 	 	Begin
 	Writeln(‘Nhap nhiet do ngay thu’,i,’’); 
 	Readln(A[i]); 
 	Tong:=Tong+A[i];
 	End; 
 	tb:=Tong/7;
 	Writeln(‘Nhiet do trung binh cua ca tuan la: ’,tb:8:1); 
 	For i:=1 to 7 do 
 	If A[i]>tb then dem:=dem+1; 
 	Writeln(‘So ngay co nhiet do cao hon trung binh la: ’,dem); 
	Readln; 
End.
Nếu so sánh 2 cách viết ta có nhận xét như sau: Đối với cách thứ nhất phải khai báo 30 biến đơn, sử dụng 30 lệnh if...then. Còn đối với cách thứ hai chỉ cần khai báo một mảng gồm 30 phần tử, ta sử dụng lệnh For i:=1 to 30 do... 
Như vậy một cách nhìn rõ ràng giáo viên hướng dẫn cho học sinh phân tích bài toán khi sử dụng biến đơn cùng kiểu dữ liệu, thì việc sử dụng biến mảng sẽ thuận lợi hơn rất nhiều trong việc thực hiện lập trình các bài toán xử lý dãy số, học sinh sẽ rút ngắn thời gian và công việc lập trình đỡ vất vả hơn khi xử lý các bài tập thực hành; 
Đối với phần mảng hai chiều dù trong chương trình không có nhưng giáo viên cũng cần bổ sung cho các em đặc biệt là những học sinh giỏi bộ môn và có tính tư duy cao. Các hình thức đơn giản nhất của mảng đa chiều là mảng hai chiều. Một mảng hai chiều, trong bản chất, một danh sách các mảng một chiều. Để khai báo một mảng số nguyên hai chiều kích thước x, y, bạn sẽ viết một cái gì đó như sau: Var ArrayName:Array[1..x,1..y] of element-type; 
Trường hợp loại yếu tố có thể là bất kỳ kiểu dữ liệu hợp lệ Pascal và ArrayName sẽ là một định danh Pascal hợp lệ. Một mảng hai chiều có thể được hình dung như một bảng, trong đó sẽ có x số hàng và số y của cột. Như vậy, mỗi phần tử trong mảng a được xác định bởi một tên phần tử có dạng a [i] [j], trong đó một là tên của mảng, và i và j là những kí hiệu mà duy nhất xác định mỗi yếu tố trong một; 
Mảng nhiều chiều, như mảng một chiều, được khởi tạo bằng cách chuyển nhượng thông qua, hoặc bằng cách xác định một subscript cụ thể hoặc sử dụng một cho vòng lặp; 
Bài tập: Viết chương trình nhập vào mảng 2 chiều C có n hàng, m cột. Xuất ra những phần tử của mảng 2 chiều C thỏa điều kiện là những số chẳn. 
Program Mang_2C;
Uses Crt; 
Type mang=Array[1..15,1..15] of integer; 
Var c:mang; 
 m,n:byte; 
 i,j,k: Integer; 
Begin 
 	Clrscr; 
 	Write('Nhap so hang n = '); Readln(n); 
 	Write('Nhap so cot m = '); Readln(m); 
 	{nhap mang} 
 	For i:=1 to n do 
 	For j:=1 to m do 
 	Begin 
 	Write('C[',i,',',j,']='); 
 	Readln(c[i,j]); 
 	End; 
 	{in matran} 
 	For i:=1 to n do 
 	Begin 
 	For j:=1 to m do 
 	If c[i,j]mod 2= 0 then Write(c[i,j]:6); 
 	End; 
Readln; 
End. 
Trong nội dung này giáo viên vận dụng để bồi dưỡng cho các em học sinh giỏi bộ môn, có ham thích học tập và nghiên cứu bộ môn; 
Bên cạnh các kinh nghiệm tích lũy được, bản thân tôi còn nhận thấy cần vận dụng nhiều phương pháp giúp cho tôi tập trung vào nghiên cứu đó là: phương pháp điều tra, phương pháp quan sát, phương pháp phân tích, tổng hợp, phương pháp thống kê để từ đó có biện pháp điều chỉnh chuyên môn giảng dạy cho phù hợp với các đối tượng học sinh; 
Rèn luyện kỹ năng lập trình đặc biệt là lập trình Pascal là một việc không phải một sớm một chiều có thể nhanh chóng giỏi và giải quyết mọi bài toán. Qua nhiều năm kinh nghiệm giảng dạy bộ môn Tin học, bản thân tôi thấy nếu muốn các em học sinh giỏi về kỹ năng thực hành lập trình cần trang bị cho các em theo các cách sau: Xem các code ví dụ (Look at the Example Code), đừng chỉ đọc các code ví dụ – hãy chạy thử nó (Don’t just Read exam code – Run It), hãy viết mã riêng của bạn càng sớm càng tốt (Write your own code as soon as possible), tìm hiểu cách sử dụng một công cụ Debug (Learn to use a Debugger), Tìm kiếm thêm những nguồn tài tài liệu khác (Seek our more sources); 
* Khả năng áp dụng.
- Đề tài này có thể vận dụng cho tất cả học sinh mới bắt đầu làm quen ngôn ngữ lập trình Pascal và cho cả việc bồi dưỡng học sinh giỏi và phụ đạo học yếu kém trong phạm vi nhà trường.
* Lợi ích kinh tế - xã hội.
- Trong quá trình giảng dạy năm học 2016 – 2017 tôi đã áp dụng sáng kiến nêu trên, qua khảo sát thực tế của học sinh, tôi đã thấy chất lượng bộ môn đạt kết quả cao hơn so với ban đầu. Các em học sinh rất thích thú và một số em ham mê nghiên cứu học môn Tin học nhất là các tiết vào giờ thực hành. Rèn luyện cho học sinh tính tư duy, tính sáng tạo trong quá trình lập trình, các em tự giải quyết vấn đề mà lâu nay còn vướn mắc chưa giải quyết được.
PHẦN C. KẾT LUẬN VÀ KIẾN NGHỊ.
Để giải một bài toán trên máy tính thật sự không hề đơn giản dù cho chúng ta biết nếu vận dụng phương pháp toán học thì việc xử lý không hề khó nhưng khi chúng ta thực hiện yêu cầu trên máy tính bằng ngôn ngữ lập trình thì vạn điều khó. Song song đó bản thân giáo viên phải trăn trở làm thế nào để giúp học sinh giải quyết vấn đề một cách nhanh chóng hiệu quả đòi hỏi các em thật sự tập trung và khơi dậy trong tinh thần các em niềm đam mê học tập; 
Muốn được vậy giáo viên bộ môn Tin học cần trang bị dần dần cho các em các kỹ năng trong các tiết thực hành, giúp các em hiểu cách xây dựng bài toán, mọ tả thuật toán, đến việc viết chương trình, nhận biết các lỗi và sửa lỗi chương trình để ngày ngày nâng cao khả năng đồng thời để góp phần nâng dần chất lượng dạy và học tin ở các trường Trung học cơ sở; 
Là một giáo viên tin học tôi muốn nói rằng chúng ta không chỉ dạy lý thuyết suông mà cần phải rèn luyện cho học sinh các kỹ năng thực hành, khơi gợi cảm giác dễ chịu mà không phải bị gò bó. Để từ đó học sinh mới nhận thấy được ưu điểm của việc học chương trình này có lợi hơn ở điểm nào.
Tóm lại để giúp các em viết được một chương trình hoàn chỉnh thỏa mãn yêu cầu của bài toán đặt ra trên máy tính thì học sinh phải có tư duy lôgic về thuật toán, khả năng sử dụng máy tính thành thạo, sử dụng các câu lệnh và khai báo kiểu dữ liệu một cách hợp lý. Với tham vọng nâng cao chất lượng giảng dạy bộ môn đặc biệt là môn Tin học lớp 8, hy vọng thời gian tới bộ môn Tin học ở đơn vị chúng tôi đạt nhiều kết quả đáng kể, cũng như chất lượng giáo dục đào tạo huyện nhà ngày càng phát triển hơn so với các quận huyện trong toàn thành phố; 
Trên đây là một số biện pháp mà tôi đã áp dụng vào dạy Tin học khối 8. Tuy đã được đúc kết từ kinh nghiệm giảng dạy thực tế. Nhưng trong quá trình thực hiện đề tài này sẽ không tránh khỏi những thiếu sót. Rất mong nhận được sự góp ý bổ ích của các thầy cô giáo và các bạn đồng nghiệp để bài viết được hoàn thiện hơn./.
Thái Mỹ, ngày 22 tháng 01 năm 2017
 	 Chủ nhiệm đề tài 
 Phan Nghĩa Bình Nam 

File đính kèm:

  • docSANG_KIEN_KINH_NGHIEM.doc