1. Trang chủ
  2. » Tất cả

Skkn hướng dẫn học sinh lớp 11 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

16 4 0

Đ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

I MỤC LỤC 1 Mở đầu 1 1 Lý do chọn đề tài 2 1 2 Mục đích nghiên cứu 2 1 3 Đối tượng nghiên cứu 2 1 4 Phương pháp nghiên cứu 2 2 Nội dung sáng kiến kinh nghiệm 2 2 1 Cơ sở lý luận 2 2 2 Thực trạng dạy h[.]

MỤC LỤC Mở đầu 1.1 Lý chọn đề tài ………………………………………………………2 1.2 Mục đích nghiên cứu ………………………………………………… 1.3 Đối tượng nghiên cứu ………………………………………………….2 1.4 Phương pháp nghiên cứu ………………………………………………2 Nội dung sáng kiến kinh nghiệm ……………………………………… 2.1 Cơ sở lý luận ………………………………………………………… 2.2 Thực trạng dạy học môn Tin học trường THPT Nông Cống 1…… 2.3 Giải vấn đề ………………………………………………………3 2.3.1 Đối với lý thuyết ……………………………………………… 2.3.2 Đối với thực hành ……………………………………………….3 2.3.2.1 Khắc phục lỗi sai thường gặp chương II: ‘‘Chương trình đơn giản’’ 2.3.2.2 Khắc phục lỗi sai chương III: ‘‘Cấu trúc rẽ nhánh lặp’’ ………………………………………… 2.3.2.3 Khắc phục lỗi sai chương IV: ‘‘Kiểu liệu có cấu trúc’’ ………………………………………… 2.3.2.4 Khắc phục lỗi sai chương V: “Tệp thao tác với tệp” ………………………………………… 11 2.3.2.5 Khắc phục lỗi sai chương VI: “Chương trình lập trình có cấu trúc” ……………………… 13 2.4 Hiệu ……………………………………………………………… 14 Kết luận, kiến nghị …………………………………………………… 15 Tài liệu tham khảo skkn Mở đầu 1.1 Lý chọn đề tài Căn vào kế hoạc năm học 2019 – 2020 trường THPT Nông Cống 1, Tổ Tốn – Tin, chun đề trường THPT Nơng Cống “Tăng cường vận dụng kiến thức liên môn gắn liền với thực tế, thực tiễn giảng dạy, trọng phát huy lực tính chủ động, sáng tạo học sinh” Chương trình tin học 11 nghiên cứu NNLT Pascal chương trình khó, có cấu trúc chặt chẽ Để viết chương trình hồn chỉnh thỏa mãn yêu cầu toán đặt máy tính học sinh phải có tư lơgic thuật tốn, khả sử dụng máy tính thành thạo, sử dụng câu lệnh khai báo kiểu liệu cách hợp lý Tuy nhiên tiến hành viết chương trình máy tính học sinh thường gặp số lỗi mặt cú pháp ngữ nghĩa 1.2 Mục đích nghiên cứu Khi thực giảng dạy môn Tin học lớp 11 Trường THPT Nông Cống 1, thấy rằng, việc học sinh lập trình giải tốn máy tính thường gặp khơng khó khăn Phần lớn em gặp số lỗi mặt cú pháp ngữ nghĩa Trong để viết chương trình hồn chỉnh học sinh phải có tư logic thuật toán, biết khai báo kiểu liệu cách hợp lí, biết sử dụng câu lệnh cú pháp Bản thân trình giảng dạy cố gắng hướng dẫn học sinh viết chương trình với yêu cầu Nhưng thời lượng thực hành lớp không nhiều nên em không thực hành thường xuyên, dẫn đến em mắc phải số lỗi Vì vậy, tơi áp dụng số biện pháp: “Hướng dẫn học sinh lớp 11 phát sửa lỗi cú pháp viết chương trình ngơn ngữ lập trình Pascal” Trong trình áp dụng, thân tơi tự thấy có kết định, muốn chia sẻ với bạn đồng nghiệp Hi vọng nhận nhiều ý kiến bổ ích để đề tài tơi ngày hồn thiện 1.3 Đối tượng nghiên cứu Áp dụng cho học sinh khối 11 trường THPT Nơng Cống với mục đích rèn cho học sinh kỹ viết chương trình, giúp học sinh tự tìm sửa chữa lỗi viết chương trình ngơn ngữ lập trình Pascal chương trình Tin học 11 thực lớp phòng thực hành 1.4 Phương pháp nghiên cứu - Phương pháp nghiên cứu xây dựng sở lý thuyết: giáo viên tạo lỗi để học sinh giải vấn đề - Phương pháp thực hành thực hành sách giáo khoa tin học 11 Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lý luận - Xuất phát từ thực trạng trên, nhận thấy thân không thay đổi cách dạy nhằm giúp học sinh chủ động trình tìm lỗi sửa lỗi học xong chương trình Tin học 11 có khơng học sinh chưa viết chương trình hồn chỉnh Dẫn đến học sinh chán nản, ngày xa rời mơn Tin học Vì để khắc phục tình trạng tơi có số giải pháp hướng dẫn học sinh tự tìm skkn sửa lỗi cú pháp mà học sinh thường mắc phải tiết lí thuyết tiết tập thực hành 2.2 Thực trạng dạy học môn Tin học trường THPT Nông Cống - Điều kiện phòng máy nhà trường chưa đáp ứng học sinh/máy, em phải ngồi chung em/máy dẫn đến hiệu tiết thực hành chưa cao Do việc nắm bắt nội dung học bị hạn chế - Khi viết chương trình học sinh thường mắc lỗi cú pháp Đó lỗi mà viết chương trình học sinh khơng tn thủ quy định ngơn ngữ lập trình như: Đặt sai tên hằng, biến, tên chương trình …, viết sai câu lệnh, viết sai từ khóa … - Phần lớn dạy lập trình cho học sinh giáo viên thường sử dụng hai phương pháp: + Phương pháp dùng bảng: Đối với phương pháp giáo viên thường viết sẵn chương trình cho học sinh cho học sinh giỏi lên viết chương trình học sinh lại việc chép vào để đảm bảo thời gian của một tiết học Các chương trình viết sẵn thơng thường khơng có lỗi sai + Phương pháp dạy phòng thực hành: Giáo viên viết chương trình ngơn ngữ lập trình Pascal chạy chương trình cho học sinh Học sinh ghi gõ lại chương trình - Tuy nhiên gặp tốn tương tự học sinh lại lập trình mắc nhiều lỗi sai Tại phòng thực hành với số lượng học sinh và số máy tính nhiều nên giáo viên không thể có đủ thời gian để sửa lỗi và hướng dẫn từng máy nên việc học sinh phải biết tự tìm lỗi sai và hình thành kỹ viết chương trình là vấn đề cần thiết 2.3 Giải vấn đề 2.3.1 Đối với lý thuyết * Giải pháp 1: Giáo viên tạo tình mắc lỗi Thực chia nhóm u cầu nhóm tìm lỗi có chương trình Sau đại diện 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 lỗi có chương trình Để khích lệ học sinh, giáo viên tiến hành đánh giá kết nhóm cho điểm * Giải pháp 2: Giáo viên nêu tốn Thực chia nhóm u cầu nhóm viết chương trình Chiếu kết nhóm Các nhóm khác nhận xét sau giáo viên củng cố, chạy thử chương trình cho lớp quan sát Từ chương trình hồn chỉnh đó, nhóm tự đối chiếu với câu trả lời nhóm để hồn chỉnh chương trình nhóm 2.3.2 Đối với thực hành Học sinh thực hành theo yêu cầu SGK, giáo viên yêu cầu lớp thực hành 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 học sinh yếu Sau đó, giáo viên chiếu chương trình có lỗi mà em chưa khắc phục lỗi đa phần em mắc phải Giáo viên phân tích nguyên nhân lỗi yêu cầu em sửa lại chương trình skkn Trong q trình giảng dạy tơi áp dụng kinh nghiệm chương II hết chương trình Tin học lớp 11 Nhưng điều kiện không cho phép nên chương đưa số tiết làm ví dụ để minh họa cho đề tài 2.3.2.1 Khắc phục lỗi sai thường gặp chương II: ‘‘Chương trình đơn giản’’ a Những lỗi sai bản: - Khi viết chương trình học sinh thường mắc số lỗi như: + Khi kết thúc câu lệnh khơng có dấu “ ; ” + Khi viết từ khóa học sinh hay viết thiếu thừa từ Ví dụ: Từ khóa: Program học sinh viết Progam, End học sinh viết And + Sau từ khóa End kết thúc chương trình “.” Nhưng học sinh lại viết “;” + Khi viết chương học sinh thường hay viết thiếu thừa dấu: “(”, “)”, “ ,”, “.”, “:=”, “=”, “ ’ ”, … + Khai báo thiếu biến khai báo nhiều biến + Khai báo tên biến trùng VD : Var a, A: byte; (Pascal không phân biệt chữ hoa chữ thường Do a A một) + Đặt tên biến, tên chương trình, tên tệp khơng theo quy định ngơn ngữ lập trình + Khi viết từ khóa thường viết sai lỗi tả VD: Const viết Cont, end viết and, Real viết Read,… + Viết sai câu lệnh gán VD: x := 0; viết là: x = 0; + Giữa biến viết cách dấu “;” + Trong câu lệnh số lệnh >=2 phải đặt cặp từ khoá Begin … End;(Câu lệnh ghép) + Sử dụng thủ tục clrscr; không khai báo thư viện chứa thủ tục CRT; + Học sinh khai báo kiểu liệu đường viết chương trình dùng kiểu liệu khác dẫn đến sai kiểu … b Biện pháp sửa lỗi - Để tránh lỗi sai cho học sinh viết chương trình tơi đưa số ví dụ: Ví dụ 1: Viết chương trình in hình dịng chữ: “Xin Chao cac ban den voi chương trinh Pacal” -Bước 1: Giáo viên chuẩn bị chương trình mẫu pascal sau: Program ; 11A; Begin Clrscr; Writeln(’Xin Chao cac hoc sinh 11 ban den voi chương trinh Pacal’) Realn ; End; - Bước Chia lớp thành nhóm u cầu nhóm tìm lỗi sai có chương trình skkn - Bước Đại diện nhóm lên bảng trình bày kết - Bước Giáo viên thực biên dịch chương trình để học sinh thấy lỗi sai phân tích để học sinh hiểu ngun nhân sai Các lỗi sai chương trình là : + Câu lệnh Program ; sai sau từ khóa Program khơng có dấu; (mã lỗi: 2) + Tên chương trình 11A sai, khơng theo quy tắc đặt tên ngơn ngữ lập trình Pascal (tên khơng đượcbắt đầu số)(mã lỗi 2) + Sử dụng thủ tục clrscr; mà chưa khai báo thư viện CRT;(mã lỗi 3); + Câu lệnh Writeln(’Xin Chao cac ban hoc sinh 11 den voi chương trinh Pacal); có lỗi sai, thiếu dấu đóng nháy xâu kí tự (mã lỗi:8) kết thúc câu lệnh khơng có dấu ; (mã lỗi: 85) + Thủ tục Realn sai, phải Readln (mã lỗi: 3) - Bước Chạy thử chương trình cho học sinh quan sát - Bước Giáo viên đánh giá kết cho điểm nhóm Qua ví dụ học sinh thấy có lỗi sai có mã lỗi có lỗi sai mã lỗi 3, nhiên lỗi lại sai tình khác Do học sinh thụ động tra cứu bảng thơng báo lỗi SGK khó tự sửa lỗi Cũng qua ví dụ học sinh phân tích ngun nhân có lỗi sai cách sửa lỗi Do sau học sinh khơng cịn mắc phải lỗi nêu Ví dụ 2: Tiết 8 : Bài tập thực hành Thực hành theo yêu cầu SGK - Bước Yêu cầu 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 – *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 Yêu cầu học sinh thực biên dịch chương trình để phát sửa lỗi Tuy nhìn chương trình viết sẵn SGK để soạn thảo chương trình em soạn thảo mắc nhiều lỗi Có nhiều nguyên nhân, kỹ soạn thảo chưa thành thạo dẫn đến sai lỗi tả, hay chưa nắm vững cách viết biểu thức, cách viết thơng báo ngồi hình,… skkn Để 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 học sinh yếu Sau đó, giáo viên chiếu chương trình có lỗi mà em chưa khắc phục lỗi đa phần em mắc phải Giáo viên phân tích nguyên nhân lỗi yêu cầu em sửa lại chương trình Giáo viên chiếu lê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 – *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 biên dịch, hướng dẫn học sinh sửa lỗi có chương trình Cụ thể chương trình có lỗi sai:  Sai kiểu liệu, khơng phải Read mà Real (mã lỗi: 26)  Câu lệnh Read(a;b;c); sai ngăn cách biến phải 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 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 ngăn cách kết phải 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 kết thúc chương trình phải dấu chấm, sửa lại là: end (mã lỗi : 88) -Bước Khi hết lỗi mặt cú pháp, yêu cầu học sinh chạy chương trình yêu cầu sách giáo khoa Tuy nhiên có nhiều em thực chưa đúng, lỗi thường gặp là: Khi thực câu lệnh nhập Read(a,b,c) em dùng dấu chấm phẩy để ngăn cách giá trị VD: Khi nhập giá trị cho a, b, c, em gõ: ; 4; Như em chưa nắm vững cách nhập giá trị cho nhiều biến Lúc giáo viên cần làm mẫu cho học sinh quan sát nhấn mạnh cách nhập giá trị cho nhiều biến: giá trị phải gõ cách dấu cách kí tự xuống dịng (nhấn phím Enter) 2.3.2.2 Khắc phục lỗi sai chương III: ‘‘Cấu trúc rẽ nhánh lặp’’ a Các lỗi thường gặp - Đối với trường hợp học sinh hay mắc phải lỗi: + Thiếu từ khoá then do, downto,to, skkn + Điều kiện câu lệnh rẽ nhánh, câu lệnh lặp không phải biểu thức lôgic hay quan hệ + Khơng sử dụng câu lệnh ghép + Trước từ khố Else có dấu “;” + Giá trị đầu> giá trị cuối câu lệnh lặp không phải số + Trong câu lệnh lặp While … khơng có lệnh làm thay đổi giá trị biến đếm + Khơng khai báo biến đếm chương trình + Sau câu lệnh Do có câu lệnh thay đổi giá trị biến đếm + Dùng tên biến điều khiển cho vòng lặp for lồng b Biện pháp sửa lỗi * Với câu lệnh rẽ nhánh Ví dụ 1: Để tìm số lớn số a,b,c nhập vào từ bàn phím, có học sinh viết chương trình sau: Program timmin; Uses crt; Var a,b,c:integer; Begin Clrscr; Write(‘nhap vao so:’); Readln(a,b,c); If a

Ngày đăng: 19/02/2023, 15:40

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w