1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Skkn 2023) một số lỗi sai của học sinh khi học lập trình pascal và hướng khắc phục

17 0 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

Nội dung

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc BÁO CÁO SÁNG KIẾN Tên sáng kiến: Một số lỗi sai học sinh học lập trình Pascal hướng khắc phục Mô tả chất sáng kiến: Trong giai đoạn nay, công nghệ thông tin ứng dụng vào đời sống công cụ thiếu Nó hỗ trợ đắc lực người khía cạnh cơng việc, giải trí, học tập, … Để giải vấn đề tạo sản phẩm để phục vụ sống bước quan trọng trình lập trình Lập trình trình người tạo chương trình máy tính thơng qua ngơn ngữ lập trình, việc lập chương trình chạy máy tính, thiết bị điện tử thơng minh, tạo trị chơi học vui – vui học điều 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 để viết chương trình Hiện nay, có nhiều loại ngơn ngữ lập trình khác để tạo nên sản phẩm lĩnh vực với mục đích giúp học sinh làm quen với ngơn ngữ lập trình, ngơn ngữ Pascal Bộ Giáo dục Đào tạo chọn lựa để đưa vào nội dung môn Tin học bậc Trung học sở Tuy nhiên bước đầu làm quen với ngơn ngữ lập trình nên học sinh khơng tránh khỏi sai sót để khắc phục yếu tố đưa sáng kiến “Một số lỗi sai học sinh học lập trình Pascal hướng khắc phục” 2.1 Các bước cách thức thực giải pháp: Từ thực trạng học sinh trình học lập trình Pascal Tôi đưa số phương án giúp học sinh khắc phục số lỗi sai trình học lập trình Pascal Trong sáng kiến này, tơi thực theo trình tự sau: + Xác định sai xót mà học sinh thường vấp phải + Đưa hướng giải + Đưa ví dụ thực tế để học sinh nắm rõ hướng giải 2.1.1 Lỗi chưa nắm rõ nguyên tắc hoạt động câu lệnh: 2.1.1.1 Một số lỗi chưa nắm rõ nguyên tắc hoạt động câu lệnh: a Chưa nắm thay đổi biến đếm câu lệnh lặp với số lần biết trước vận dụng thay đổi biến đếm để thực thao tác tính tốn: Lỗi xảy học sinh chưa nắm rõ trình thay đổi giá trị biến đếm câu lệnh lặp với số lần biết trước Từ đó, chưa vận dụng thay đổi biến đếm để thực tính tốn Ví dụ: Học sinh viết câu lệnh lặp toán Tính tổng 10 số tự nhiên sau: Var i,n:integer; s:longint; Begin write('Nhap n=');readln(n); S:=0; For i:= 10 to s:=s+i; Writeln('Tong la ',s); Readln end Trong toán trên, biến đếm tự động tăng lên sau câu lệnh thực với điều kiện giá trị đầu giá trị cuối, chạy chương trình cho kết Phương án khắc phục: - Đưa chương trình yêu cầu học sinh nhìn nhận thay đổi giá trị biến đếm chương trình - Đưa tập đọc hiểu chương trình - Đưa chương trình chưa đúng, yêu cầu học sinh phát lỗi chỉnh sửa cho phù hợp Ví dụ: Giáo viên đưa chương trình với câu lệnh sau: For i := to 10 S:= S + i; b Chưa xác định điều kiện câu lệnh lặp với số lần chưa biết trước: Lỗi phát sinh học sinh chưa nắm quy trình hoạt động điều kiện Từ đó, chưa xác định điều kiện phù hợp để chương trình hoạt động yêu cầu Ví dụ: Với tốn tính giá trị X trước giá trị X If X > 10 then X := X+1; học sinh cho kết X=11 Vậy có nghĩa học sinh chưa nắm rõ quy trình hoạt động câu lệnh điều kiện Phương án khắc phục: - Đưa chương cho học sinh xác định chương trình cần thực chương trình dừng lại Từ đưa điều kiện phù hợp - Đưa tập đọc hiểu chương trình - Thảo luận nhóm, đưa ý kiến làm bạn - Thảo luận nhóm đưa phương án xác định điều kiện Ví dụ: Giáo viên cần hướng dẫn kỹ cho học sinh quy trình hoạt động câu lệnh điều kiện dạng thiếu đủ Với câu lệnh trên, ta xét câu lệnh điều kiện dạng thiếu Tiếp tục xét, trước X=5, đem so với điều kiện X > 10 khơng thoả mãn, câu lệnh bị bỏ qua Kết luận, giá trị X 11 học sinh đưa c Chưa nắm cú pháp câu lệnh: Lỗi học sinh chưa nắm cú pháp câu lệnh, chưa xác định thành phần câu lệnh Ví dụ: Câu lệnh lặp với số lần biết trước có cú pháp: For := to ; Trong đó, thành phần , , giá trị nguyên Tuy nhiên, với câu lệnh cho sau, học sinh đưa kết 10 vòng lặp For i := 2.1 to 2.10 writeln(‘Day la lan lap thu ‘,i); Phương án khắc phục: - Yêu cầu học sinh xác định cú pháp câu lệnh: chức thành phần câu lệnh - Đưa tập trắc nghiệm, điền vào chỗ trống để học sinh xác định cú pháp câu lệnh - Đưa chương trình yêu cầu học sinh giải thích hoạt động câu lệnh Như vậy, với câu lệnh cho trên, giáo viên yêu cầu học sinh xác định cú pháp câu lệnh lặp, thành phần chức câu lệnh Sau kiểm tra lại giá trị đầu cuối câu lệnh có phải giá trị ngun hay khơng Nếu khơng phải giá trị ngun kết luận câu lệnh khơng thực giá trị đầu cuối giá trị thực d Sử dụng sai vị trí thiếu thừa dấu chấm phẩy “;”: Lỗi học sinh đặt sai vị trí dấu chấm phẩy câu lệnh Ví dụ: Học sinh đặt dấu chấm phẩy sau điều kiện trước Else câu lệnh sau: If a>b; then write(‘a lon hon b’); else write(‘a nho hon b”); Phương án khắc phục: - Nhắc học sinh vị trí dấu chấm phẩy như: Dấu chấm phẩy đặt cuối câu lệnh, trước Else khơng có dấu chấm phẩy, sử dụng dấu chấm phẩy sau từ khoá “do” câu lệnh lặp  câu lệnh lặp rỗng không làm việc cả, … Ví dụ: Câu lệnh viết lại sau: If a>b then write(‘a lon hon b’) else write(‘a nho hon b”); e Đặt tên biến sai quy tắc: Lỗi học sinh ý đến quy tắc đặt tên đặt: - Tên biến bị trùng với từ khóa; - Tên biến bị trùng chương trình; - Tên biến bị chứa dấu cách viết văn hay có khoảng cách phía trước, … Ví dụ: Học sinh đặt tên biến cho chương trình tính diện tích hình vng diện tích hình chữ nhật sau: Var a, b, dien tich hcn, dien tich hv: integer; Phương án khắc phục: Giáo viên nhắc học sinh ý đến quy tắc đặt tên: - Tên không trùng với từ khoá - Tên khác tương ứng với đại lượng khác - Tên khơng chứa kí tự trống - Tên không bắt dầu số - Tên nên đặt ngắn gọn, dễ nhớ, dễ hiểu 4 Ngoài giáo viên cần nhắc nhở thêm cho học sinh ý kiểu kiệu biến tránh trường hợp lỗi xảy phạm vi giá trị không đủ Ví dụ: Với lỗi sai ví dụ trên, giáo viên hướng dẫn học sinh đặt lại tên biến kiểu kiệu biến sau: Var a, b: integer; Shcn, Shv: real; g Tràn số kết tính toán vượt giới hạn: Lỗi học sinh chưa ý đến phạm vi giá trị kiểu kiệu mà đặt cho biến Ví dụ: (Bài dành cho học sinh giỏi) Function GT(n:integer):integer; Var i,t:integer; 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 Phương án khắc phục: Giáo viên hướng dẫn học sinh ý đến phạm vi giá trị kiểu liệu đặt cho biến đếm Với ví dụ trên, giáo viên hướng dẫn học sinh đổi kiểu kiệu biến GT t từ kiểu integer thành kiểu longint Function GT(n:integer):longint; Var i:integer; t: longint; Begin t:=1; For i:=2 to n t:=t*i; GT:=t; End; Begin Write(‘GT(8)=’, GT(8)); Readln; End Như vậy, chạy chương trình cho kết 8!=40320 h Khai báo sai (khơng tương thích) kiểu liệu: Lỗi học sinh chưa ý đến tương thích kiểu liệu mà đặt cho biến chương trình Ví dụ: Chương trình tính chu vi diện tích hình chữ nhật; uses crt; var a,b:real; s,cv:integer; Begin clrscr; writeln ('chieu dai a='); readln(a); writeln ('chieu rong b='); readln(b); s:=a*b; cv:= (a+b)*2; writeln('dien tich la ',s); writeln('chu vi la ',cv); readln End Khi chạy chương trình chương trình báo lỗi type mismatch chỗ dịng cơng thức tính diện tích biến a, b Phương án khắc phục: Giáo viên hướng dẫn học sinh ý đến tính tương thích kiểu liệu đặt cho biến đếm chương trình Ví dụ: Giáo viên hướng dẫn học sinh sửa lại kiểu liệu chương trình sau: var a,b:integer; s,cv:longint; (Hoặc Var a,b, s,cv: real;) Begin clrscr; writeln ('chieu dai a='); readln(a); writeln ('chieu rong b='); readln(b); s:=a*b; cv:= (a+b)*2; writeln('dien tich la ',s); writeln('chu vi la ',cv); readln End 2.1.1.2 Ví dụ: Dùng tên biến đếm cho vịng lặp for lồng nhau: Bài tập: Tính tổng S = 1.k!+2.k!+….+n.k! Học sinh lập trình giải tốn sau: S:=0; For i:=1 to n Begin T:=1; For i:=1 to k T:=T*i; S:=S+i*T; End; Lỗi học sinh gặp phải: đoạn chương trình lặp vơ tận kết thúc vịng lặp i nhận giá trị k (phần in đậm) Hướng khắc phục: để khắc phục lỗi cần cho học sinh ý trình hoạt động biến đếm, từ áp dụng vịng lặp lồng phải sử dụng biến đếm khác Đoạn chương trình chỉnh sửa: S:=0; For i:=1 to n Begin T:=1; For j:=1 to k T:=T*x; S:=S+i*T; End; 2.1.1.3 Một số bảng lỗi thường gặp: Một số bảng lỗi sau giúp học sinh kiểm tra lỗi thường gặp phải để có hướng khắc phục phù hợ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 Unknown identifier Tên gọi chưa mô tả Duplicate indentifier Khai báo lặp tên gọi Syntax error Lỗi cú pháp String constant exceeds line Hằng xâu vượ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 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 “[” “(.” 93 “]” or “.)” expected Thiếu dấu “]” “.)” 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 File not found Khơng tìm thấy tệp Path not found Khơng tìm thấy đường dẫn 100 Disk read error Lỗi đọc đĩa 101 Disk write error Lỗi ghi đĩa 103 File not open Tệp chưa mở 200 Division by zero Lỗi chia cho số … … … 2.1.2 Lỗi xác định thuật toán chưa phù hợp: 2.1.2.1 Những lỗi học sinh thường vấp trong q trình viết thuật tốn: a Lỗi bỏ bước: Lỗi thường xảy trình học sinh xây dựng thuật toán, bước thuật toán khơng liên kết với xảy tình trạng thuật tốn khơng hồn chỉnh chương trình thực khơng theo yêu cầu Ví dụ: Học sinh viết thuật toán so sánh số a b dạng “a lớn b”, “a nhỏ b” “a b” sau: Bước 1: So sánh a b Nếu a > b, kết “a lớn b” Bước 2: Nếu a < b, kết “a nhỏ b”; ngược lại, kết “a b” kết thúc thuật toán Thoạt đầu, ta thấy thuật tốn giải tốt toán Tuy nhiên, thử thuật toán với a = b = ta thấy bước có kết “a lớn b”, đến bước 2, kiểm tra a < b khơng thoả mãn ta lại có tiếp kết “a b” ta nhận kết Phương án khắc phục: - Cho học sinh viết lưu đồ cú pháp chương trình - Nêu thuật tốn chương trình - u cầu học sinh viết chương trình theo thuật tốn - Đưa chương trình cho học sinh xác định thuật tốn chương trình - Đưa nhiều dạng tập thuật toán điền vào chỗ trống, xác định thuật tốn thực vấn đề gì, xác định lỗi sai thuật tốn… Ví dụ: Với toán so sánh số a b trên, để có kết đúng, giáo viên cần hướng dẫ học sinh mơ tả xác điều kiện kết thúc thuật toán sau: Bước 1: Nếu a > b, kết “a lớn b” chuyển đến bước Bước 2: Nếu a < b, kết “a nhỏ b”; ngược lại, kết “a b” Bước 3: Kết thúc thuật tốn Như thử lại với cặp số a b ta nhận kết b Lỗi chưa xác định liệu input output: Lỗi học sinh chưa xác định cụ thể yêu cầu toán, dẫn đến không xác định dự liệu đầu vào đầu Ví dụ: Học sinh xác định tốn Tính tổng n số tự nhiên với Input Output sau: Input: số n Output: Tổng n số tự nhiên Phương án khắc phục: - Cho học sinh xác định input output chương trình - Đưa chương trình cho học sinh phát input output chương trình c Lỗi chưa xác định điều kiện để thực yêu cầu: Lỗi phát sinh học sinh chưa nhìn nhận điều kiện để giải vấn đề đưa Phương án khắc phục: - Phân chia toán thành nhiều toán nhỏ - Thảo luận nhóm kiểm tra chéo nhóm để nêu nhận xét phương án nhóm - Đưa tập dạng trắc nghiệm, điền vào chỗ trống hay nối ý đê câu hồn chỉnh 2.1.2.2 Ví dụ: nêu thuật tốn tìm giá trị lớn dãy số nguyên Học sinh thực thuật toán sau: Bước Nhập N dãy a[1],…, a[N]; Bước Max := a[1]; i := 2; Bước Bước 3.1 Nếu a[i] > Max Max := a[i]; Bước 3.2 i := i + 1; Lỗi học sinh thường gặp: chưa xác định điều kiện dừng thuật toán Hướng khắc phục: cho học sinh xác định thao tác tìm giá trị lớn dãy số nguyên dừng lại Từ rút kết luận điều kiện dừng thuật toán Điều kiện dừng là: i>n Thuật toán chỉnh sửa: Bước Nhập N dãy a[1],…, a[N]; Bước Max := a1, i := 2; Bước Nếu i > N đến Bước 5, ngược lại đến Bước 4; Bước Bước 4.1 Nếu a[i] > Max Max := a[i]; Bước 4.2 i := i + quay lại bước 3; Bước In giá trị Max kết thúc 2.1.3 Chưa có thói quen xác định sửa lỗi chương trình: 2.1.3.1 Một số vấn đề chưa có thói quen xác định sửa lỗi chương trình: - Theo khái niệm thuật tốn sách giáo khoa Tin học 3, thuật toán dãy hữu hạn thao tác cần thực để giải tốn Nói cách khác, trình bày thuật tốn tức bước cần thực để đến kết - Việc trình bày thuật tốn trước viết chương trình quan trọng Thuật tốn chương trình có khả đúng, cịn thuật tốn sai chắn cho chương trình sai Tuy nhiên phần lớn học sinh lớp thường bỏ qua bước tâm lý học sinh khơng thích loại tập - Trong nhiều trường hợp tưởng khơng cần thuật tốn cụ thể học sinh viết chương trình Thực tế thuật tốn khơng viết hình thành sẵn đầu người viết Điểm giống người viết tập làm văn lập dàn ý xong viết văn hoàn chỉnh từ dàn lập - Với đa số học sinh nay, cần phải dành lượng thời gian thích hợp để rèn luỵên loại tập Phải cho việc viết thuật toán trở thành kĩ để em lập trình máy, khơng cần viết thuật tốn mà em hình dung thuật tốn đầu Cần phải tạo cho em có ý thức viết chương trình Pascal phải tuân thủ theo trình tự sau: Xác định tốn  Xây dựng thuật tốn  Viết chương trình Ví dụ: Có n hộp có khối lượng khác cân dĩa Hãy cách cân để tìm hộp nặng Với toán thực tế ta phát biểu lại dạng toán toán học sau: Cho tập hợp A có số phần tử hữu hạn Tìm phần tử lớn tập A nói Khi ta trình bày thuật tốn sau: B1 - Nếu có hộp hộp nặng kết thúc B2 - Nếu số hộp n>1 Chọn hộp đặt lên bàn cân Giữ lại hộp nặng cất hộp nhẹ chỗ khác B3 - Nếu khơng cịn hộp chưa cân chuyển sang bước 5, ngồi ra: Chọn hộp để lên dĩa 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 B5 - Hộp lại cân hộp nặng kết thúc a Thụ động giải chương trình: Khi chương trình bị lỗi, học sinh thường hạn chế chịu tìm tịi phát vấn đề Ví dụ: Khi viết chương trình tính diện tích hình vng diện tích hình chữ nhật, học sinh gặp phải lỗi sau: 10 Lỗi đơn giản học sinh thường có lỗi hạn chế tìm tịi phát lỗi sai Phương án khắc phục: - Có biện pháp chấn chỉnh thói quen thụ động học tập - Trình bày vấn đề học sinh thường gặp học môn lập trình hướng dẫn khắc phục vấn đề - Phổ biến với học sinh bảng lỗi Từ học sinh dựa vào để dần thích nghi với lỗi có thói quen chỉnh sửa sai sót - Trình bày cho học sinh số lỗi thường gặp phải như: khai báo sai kiểu liệu, điều kiện phép so sánh phép gán, … - Cho học sinh thực sửa lỗi chương trình theo hình thức cá nhân theo nhóm Ví dụ: Gặp lỗi chương trình, giáo viên cần chấn chỉnh thói quen thụ động học sinh cho học sinh tập sửa lỗi Cho học sinh học bảng lỗi sai Pascal để học sinh dần thích nghi với lỗi sai chương trình tự chỉnh sửa lỗi chương trình Với lỗi ví dụ trên, giáo viên cần hướng dẫn cho học sinh đọc lỗi (Thiếu dấu chấm (.) để kết thúc chương trình), học sinh biết lỗi hướng cho học sinh sữa lỗi (thêm dấu chấm vào sau End để kết thúc chương trình) b Thói quen ỷ lại dựa dẫm vào người khác: Đây vấn đề xảy phổ biến em học sinh Khi gặp vấn đề đó, em khơng có tính chủ động để giải mà thường chờ hướng dẫn từ thầy cô bạn bè Phương án khắc phục: - Cần có nội dung để em nhìn nhận khắc phục vấn đề - Tập cho em tác phong tự giác, không phụ thuộc vào người khác - Tham gia phong trào tập thể, nêu ý kiến thực theo phương án cá nhân Phát vấn đề sai nhằm mục đích phát triển khả tư học sinh Từ đó, tự giải vấn đề gặp phải 2.1.3.2 Ví dụ: Chưa nắm điều kiện câu lệnh if then else phép so sánh cú pháp câu lệnh if then else Bài tập: Kiểm tra “n” có phải số ngun tố hay khơng? Học sinh lập trình tốn sau: Write(‘nhap n: ’);readln(n); Dem:=0; For i:=1 to n If n mod i =0 then dem:=dem+1; If dem:=2 then write(n,‘ la so nguyen to’) else; write(n,‘ khong phai la so nguyen to’); Lỗi học sinh thường gặp: điều kiện câu lệnh if then else phép gán, sau else có dấu; (phần in đậm) Hơn viết chương trình gặp lỗi, học sinh thường có xu hướng hạn chế chịu tìm tịi phát vấn đề khơng có tính chủ động để giải mà thường chờ hướng dẫn từ thầy cô bạn bè 11 Hướng khắc phục: Trong trường hợp cần cho học sinh nêu lại cú pháp câu lệnh if then else Xác định thành phần câu lệnh if then else có tính chất Từ cho học sinh nhận xét lại làm khắc phục Đồng thời giáo viên động viên học sinh cố gắng tìm tịi, phát chỗ sai tự tìm cách khắc phục, khơng ỷ lại, chờ thầy cô bạn học giỏi hướng dẫn Đoạn chương trình chỉnh sửa: Write(‘nhap n: ’);readln(n); Dem:=0; For i:=1 to n If n mod i =0 then dem:=dem+1; If dem=2 then write(n,‘ la so nguyen to’) else write(n,‘ khong phai la so nguyen to’); 2.2 Phân tích tình trạng giải pháp biết: Ưu điểm: - Phòng học môn Tin học nhà trường quan tâm đầu tư để trì đủ máy vi tính phục vụ cho dạy học mơn (hiện có 20 máy hoạt động tốt), cài đầy đủ phần mềm học tập cho khối lớp có phần mềm Pascal cho lớp kết nối mạng Internet kèm theo Tivi 50 inch - Đa số học sinh học tập tích cực Một số em học sinh nhà có trang bị máy tính nên có số thuận lợi định Một số lượng khơng nhỏ học sinh u thích Tin học thích tìm hiểu số tốn, dạng tốn mà em đam mê từ phân mơn Tốn học, đối tượng học sinh giỏi, đa phần em hào hứng với việc học lập trình, cụ thể ngơn ngữ lập trình Pascal - Trong trình học lập trình, học sinh nắm rõ nguyên tắc hoạt động câu lệnh như: nắm thay đổi biến đếm câu lệnh lặp với số lần biết trước vận dụng thay đổi biến đếm để thực thao tác tính tốn, xác định điều kiện câu lệnh lặp với số lần chưa biết trước, khai báo kiểu liệu phạm vi giá trị liệu, quy tắc đặt tên chương trình, ý đến xác định toán điều kiện để thực yêu cầu, đồng thời ý bước liên kết thuật toán xác định thuật toán thực vấn đề gì, xác định lỗi sai thuật tốn… - Dần dần trình lập trình, học sinh có thói quen tự lập trình, tự giác tham gia vào phong trào tập thể trao đổi nhóm, nêu ý kiến, thực phương án cá nhân, mày mò giải vấn đề gặp phải trình lập trình, từ phát triển tốt khả tư thân Hạn chế: Qua thực tế giảng dạy trường THCS Phù Đổng năm qua, nhận thấy học đến chương trình Tin học lớp cịn nhiều học sinh cảm thấy khó khăn trừu tượng với việc học lập trình 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 Trong năm học 2021-2022 kết đạt học sinh phần lập trình cuối học kì I cụ thể sau: STT Lớp Sỉ số Trên trung bình Dưới trung bình 12 SL TL SL TL 8/1 35 15 42,8% 20 57,1% 8/2 36 17 47,2% 19 52,8% 8/3 36 18 50% 18 50% 8/4 36 17 47,2% 19 52,8% Nội dung tin học lập trình 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 Có nhiều nguyên nhân dẫn đến lỗi lúc học sinh học lập trình Sau số nguyên nhân chính: Một là: Chưa nắm rõ nguyên tắc hoạt động câu lệnh Trong có số lỗi như: - Chưa nắm thay đổi biến đếm câu lệnh lặp với số lần biết trước Từ đó, chưa vận dụng thay đổi biến đếm để thực thao tác tính tốn - Chưa nắm quy trình hoạt động điều kiện Từ đó, chưa xác định điều kiện phù hợp để chương trình hoạt động yêu cầu - Chưa nắm cú pháp câu lệnh, chưa xác định thành phần câu lệnh, đặt sai vị trí dấu chấm phẩy câu lệnh, đặt tên biến sai quy tắc Từ đó, viết chương trình gây nhiều lỗi cú pháp nguyên tắc hoạt động câu lệnh chương trình Hai là: Xác định thuật toán chưa phù hợp - Trong q trình học sinh xây dựng thuật tốn, bước thuật tốn khơng liên kết với xảy tình trạng thuật tốn khơng hồn chỉnh chương trình thực khơng theo u cầu - Học sinh chưa xác định cụ thể yêu cầu tốn, dẫn đến khơng xác định liệu đầu vào đầu - Chưa nhìn nhận điều kiện để giải vấn đề đưa Ba là: Chưa có thói quen xác định lỗi chương trình - Khi chương trình bị lỗi, học sinh thường hạn chế chịu tìm tịi phát vấn đề Đây vấn đề xảy phổ biến em học sinh Khi gặp vấn đề đó, em khơng có tính chủ động để giải mà thường chờ hướng dẫn từ thầy cô bạn bè Những lỗi mà học sinh mắc phải qua năm học mà thân hướng dẫn, nhận thấy đa phần em điều mắc lỗi tương tự từ chất lượng học sinh khá, giỏi chưa đạt hiệu đề Từ định thực đề tài nhằm cải thiện kết học tập em giúp em khắc phục lỗi lập trình với ngơn ngữ Pascal 2.3 Nội dung cải tiến, sáng tạo để khắc phục nhược điểm tại: 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 Như vậy, thấy định hướng đổi phương pháp dạy học khẳng định, khơng cịn vấn đề tranh luận Cốt lõi việc đổi phương pháp dạy học giúp học sinh hướng tới việc học 13 tập chủ động Với số nội dung đề tài này, áp dụng phương pháp dạy học truy vấn, thảo luận nhóm, học sinh kiểm tra chéo lẫn nhau… với mục đích tạo nên tính chủ động, đẩy mạnh tinh thần thi đua học tập học sinh Hạn chế tính thụ động, ỷ lại Nêu cao tinh thần hợp tác, hỗ trợ lẫn tập thể Thông qua tổ chức học nhóm, giáo viên u cầu học sinh tìm nguyên nhân lỗi Từ gợi ý cho học sinh vận dụng kiến thức để giải vấn đề gặp phải Cụ thể: - Lỗi xảy học sinh chưa nắm rõ quy tắc hoạt động câu lệnh trình thay đổi giá trị biến đếm hay chưa xác định điều kiện câu lệnh lặp Từ đó, chưa vận dụng quy tắc hoạt động câu lệnh để thực tính tốn giáo viên hướng dẫn học sinh khắc phục lỗi như: + Đưa tập đọc hiểu chương trình + Đưa chương trình chưa đúng, yêu cầu học sinh phát lỗi chỉnh sửa cho phù hợp + Thảo luận nhóm, đưa ý kiến làm bạn + Nhắc, gợi ý cho học sinh ý cú pháp câu lệnh, dấu chấm phẩy, quy tắc đặt tên, kiểu liệu phạm vi giá trị kiểu liệu, … - Lỗi học sinh thường vấp trình viết thuật tốn thiếu liên kết bước, không xác định Input Output tốn, … hướng dẫn học sinh khắc phục cách đưa nhiều dạng tập trắc nghiệm, điền khuyết, nối ý, …, xác định thuật toán thực vấn đề gì, xác định lỗi sai thuật tốn, thảo luận nhóm kiểm tra chéo nhóm để nêu nhận xét phương án nhóm - Có biện pháp chấn chỉnh thói quen thụ động học tập - Trình bày vấn đề học sinh thường gặp học mơn lập trình hướng dẫn khắc phục vấn đề - Phổ biến với học sinh bảng lỗi Từ học sinh dựa vào để dần thích nghi với lỗi có thói quen chỉnh sửa sai sót - Trình bày cho học sinh số lỗi thường gặp phải như: khai báo sai kiểu liệu, điều kiện phép so sánh phép gán, … - Cho học sinh thực sửa lỗi chương trình theo hình thức cá nhân theo nhóm - Tập cho em tác phong tự giác, không phụ thuộc, dựa dẫm, ỷ lại vào người khác - Tham gia phong trào tập thể, nêu ý kiến thực theo phương án cá nhân Phát vấn đề sai nhằm mục đích phát triển khả tư học sinh Từ đó, tự giải vấn đề gặp phải 2.4 Khả áp dụng sáng kiến: Sáng kiến áp dụng cho môn Tin học lớp trường THCS Phù Đổng áp dụng cho trường tồn huyện Ngồi vận dụng phần sáng kiến để áp dụng cho số mơn trường THCS thuật tốn mơn Tốn; hoạt động cá nhân hay tập thể, giải vấn đề vào mơn Sinh học, Hố học, Vật lý, … 14 2.5 Đánh giá lợi ích thu dự kiến thu áp dụng sáng kiến theo ý kiến tác giả theo ý kiến tổ chức, cá nhân tham gia áp dụng sáng kiến lần đầu, kể áp dụng thử (nếu có): 2.5.1 Đánh giá lợi ích thu dự kiến thu áp dụng sáng kiến theo ý kiến tác giả: - Sau thực hiện, tơi nhận thấy bước đầu có hiệu việc dạy bồi dưỡng đội học sinh giỏi nhà trường Các em tích cực tham gia hoạt động nhóm, nêu lên ý kiến cá nhân hạn chế việc ỷ lại chờ đợi vào người khác - Về dạy học đại trà, em dần tự tin hứng thú với lập trình Đa số học sinh hiểu nhận biết ứng dụng lập trình sống - Khi thực thực nghiệm qua đối tượng học sinh nêu trên, đa số em tránh lỗi thường gặp học lập trình Pascal - Một số khơng học sinh có tiến rõ rệt viết 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 phận học sinh số em có định hướng nghề nghiệp sau Bảng số liệu kết đạt học sinh lớp cuối học kì I năm học 2022-2023 sau thực đề tài: Trên trung bình Dưới trung bình STT Lớp Sỉ số SL TL SL TL 8/1 37 26 70,3% 11 29,7% 8/2 36 24 66,7% 12 33,3% 8/3 36 24 66,7% 12 33,3% 8/4 36 25 69,4% 11 30,6% 2.5.2 Đánh giá lợi ích thu dự kiến thu áp dụng sáng kiến theo ý kiến tổ chức, cá nhân tham gia áp dụng sáng kiến lần đầu, kể áp dụng thử (nếu có): Nhà trường nhóm chun mơn đánh giá sáng kiến có tính thực tế Ứng dụng phù hợp cho công tác giảng dạy, hỗ trợ đắc lực cho phát triển học sinh Trong nội dung đề tài này, với mong muốn giúp cho việc dạy học ngơn ngữ lập trình nói chung Pascal tốt + Đa số học sinh dần khắc phục lỗi sai nắm vững kiến thức + Học sinh hứng thú, say mê học, có khả hoạt động nhóm tốt + Học sinh phát huy tính độc lập suy nghĩ, rèn luyện tư sáng tạo cho học sinh + Học sinh rèn luyện kỹ quan sát, phân tích, thực hành, liên hệ thực tế tốt Qua nội dung trình bày, tơi mong nhận nhiều ý kiến đóng góp từ thầy đồng nghiệp để hoàn thiện 15 Trên nội dung sáng kiến thân triển khai áp dụng trường thời gian vừa qua Kính đề nghị Hội đồng khoa học cấp xem xét Những thông tin cần bảo mật (nếu có): Khơng Các điều kiện cần thiết để áp dụng sáng kiến: - Đối với nhà trường: có phịng máy hoạt động tốt, kết nối mạng nội bộ, máy chiếu tivi, … - Đối với giáo viên: nắm vững kiến thức, máy tính cá nhân để giảng dạy, phối hợp tốt phương pháp cách linh hoạt - Đối với học sinh: nẵm vững kiến thức, có kĩ sử dụng máy tính kĩ sử dụng mơi trường lập trình FreePascal, tự tin, động, sáng tạo Danh sách thành viên tham gia áp dụng thử áp dụng sáng kiến lần đầu (nếu có): Số TT Họ tên Trần Thị Bích Ngọc Ngày tháng năm sinh Nơi công tác Chức danh 8/4/1984 Trường THCS Phù Đổng Giáo viên Trình Nội dung độ cơng việc chuyên hỗ trợ môn Đại học Giảng dạy môn Tin học 16 TÀI LIỆU THAM KHẢO 1) Tin học – Bộ Giáo dục Đào tạo 2) Hướng dẫn Tin học – Bộ Giáo dục Đào tạo (sách thử nghiệm) 3) Lập trình Pascal – Bùi Việt Hà 4) 100 Bài tập Turbo Pascal lớp – Từ Internet 17 MỤC LỤC Tên sáng kiến: Một số lỗi sai học sinh học lập trình Pascal hướng khắc phục .1 Mô tả chất sáng kiến: 2.1 Các bước cách thức thực giải pháp: .1 2.1.1 Lỗi chưa nắm rõ nguyên tắc hoạt động câu lệnh: 2.1.2 Lỗi xác định thuật toán chưa phù hợp: .7 2.1.3 Chưa có thói quen xác định sửa lỗi chương trình: .8 2.2 Phân tích tình trạng giải pháp biết: .11 2.3 Nội dung cải tiến, sáng tạo để khắc phục nhược điểm tại: 12 2.4 Khả áp dụng sáng kiến: 13 2.5 Đánh giá lợi ích thu dự kiến thu áp dụng sáng kiến theo ý kiến tác giả theo ý kiến tổ chức, cá nhân tham gia áp dụng sáng kiến lần đầu, kể áp dụng thử (nếu có): 13 2.5.1 Đánh giá lợi ích thu dự kiến thu áp dụng sáng kiến theo ý kiến tác giả: .13 2.5.2 Đánh giá lợi ích thu dự kiến thu áp dụng sáng kiến theo ý kiến tổ chức, cá nhân tham gia áp dụng sáng kiến lần đầu, kể áp dụng thử (nếu có): 14 Những thông tin cần bảo mật (nếu có): 14 Các điều kiện cần thiết để áp dụng sáng kiến: 14 Danh sách thành viên tham gia áp dụng thử áp dụng sáng kiến lần đầu (nếu có): 15 TÀI LIỆU THAM KHẢO 16

Ngày đăng: 19/06/2023, 15:07

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w