skkn hướng dẫn học sinh phát hiện và sữa lỗi cú pháp khi viết chương trình bằng ngôn ngữ lập trình pascal trong chương trình tin học lớp 11

22 2.7K 5
skkn hướng dẫn học sinh phát hiện và sữa lỗi cú pháp khi viết chương trình bằng ngôn ngữ lập trình pascal trong chương trình tin học lớp 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PHẦN I: ĐẶT VẤN ĐỀ I. LÍ DO CHỌN ĐỀ TÀI Thế kỉ XXI là thế kỉ của Công nghệ thông tin và truyền thông. Vì vậy việc trang bị những kiến thức Tin học là một vấn đề có ý nghĩa và tầm quan trọng rất lớn đối với quá trình đào tạo nhân lực, bỗi dưỡng nhân tài cho đất nước. Xác định được tầm quan trọng đó nên từ năm 2006 môn Tin học đã được bộ Giáo dục-Đào tạo đưa vào giảng dạy ở các cấp học, nhằm trang bị cho học sinh những kiến thức cơ bản, phổ thông về ngành khoa học Tin học. Đặc biệt là trong chương trình SGK Tin học lớp 11 bậc THPT, các nhà biên soạn sách đã đưa vào các chương bài giúp học sinh tiếp cận được với ngôn ngữ lập trình bậc cao. Qua đó giúp các em hình dung được sự ra đời, cấu tạo, hoạt động cũng như ích lợi của các chương trình hoạt động trong máy tính. Từ đó khơi gợi ở các em niềm đam mê đối với bộ môn Tin học, tạo niềm tin để các em có thể dễ dàng tự định hướng, lựa chọn nghề nghiệp sau này. Tuy vậy, khi thực hiện giảng dạy môn Tin học lớp 11 tại Trường THPT Lê Lợi, tôi thấy rằng, việc học sinh lập trình giải các bài toán trên máy tính thường gặp không ít khó khăn. Phần lớn các em đều gặp một số lỗi cơ bản về mặt cú pháp và ngữ nghĩa. Trong khi đó để viết được một chương trình hoàn chỉnh thì học sinh phải có tư duy logic về thuật toán, biết khai báo kiểu dữ liệu một cách hợp lí, biết sử dụng các câu lệnh đúng cú pháp. Bản thân tôi trong quá trình giảng dạy cũng đã cố gắng hướng dẫn học sinh viết chương trình đúng với yêu cầu trên. Nhưng do thời lượng thực hành trên lớp không nhiều mà phần lớn nhà các em không có máy vi tính nên các em không được thực hành thường xuyên, dẫn đến các em vẫn mắc phải một số lỗi cơ bản. Vì vậy, từ năm học 2011-2012 đến nay tôi đã tìm ra và áp dụng một số biện pháp: “Hướng dẫn học sinh phát hiện và sửa lỗi cú pháp khi viết chương trình bằng ngôn ngữ lập trình Pascal trong chương trình Tin học 11”. Trong quá trình áp dụng, bản thân tôi tự thấy đã có những kết quả nhất định, muốn được chia sẻ với các bạn đồng nghiệp. Hi vọng sẽ nhận được nhiều ý kiến bổ ích để đề tài của tôi ngày một hoàn thiện hơn. 1 1 PHẦN II. GIẢI QUYẾT VẤN ĐỀ I. CƠ SỞ LÍ LUẬN Pascal là ngôn ngữ lập trình bậc cao do giáo sư Niklaus Wirth (trường đại học kỹ thuật , Zurich, Thụy sĩ) sáng tác và công bố vào đầu những năm 1970, với tên Pascal để kỷ niệm nhà toán học người Pháp Blaise Pascal thế kỷ 17. Lúc đầu, ngôn ngữ lập trình này được sáng tác ra nhằm giúp cho những người mới học lập trình có được thói quen viết một chương trình có cấu trúc sáng sủa, rõ ràng, dễ hiểu và dễ đọc cho mọi người. Giáo sư Wirth thấy rằng có thể tránh được rất nhiều lỗi khi lập trình với một ngôn ngữ có cấu trúc khối và có sự kiểm tra kỹ lưỡng sự tương thích giữa các kiểu dữ liệu. Mà Pascal là một ngôn ngữ như thế: mọi biến và hằng của một kiểu dữ liệu không thể tự do đem trộn lẫn với các biến và hằng của một kiểu dữ liệu khác. Ngôn ngữ Pascal có thể tách các thông tin dữ liệu (biến, hằng,…) và các lệnh cần dùng cho một nhiệm vụ xác định thành những khối riêng, tách ra khỏi phần còn lại của chương trình để người lập trình có thể giải quyết dần từng phần một, từng khối một và thậm chí có thể cho nhiều người tham gia lập trình, mỗi người phụ trách một vài khối. Từ tính ưu việt đó của ngôn ngữ lập trình Pascal mà ngôn ngữ này đã được sử dụng rộng dãi. Pascal rất thích hợp dùng để giảng dạy trong các nhà trường và cho những người mới bắt đầu học lập trình. Do đó trường THPT Lê Lợi đã chọn ngôn ngữ lập trình này để dạy học sinh giải bài toán trên máy tính. Mặc dù mục tiêu của chương trình giáo dục Tin học của Bộ GD & ĐT không quy định phải dạy học sinh trên một ngôn ngữ lập trình cụ thể nào. Tuy nhiên trong quá trình học tập, học sinh ở trường chúng tôi vẫn mắc phải một số lỗi khi lập trình. Vì vậy để khắc phục tình trạng mắc lỗi, tôi đã cố gắng tìm ra giải pháp trong quá trình giảng dạy. II. THỰC TRẠNG CỦA VẤN ĐỀ 1.Thực trạng chung. - Mặc dù Bộ giáo dục và đào tạo đã xác định rõ ý nghĩa và tầm quan trọng của bộ môn Tin học, nhưng đây lại là một môn học không thi Tốt nghiệp và Đại học nên chưa được giáo viên, phụ huynh và học sinh quan tâm đúng mức. - Điều kiện phòng máy nhà trường chưa đáp ứng được 1 học sinh/máy, các em còn phải ngồi chung 2 -3 em/máy dẫn đến hiệu quả của các tiết thực hành chưa cao. Do đó việc nắm bắt nội dung các bài học bị hạn chế. 2 2 - Giáo viên hiếm khi được tham gia học bồi dưỡng các chuyên đề về phương pháp giảng dạy môn Tin học. 2. Về phía giáo viên. Có rất nhiều phương pháp dạy học tích cực nhưng đôi lúc áp dụng còn khó khăn. Do nhiều nguyên nhân như: kinh nghiệm giảng dạy, đối tượng học sinh, điều kiện trường lớp… 3.Về phía học sinh. - Do đa phần học sinh trong trường là con em ở nông thôn nên Tin học vẫn là một môn học mới mẻ và lạ lẫm. Phần lớn các em ít được tiếp xúc với máy tính. Vì vậy việc áp dụng phương pháp dạy học phù hợp với bộ môn và với đối tượng học sinh thực sự rất khó khăn. - Học sinh trường THPT Lê Lợi hầu hết là học Ban khoa học tự nhiên nên các em thường học lệch, đa phần các em chỉ chú trọng vào các môn thi Đại học. - Khi viết chương trình học sinh thường mắc các lỗi cú pháp. Đó là lỗi mà khi viết chương trình học sinh không tuân thủ đúng quy định của ngôn ngữ lập trình như: Đặt sai các tên hằng, biến, tên chương trình …, viết sai các câu lệnh, viết sai các từ khóa … III. GIẢI PHÁP VÀ TỔ CHỨC THỰC HIỆN 1. Giải pháp Xuất phát từ thực trạng trên, tôi nhận thấy nếu bản thân không không thay đổi cách dạy nhằm giúp học sinh chủ động hơn trong quá trình tìm lỗi và sửa lỗi thì học xong chương trình Tin học 11 có không ít học sinh vẫn chưa viết được một chương trình hoàn chỉnh. Dẫn đến học sinh sẽ chán nản, ngày càng xa rời môn Tin học. Vì vậy để khắc phục tình trạng trên tôi đã có một số giải pháp như sau dành cho lỗi cú pháp mà học sinh thường mắc phải như đã nêu ở mục II, ở cả những tiết lí thuyết và tiết bài tập và thực hành. a) Đối với tiết lí thuyết. * Giải pháp 1: Giáo viên tạo tình huống mắc lỗi. Thực hiện chia nhóm. Yêu cầu các nhóm tìm ra lỗi có trong chương trình. Sau đó đại diện các nhóm lên bảng trình bày. Giáo viên nhận xét, tổng kết, nhấn mạnh nguyên nhân gây ra các lỗi có trong chương trình. Để khích lệ học sinh, giáo viên tiến hành đánh giá kết quả các nhóm và cho điểm. 3 3 * Giải pháp 2: Giáo viên nêu bài toán. Thực hiện chia nhóm. Yêu cầu mỗi nhóm viết chương trình. Chiếu kết quả của một nhóm bất kì. Các nhóm khác nhận xét. Giáo viên củng cố, chạy thử chương trình cho cả lớp quan sát. Từ chương trình hoàn chỉnh đó, các nhóm tự đối chiếu với câu trả lời của nhóm mình để hoàn chỉnh chương trình của nhóm. b) Đối với tiết bài tập và thực hành. Học sinh thực hành theo yêu cầu của SGK, giáo viên yêu cầu cả lớp thực hành cùng một nội dung. Các em tự sửa lỗi, giáo viên quan sát, bao quát phòng máy, hỗ trợ cho những học sinh yếu. Sau đó, giáo viên chiếu chương trình có các lỗi mà các em chưa khắc phục được và những lỗi đa phần các em mắc phải. Giáo viên phân tích nguyên nhân của từng lỗi và yêu cầu các em sửa lại trong chương trình của mình. 2. Tổ chức thực hiện Trong quá trình giảng dạy tôi đã áp dụng kinh nghiệm của mình bắt đầu từ chương II cho đến hết chương trình Tin học lớp 11. Nhưng do điều kiện không cho phép nên ở mỗi chương tôi chỉ đưa ra một số tiết làm ví dụ để minh họa cho đề tài. 2.1. Khắc phục những lỗi sai cơ bản thường gặp trong chương II: ‘‘Chương trình đơn giản’’. a) Các lỗi thường gặp. - Lỗi đặt tên hằng, tên biến trùng nhau. VD: Var a, A: byte; (Pascal không phân biệt chữ hoa và chữ thường. Do đó a và A chỉ là một). - Lỗi đặt tên hằng, tên biến, tên chương trình, không đúng qui định của ngôn ngữ lập trình. - Ngăn cách giữa các biến phải là dấu phẩy thì các em thường dùng dấu chấm phẩy. - Khi kết thúc câu lệnh không có dấu chấm phẩy. - Khi viết từ khóa thường viết sai lỗi chính tả. VD: Const thì viết là Cont, end thì viết là and, Real thì viết là Read,… - Viết sai câu lệnh gán. VD: x := 0; thì viết là: x = 0; - Khi viết hằng xâu thường quên không đặt hằng xâu vào giữa cặp dấu nháy đơn. - Khi viết thông báo ra ngoài màn hình thì các biểu thức lại cùng đặt trong cặp dấu nháy đơn với hằng xâu kí tự. 4 4 - Khai báo biến thuộc kiểu dữ liệu này nhưng trong phần thân chương trình lại dùng biến đó với kiểu dữ liệu khác dẫn đến sai kiểu. VD : Khai báo biến a thuộc kiểu nguyên, nhưng trong phần thân chương trình lại có câu lệnh a := a/2 ; (biểu thức a/2 là một số thực, biến a thuộc kiểu nguyên nên không thể lưu trữ được giá trị thực). - … b) Biện pháp sửa lỗi. * Tiết 7 bài 7: Các thủ tục chuẩn vào/ra đơn giản. Ví dụ: Hãy viết chương trình đưa ra màn hình dòng thông báo: ‘Xin chao cac ban hoc sinh lop 11A1 truong THPT Le Loi’ Các bước tiến hành như sau : -Bước 1: Giáo viên chiếu chương trình đã viết sẵn cho học sinh quan sát (Ở trường THPT Lê Lợi mỗi lớp học đều có máy chiếu). Progam Viet thong bao ; Begin ; Writeln(‘Xin chao cac ban hoc sinh lop 11A1 truong THPT Le Loi) Realn; End. - Bước 2. Chia lớp thành 4 nhóm. Yêu cầu mỗi nhóm tìm lỗi sai có trong chương trình ở trên. - Bước 3. Đại diện các nhóm lên bảng trình bày kết quả. - Bước 4. Giáo viên thực hiện biên dịch chương trình để học sinh thấy được các lỗi sai và phân tích để học sinh hiểu được nguyên nhân vì sao sai. Các lỗi sai trong chương trình trên là : + Từ khóa Progam sai, đúng là: Program (mã lỗi: 36) + Tên chương trình Viet thong bao là sai, vì không đúng theo quy tắc đặt tên của ngôn ngữ lập trình Pascal (tên không được chứa dấu cách) (mã lỗi: 85) + Câu lệnh Begin ; là sai vì sau từ khóa Begin không có dấu ; (mã lỗi: 85) 5 5 + Câu lệnh Writeln(‘Xin chao cac ban hoc sinh lop 11A1 truong THPT Le Loi) có 2 lỗi sai, vì thiếu dấu đóng nháy ở hằng xâu kí tự (mã lỗi:8) và kết thúc câu lệnh không có dấu ; (mã lỗi: 85) + Thủ tục Realn sai, phải là Readln (mã lỗi: 3). - Bước 5. Chạy thử chương trình cho học sinh quan sát. - Bước 6. Giáo viên đánh giá kết quả và cho điểm các nhóm. Qua ví dụ trên học sinh sẽ thấy rằng có 3 lỗi sai có cùng mã lỗi là 85, tuy nhiên mỗi lỗi lại sai ở một tình huống khác nhau. Do đó nếu học sinh chỉ thụ động tra cứu bảng thông báo lỗi ở SGK thì khó có thể tự mình sửa được lỗi. Cũng qua ví dụ trên học sinh đã được phân tích nguyên nhân vì sao có các lỗi sai và cách sửa lỗi. Do đó sau này học sinh sẽ không còn mắc phải các lỗi cơ bản đã nêu. * Tiết 8 : Bài tập và thực hành 1. Thực hành theo yêu cầu của SGK. - Bước 1. Yêu cầu cả lớp soạn thảo chương trình đã viết sẵn ở SGK trang 34: Program Giai_PTB2 ; Uses Crt ; Var a, b, c, D : Real ; x1, x2: Real; Begin Clrscr; Write(‘a, b, c: ’); Readln(a,b,c); D:= b * b – 4 *a*c; x1:= (-b – sqrt(D)) / (2*a); x2:= -b/a –x1; write(‘x1= ’ , x1:6:2, ‘ x2= ’, x2:6:2); readln; end. - Bước 2. + Yêu cầu học sinh thực hiện biên dịch chương trình để phát hiện và sửa lỗi. Tuy là nhìn chương trình đã viết sẵn trong SGK để soạn thảo nhưng chương trình các em soạn thảo vẫn mắc rất nhiều lỗi. Có rất nhiều nguyên nhân, như kỹ năng soạn thảo chưa thành thạo dẫn đến sai lỗi chính tả, hay chưa nắm vững cách viết một biểu thức, cách viết thông báo ra ngoài màn hình,… + Để học sinh tự sửa lỗi. Giáo viên quan sát, bao quát phòng máy, hỗ trợ cho những học sinh yếu. Sau đó, giáo viên chiếu chương trình có các lỗi mà các em 6 6 chưa khắc phục được và những lỗi đa phần các em mắc phải. Giáo viên phân tích nguyên nhân của từng lỗi và yêu cầu các em sửa lại trong chương trình của mình. Sau đây là chương trình giáo viên chiếu lên màn chiếu: Program Giai_PTB2 ; Uses Crt ; Var a, b, c, D : Read ; x1, x2: Read; begin Clrscr; Write(‘a, b, c: ’); Readln(a;b;c); D:= b * b – 4 *a*c; x1:= (-b – sqrt(D)) / (2a); x2:= -b/a –x1; write(‘x1= ’ x1:6:2, ‘ x2= ’, x2:6:2); readln; end; Giáo viên thực hiện biên dịch, hướng dẫn học sinh sửa lỗi có trong chương trình trên. Cụ thể chương trình trên có các lỗi sai: • Sai kiểu dữ liệu, không phải là Read mà là Real (mã lỗi: 26) • Câu lệnh Read(a;b;c); sai vì ngăn cách giữa các biến phải là dấu phẩy, sửa lại là: Read(a,b,c); (mã lỗi: 89) • Câu lệnh x1:= (-b – sqrt(D)) / (2a); sai vì trong phép nhân phải dùng kí hiệu *, sửa lại là: x1:= (-b – sqrt(D)) / (2*a); (mã lỗi: 89) • Câu lệnh write(‘x1= ’ x1:6:2, ‘ x2= ’, x2:6:2); sai vì ngăn cách giữa các kết quả ra phải là dấu phẩy. Sửa lại là: write(‘x1= ’, x1:6:2, ‘ x2= ’,x2:6:2); (mã lỗi: 89); • Câu lệnh end; sai vì kết thúc chương trình phải là dấu chấm, sửa lại là: end. (mã lỗi : 88) -Bước 3. Khi đã hết lỗi về mặt cú pháp, yêu cầu học sinh chạy chương trình như yêu cầu của sách giáo khoa. Tuy nhiên vẫn có nhiều em thực hiện chưa đúng, lỗi thường gặp đó là: Khi thực hiện câu lệnh nhập Read(a,b,c) các em dùng dấu chấm phẩy để ngăn cách giữa các giá trị. VD: Khi nhập giá trị cho a, b, c, thì các em gõ: 3 ; 4; 5 Như vậy các em chưa nắm vững cách nhập giá trị cho nhiều biến. Lúc này giáo viên cần làm mẫu cho học sinh quan sát và nhấn mạnh cách nhập giá trị cho nhiều biến: những giá trị này phải được gõ cách nhau bởi ít nhất một dấu cách hoặc một kí tự xuống dòng (nhấn phím Enter) 7 7 2.2 Khắc phục những lỗi sai cơ bản trong chương III: ‘‘Cấu trúc rẽ nhánh và lặp’’. a) Các lỗi thường gặp. - Viết thiếu các từ khóa như: then, do, downto, to… - Điều kiện trong câu lệnh rẽ nhánh hay câu lệnh lặp không phải là biểu thức logic. - Câu lệnh trước từ khóa else có dấu chấm phẩy. - Trong câu lệnh For…to …do thì giá trị đầu lại lớn hơn giá trị cuối hay trong câu lệnh For… downto … do thì giá trị đầu lại nhỏ hơn giá trị cuối. - Trong câu lệnh lặp While … do không có câu lệnh làm thay đổi điều kiện lặp. Do đó vòng lặp không thể dừng lại được. … b) Biện pháp sửa lỗi. * Tiết 11 – Bài ‘‘Cấu trúc rẽ nhánh’ ’. Ví dụ: Viết chương trình tìm nghiệm thực của phương trình bậc hai : ax 2 + bx + c = 0 (a # 0). - Bước 1. Chiếu chương trình đã chuẩn bị sẵn cho cả lớp quan sát. Program Vidu ; Uses Crt ; Var a, b, c, d :Real ; x1, x2 : Real; begin clrscr; write(‘Moi nhap a, b, c: ’); Readln(a,b,c); d := b * b – 4 * a*c; if d < 0 then writeln(‘Phuong trinh vo nghiem’); else if d > 0 then Begin x1 : = (-b – sqrt(d))/(2*a); x2 :=(-b + sqrt(d))/(2*a); writeln(‘Phuong trinh co hai nghiem, ’x1,x2); End; if d=0 then writeln(‘Phuong trinh co nghiem kep,’-b/2a); Readln End. 8 8 - Bước 2. Chia lớp thành 4 nhóm. Yêu cầu mỗi nhóm tìm lỗi sai có trong chương trình ở trên. - Bước 3. Đại diện các nhóm lên bảng trình bày kết quả. - Bước 4. Giáo viên thực hiện biên dịch chương trình để học sinh thấy được các lỗi sai và phân tích để học sinh hiểu được nguyên nhân vì sao sai. Các lỗi sai trong chương trình trên là : + Câu lệnh writeln(‘Phuong trinh vo nghiem’); sai (mã lỗi: 113), vì câu lệnh này đứng trước từ khóa else nên không có dấu chấm phẩy. + Câu lệnh writeln(‘Phuong trinh co hai nghiem, ’x1,x2); sai (mã lỗi: 89). Danh sách kết quả ra ngoài màn hình trong câu lệnh này gồm có 1 hằng xâu kí tự và 2 biến. Các kết quả ra phải được ngăn cách nhau bởi 1 dấu phẩy, hằng xâu kí tự phải được đặt trong cặp dấu nháy đơn. Sửa lại là: writeln(‘Phuong trinh co hai nghiem ’,x1:6:2,x2:6:2); + Câu lệnh writeln(‘Phuong trinh co nghiem kep,’-b/2a); sai Câu lệnh này có 2 lỗi sai: Thứ nhất, sai cách viết danh sách kết quả ra ngoài màn hình (mã lỗi 26). Thứ hai, viết biểu thức chưa đúng với quy định của Pascal (mã lỗi: 89). Sửa lại là: writeln(‘Phuong trinh co nghiem kep’,-b/(2*a)); Giáo viên chỉnh sửa lại chương trình trên thành chương trình hoàn chỉnh: Program Vidu ; Uses Crt ; Var a, b, c, d :Real ; x1, x2 : Real; begin clrscr; write(‘Moi nhap a, b, c: ’); Readln(a,b,c); d := b * b – 4 * a*c; if d < 0 then writeln(‘Phuong trinh vo nghiem’); else begin if d > 0 then begin x1 : = (-b – sqrt(d))/(2*a); x2 :=(-b + sqrt(d))/(2*a); writeln(‘Phuong trinh co hai nghiem ’, x1:6:2,x2:6:2); end; if d=0 then 9 9 writeln(‘Phuong trinh co nghiem kep ’,-b/(2*a)); End; Readln End. - Bước 5. Giáo viên chạy thử chương trình cho học sinh quan sát. - Bước 6. Giáo viên đánh giá kết quả và cho điểm các nhóm. 2.3. Khắc phục những lỗi sai cơ bản trong chương IV: ‘‘Kiểu dữ liệu có cấu trúc’’. a) Các lỗi thường gặp. - Khi khai báo biến mảng thì thường viết sai từ khóa. - Trong khai báo mảng thì chỉ số đầu và chỉ số cuối chưa được xác định. - Khi tham chiếu đến một phần tử của mảng một chiều thì thường viết sai. Ví dụ để tham chiếu đến phần tử thứ 1 của mảng a thì học sinh viết a1 hoặc a(1). - Đối với bài ‘‘Kiểu xâu’’ học sinh thường nhầm lẫn giữa hàm và thủ tục. - … b) Biện pháp sửa lỗi. * Tiết 20 – Bài “Kiểu mảng”. Ví dụ: Cho dãy A gồm n số nguyên dương A1, A2, …, An. Tìm phần tử lớn nhất của dãy cùng với chỉ số của nó. - Bước 1. Sau khi học sinh nêu lại được thuật toán tìm giá trị lớn nhất (đã học ở lớp 10). Giáo viên chiếu chương trình đã chuẩn bị sẵn cho cả lớp quan sát. Program Tim_max ; Uses Crt ; Var A : aray[1 Nmax] of integer; n, i, cs: byte; max: integer; begin clrscr; write(‘Nhap n: ’); Readln(n); for i:=1 to n do begin write(‘Nhap phan tu thu ’, i,’ :’); readln(a(i)); end; max:=a[1]; cs:=1; for i:=2 to n do 10 10 [...]... LUẬN VÀ ĐỀ XUẤT I KẾT LUẬN Trên đây là kết quả của quá trình nghiên cứu của bản thân trong khoảng thời gian từ năm 2 011 đến nay Khi áp dụng với đối tượng là học sinh vùng nông thôn như học sinh trường THPT Lê Lợi tôi thấy đề tài thực sự có hiệu quả Việc Hướng dẫn học sinh phát hiện và sửa lỗi cú pháp khi viết chương trình bằng ngôn ngữ lập trình Pascal trong chương trình Tin học 11 đã giúp học sinh. .. kết quả và cho điểm các nhóm IV KIỂM NGHIỆM Năm học 2 011 – 2012 tôi được phân công giảng dạy 3 lớp 11 Ban khoa học tự nhiên là: 11A3, 11A4, 11A5 Đề tài được thực hiện trên lớp 11A3 và đã 15 15 đạt được kết quả tốt Năm học 2012 – 2013 tôi được phân công giảng dạy 8 lớp 11: 11A1, 11A2, 11A3, 11A4, 11A5, 11A8, 11A10, 11A11 Đề tài được triển khai trên lớp 6 lớp: 11A1, 11A2, 11A3, 11A8, 11A10, 11A11 Với... còn lúng túng hoặc mắc lỗi như trước đây Điều đó đã giúp đa số học sinh có hứng thú đối với việc lập trình nói riêng và bộ môn Tin học nói chung Tuy nhiên không có một biện pháp sửa lỗi cú pháp nào tối ưu nào dành cho tất cả các tiết dạy Vì thế, trong quá trình dạy học giáo viên cần biết phát hiện và lựa chọn những biện pháp thích hợp đối việc sửa lỗi để các giờ học trở nên sinh động hơn Lĩnh vực mà... Bước 2 Chia lớp thành 4 nhóm Yêu cầu các nhóm tìm lỗi sai có trong chương trình ở trên - Bước 3 Đại diện các nhóm lên bảng trình bày kết quả - Bước 4 Giáo viên thực hiện biên dịch chương trình để học sinh thấy được các lỗi sai và phân tích để học sinh hiểu được nguyên nhân vì sao sai Các lỗi sai trong chương trình trên là : + Trong khai báo biến mảng: Var A: aray[1 Nmax] of integer; có tới 2 lỗi sai Một... :5) ; readln; end - Bước 2 Chia lớp thành 4 nhóm Yêu cầu các nhóm tìm lỗi sai có trong chương trình ở trên - Bước 3 Đại diện các nhóm lên bảng trình bày kết quả - Bước 4 Giáo viên thực hiện biên dịch chương trình để học sinh thấy được các lỗi sai và phân tích để học sinh hiểu được nguyên nhân vì sao sai Các lỗi sai trong chương trình trên là : + Từ khóa Funtion sai (mã lỗi : 86) , đúng là : Function... duong co trong tep la: ’, s); 13 13 close(f); close(g); end Giáo viên chạy thử chương trình cho học sinh quan sát Bước 4 Từ chương trình hoàn chỉnh ở trên, các nhóm tự đối chiếu với câu trả lời của nhóm mình để hoàn chỉnh chương trình của nhóm 2.5 Khắc phục những lỗi sai cơ bản trong chương VI: Chương trình con và lập trình có cấu trúc” a) Các lỗi thường gặp + Không phân biệt được hàm và thủ tục + Viết. .. Người viết SKKN Lê Thị Huyên TÀI LIỆU THAM KHẢO 1 Hồ Sĩ Đàm (chủ biên) và nhóm tác giả - Sách giáo khoa Tin học 11 – Nhà xuất bản giáo dục năm 2007 20 20 2 Hồ Sĩ Đàm (chủ biên) và nhóm tác giả - Sách bài tập Tin học 11 – Nhà 3 4 5 6 xuất bản giáo dục năm 2007 Hồ Sĩ Đàm (chủ biên) và nhóm tác giả - Sách giáo viên Tin học 11 – Nhà xuất bản giáo dục năm 2007 Quách Tuấn Ngọc – Ngôn ngữ lập trình Pascal. .. 36,96 4 8,70 11A3 SĨ SỐ + Năm học: 2012 – 2013: 18 18 LỚP GIỎI LOẠI SĨ SỐ KHÁ TB YẾU SL % SL % SL % SL % 11A1 47 12 25,53 26 55,32 9 19,15 0 0 11A2 47 11 23,40 26 55,32 10 21,28 0 0 11A3 45 10 22,22 22 48,89 12 26,67 1 2,22 11A8 45 9 20,00 26 57,78 9 20,00 1 2,22 11A10 47 12 25,53 23 48,94 11 23,40 1 2,13 11A11 47 14 29,79 24 51,06 9 19,15 0 0 11A4 45 5 11, 11 18 40,00 17 37,78 5 11, 11 11A5 43 4 9,30... hàm và thủ tục + Trong hàm không có lệnh trả về giá trị cho hàm + Gán giá trị của biến cho thủ tục + Quên khai báo kiểu dữ liệu cho tên hàm … b) Biện pháp sửa lỗi * Tiết 44 – Ví dụ về cách viết và sử dụng chương trình con Ví dụ: Viết chương trình thực hiện rút gọn phân số, trong đó có sử dụng hàm tính ước chung lớn nhất của hai số nguyên - Bước 1 Giáo viên chiếu chương trình đã viết sẵn cho học sinh. .. Trong trường hợp này, khi thực hiện biên dịch thì máy tính không báo lỗi (không sai về mặt cú pháp) Tuy nhiên sau khi thực hiện chương trình, mở tệp SO.OUT để xem kết quả thì kết quả không có trong tệp Nguyên nhân là do chưa thực hiện đóng tệp nên việc ghi tệp chưa được hoàn tất Giáo viên thực hiện chỉnh sửa chương trình trên thành chương trình hoàn chỉnh: Program Vi_du; Var f, g : Text; n, s : integer . Việc Hướng dẫn học sinh phát hiện và sửa lỗi cú pháp khi viết chương trình bằng ngôn ngữ lập trình Pascal trong chương trình Tin học 11 đã giúp học sinh không còn lúng túng hoặc mắc lỗi như. giảng dạy 8 lớp 11: 11A1, 11A2, 11A3, 11A4, 11A5, 11A8, 11A10, 11A11. Đề tài được triển khai trên lớp 6 lớp: 11A1, 11A2, 11A3, 11A8, 11A10, 11A11. Với việc nghiên cứu kĩ chương trình sách giáo. trọng vào các môn thi Đại học. - Khi viết chương trình học sinh thường mắc các lỗi cú pháp. Đó là lỗi mà khi viết chương trình học sinh không tuân thủ đúng quy định của ngôn ngữ lập trình như:

Ngày đăng: 21/07/2014, 14:05

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan