Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
161 KB
Nội dung
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT HOẰNG HOÁ SÁNG KIẾN KINH NGHIỆM HƯỚNG DẪN HỌC SINH LỚP 11 TRƯỜNG THPT HOẰNG HÓA CÁCH NHẬN BIẾT VÀ SỬA LỖI LẬP TRÌNH THƯỜNG GẶP Người thực hiện: Nguyễn Thị Trường Chức vụ: Giáo viên SKKN thuộc lĩnh vực (mơn): Tin THANH HĨA NĂM 2018 MỤC LỤC Mở đầu 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu Nội dung sáng kiến kinh nghiệm 2.1 Cở sở lí luận 2.2 Thực trạng vấn đề trước sử dụng sáng kiến kinh nghiệm 2.3 Một số lỗi lập trình thường gặp 2.4 Hiệu sáng kiến kinh nghiệm 19 Kết luận, kiến nghị 19 3.1 Kết luận 19 3.2 Kiến nghị 20 Mở đầu 1.1 Lý chọn đề tài Sự phát triển mạnh mẽ vũ bão tin học làm cho xã hội có nhiều nhận thức cách tổ chức hoạt động Nhiều quốc gia giới ý thức rõ tầm quan trọng tin học có đầu tư lớn cho lĩnh vực này, đặc biệt giáo dục nâng cao dân trí tin học đào tạo nguồn nhân lực có chất lượng cao Người Việt Nam có nhiều tố chất thích hợp với ngành khoa học này, hi vọng sớm hồ nhập với khu vực giới Trong thời đại thông tin bùng nổ ngày nay, việc lập chương trình tự hoạt động cho máy tính, máy gia dụng cần thiết Và để làm việc cần có q trình nghiên cứu, học tập ngơn ngữ lập trình lâu dài, qua nhà lập trình chọn ngơn ngữ lập trình thích hợp Ngồi em học sinh trường có đầu vào thấp, em ví “những hạt gạo sàn”, nên kiến thức bị rỗng nhiều, ngại học ngại tìm tòi Mặt khác, nội dung mơn tin học lớp 11 nội dung lạ đa số học sinh với nhiều khái niệm, thuật ngữ, cấu trúc liệu mà học sinh tiếp xúc lần đầu Chính mà học sinh dễ mắc sai lầm lập trình giải tốn Ngun nhân dẫn đến khó khăn mà học sinh thường gặp phong phú thấy số ngun nhân sau đây: + Học sinh thường gặp khó khăn xác định tốn + Khó liên hệ phương pháp giải toán toán học với thuật giải tin học Tuy nhiên thứ có điểm khởi đầu nó, với học sinh việc học ngơn ngữ lập trình Turbo Pascal khởi đầu cho việc tiếp cận ngơn ngữ lập trình bậc cao, qua giúp em hình dung đời, cấu tạo, hoạt động lợi ích chương trình hoạt động máy tính, máy tự động… Qua giúp em có thêm định hướng, niềm đam mê tin học Xuất phát từ sở trên, chọn đề tài “Hướng dẫn học sinh lớp 11 trường THPT Hoằng Hóa cách nhận biết sửa lỗi lập trình thường gặp” 1.2 Mục đích nghiên cứu Do gặp phải khó khăn nên lập trình giải tốn học sinh thường mắc nhiều lỗi, chí có lỗi em mắc phải nhiều lần không hiểu nguyên nhân xuất lỗi Vì nội dung đề tài nêu số lỗi phổ biến em thường mắc phải cách sửa lỗi Với mong muốn giúp học sinh hiểu cách nhanh chóng, nắm kiến thức kĩ lập trình 1.3 Đối tượng nghiên cứu Đối tượng nghiên cứu đề tài học sinh lớp 11A1, 11A2, 11A3 trường THPT Hoằng Hóa năm học 2017 – 2018 Trong đề tài tơi trình bày số lỗi thường gặph sử dụng Pascal để lập sinh giải tốn, từ giúp em rút kinh nghiêm lập trình 1.4 Phương pháp nghiên cứu Viết sáng kiến kinh nghiệm thường xuyên liên tục nhiệm vụ trị giáo viên, cần phải lựa chọn phương pháp nghiên cứu đắn phù hợp với nhà trường trung học phổ thơng Sáng kiến kinh nghiệm trình bày dựa theo luận khoa học hướng đối tượng, cụ thể: thuyết trình, quan sát, điều tra bản, phân tích kết thực nghiệm sư phạm,v.v… phù hợp với học môn học Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lí luận Đảng Nhà nước ta nhận thấy tầm quan trọng ngành Tin học đưa môn học vào nhà trường phổ thông môn khoa học khác năm học 2006-2007 Trong bối cảnh toàn ngành Giáo dục Đào tạo nỗ lực đổi phương pháp dạy học theo hướng phát huy tính tích cực chủ động học sinh hoạt động học tập Điều 24.2 Luật giáo dục nêu rõ : “Phương pháp giáo dục phổ thơng phải phát huy tính tích cực, tự giác, chủ động, sáng tạo học sinh, phù hợp với đặc điểm lớp học, môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh” Như vậy, thấy định hướng đổi phương pháp dạy học khẳng định, không vấn đề tranh luận Cốt lõi việc đổi phương pháp dạy học trường phổ thông giúp học sinh hướng tới việc học tập chủ động, chống lại thói quen học tập thụ động Với số nội dung đề tài này, học sinh tự học, tự rèn luyện thơng qua số tập, dạng tập cụ thể 2.2 Thực trạng vấn đề trước sử dụng sáng kiến kinh nghiệm Qua thực tế giảng dạy trường THPT Hoằng Hóa năm qua, tơi nhận thấy học đến chương trình tin học lớp 11 đa số học sinh nhận xét mơn khó Các học sinh thường gặp nhiều lỗi viết chương trình ngơn ngữ lập trình Pascal Bảng số liệu kết đạt học sinh lớp 11 năm học 2016 – 2017 chưa thực đề tài STT Lớp Sỉ số Đạt yêu cầu Không đạt yêu cầu 11 A1 44 72,73 % 27,27 % 11 A2 43 79,07 % 20,93 % 11 A3 45 77,78 % 22,22 % 2.3 Một số lỗi lập trình thường gặp (1) Viết sai từ khóa Từ khóa (từ dành riêng) em viết lên hình soạn thảo ngơn ngữ lập trình Turbo Pascal hiển thị khác so với từ, kí hiệu khác màu trắng Ví dụ 1: Một số từ khóa thường gặp: Program, Var, Uses, Const, Begin, End, If, Then, Else, For, To, Do, Downto, While, Array, Of, String, Procedure, Function … (2) Viết sai cú pháp Khi lập trình, câu lệnh đưa phải tuẩn thủ theo cú pháp ngôn ngữ lập trình quy định Nếu viết sai chương trình dịch thơng báo lỗi Ví dụ 2: Khai báo tên chương trình: Program ; Khai báo biến: Var : ; Lệnh gán: := ; … (3) Thiếu kí hiệu ; kết thúc câu lệnh Khi lệnh kết thúc ta phải sử dụng kí hiệu ; để ngăn cách Ví dụ 3: Cho x = 100; y = 6,25 khai báo biến Học sinh khai báo biến sau: Var x: Byte; Y: Real; (4) Chưa khai báo biến trước sử dụng Tất biến dùng chương trình phải đặt tên khai báo cho chương trình dịch biết để lưu trữ xử lí Mỗi biến khai báo lần Ví dụ 4: Em có nhận xét chương trình sau? Hãy viết lại cho hợp lí Program Tinh_DTTG; Uses crt; Var a,b,c: Integer; Begin Clrscr; Write (‘ Nhap dai canh tam giac ’); Readln(a, b, c); p := (a + b + c) / 2; s := Sqrt (p * (p - a) * (p - b) * (p - c) ); Writeln (‘Dien tich tam giac =’, s : : 2); Readln End Học sinh nhận xét biến p va s có sử dụng chương trình chưa khai báo Chương trình viết lại sau: Program Tinh_DTTG; Uses crt; Var a,b,c : Integer; p,s : Real; Begin Clrscr; Write (‘ Nhap dai canh tam giac ’); Readln(a, b, c); p := (a + b + c) / 2; s := Sqrt (p * (p - a) * (p - b) * (p - c) ); Writeln (‘Dien tich tam giac =’, s : : 2); Readln End (5) Thừa thiếu Begin End Begin end luôn cặp với Nếu chương trình có sử dụng từ khóa Begin phải sử dụng từ khóa End để báo hiệu kết thúc lệnh Ví dụ 5: Viết chương trình hốn đổi giá trị x y Học sinh viết sau: Program Hoandoi; Uses crt; Var x, y, z : Integer; Begin Clrscr; Write(‘ Nhap x, y:’); Readln(x, y); Begin z := x; x := y; y:= z; end; Writeln (‘ Ket qua:’, x: 4, y:4); Readln End (6) Khai báo sai miền số cho liệu kiểu mảng Ví dụ 6: Nhập vào mảng số nguyên gồm số lớn nhỏ 100 In mảng vừa nhập Học sinh khai báo mảng sau: Var a: array[3 100] of integer; (7) Giá trị biến điều khiển vượt miền số mảng Ví dụ 7: Nhập vào dãy số gồm phần tử cho biết dãy vừa nhập có tạo thành cấp số cộng khơng? Học sinh lập trình giải toán sau: Var a: array[1 7] of integer; i, d : integer; kt : boolean; Begin Write(‘nhap day so:’); For i := to Begin Write(‘a[’ ,i, ‘]’); Readln(a[i]); End; d := a[2] - a[1]; kt := true; i := 1; while (kt) and (ia Then max:=b; else max:=a; Học sinh làm: Lỗi sai sử dụng dấu ; sau lệnh max:=b Lệnh sửa lại sau: If b>a Then max:=b else max:=a; (10) Không phân biệt xâu biến Học sinh cần ý xâu phải đặt cặp nháy đơn biến khơng Ví dụ 10: ‘x’: x trường hợp gọi xâu x: x trường hợp gọi biến (11) Tràn số kết tính tốn vượt q giới hạn Function GT(n:integer): integer; Var i,t: integer; 10 Begin T:=1; For i:=2 to n t:=t*i; Gt:=t; End; Begin Write(‘GT(8)=’, GT(8)); Readln; End Khi thực chương trình GT(8)=-25126 sai thực tế 8!=40320 Lỗi khai báo hàm trả số nguyên nên miền giá trị tối đa 32767 (12) Sử dụng tên hàm làm biến cục Do lệnh trả kết cho tên hàm giống lệnh gán bình thường nên học sinh thường nhầm tên hàm biến cục Vì viết chương trình để tiết kiệm biến cục học sinh sử dụng tên hàm làm biến cục Function GT(n:integer):Longint; Var i:integer; Begin For i:=2 to n GT:=GT*i; End; Trong thân hàm sử dụng tên hàm làm biến cục nên biên dịch báo lỗi gọi hàm thiếu tham số chương trình hiểu GT:=GT*i lời gọi đệ qui Để tránh lỗi cần lưu ý với học sinh: để trả kết cho hàm (khơng đệ quy), tốt nên tính kết hàm vào biến cục bộ, trước kết thúc ta gán tên hàm giá trị biến để trả giá trị cho hàm 11 (13) Chưa hiểu thứ tự ưu tiên phép toán Thứ tự ưu tiên phép tốn ngơn ngữ lập trình Pascal sau: - Lời gọi hàm - Biểu thức ngoặc - Toán tử NOT - Toán tử đổi dấu: - * / div mod - + - or - >=,>,