Một số lỗi thông thường của học sinh khi học lập trình trong chương trình tin học lớp 11 phổ thông

4 48 0
Một số lỗi thông thường của học sinh khi học lập trình trong chương trình tin học lớp 11 phổ thông

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

Thông tin tài liệu

Trong việc học lập trình của học sinh ở phổ thông hiện nay các em thường gặp rất nhiều khó khăn và mắc nhiều lỗi thông thường của người bắt đầu học lập trình . Việc xác định những lỗi đó và tìm cách khắc phục lỗi là một việc làm cần phải thường xuyên và cẩn thận của người thầy giáo. Thông qua hoạt động này, thầy giáo có thể giúp học sinh tự tin hơn, mạnh dạn hơn và mang lại niềm say mê hứng thú trong học tập lập trình của học sinh.

UED JOURNAL OF SOCIAL SCIENCES, HUMANITIES AND EDUCATION VOL.3, NO.1 (2013) MỘT SỐ LỖI THÔNG THƯỜNG CỦA HỌC SINH KHI HỌC LẬP TRÌNH TRONG CHƯƠNG TRÌNH TIN HỌC LỚP 11 PHỔ THÔNG COMMON MISTAKES MADE BY HIGH SCHOOL STUDENTS LEARNING PROGRAMMING IN THE GRADE 11 COMPUTING PROGRAM Lê Viết Chung Trường Đại học Sư Phạm, Đại Học Đà Nẵng Email: chunglv2000@yahoo.com TĨM TẮT Trong việc học lập trình học sinh phổ thông em thường gặp nhiều khó khăn mắc nhiều lỗi thơng thường người bắt đầu học lập trình Việc xác định lỗi tìm cách khắc phục lỗi việc làm cần phải thường xuyên cẩn thận người thầy giáo Thông qua hoạt động này, thầy giáo giúp học sinh tự tin hơn, mạnh dạn mang lại niềm say mê hứng thú học tập lập trình học sinh Từ khóa: xác định lỗi; lập trình; hoạt động; khắc phục; rèn luyện ABSTRACT Hgh school students often have a lot of difficulties learning computer programming and make several common mistakes of beginners It is the teacher’s responsibility to identify these mistakes and help them with their correction This may enable students to be more self-confident, active and motivated in learning this subject Key words : identifying mistakes; programming; activity; overcoming; practice Đặt vấn đề Trong chương trình học phổ thông, môn tin học chưa có vị trí xứng đáng thân ngành học đáng giữ vai trị quan trọng tồn lãnh vực xã hội Đây mơn học vừa mang tính lý thuyết, vừa mang tính thực nghiệm đặc biệt tính ứng dụng quan trọng thực tế Ngồi mơn học giúp học sinh rèn luyện phương pháp suy luận, phương pháp giải vấn đề, phương pháp đánh giá bên cạnh việc hình thành cho học sinh phẩm chất người lao động như: cẩn thận, xác, vượt khó ln trăn trở hồi nghi với kết đạt được, đặc biệt chương trình lớp 11 phổ thông Dạy học tin học dạy hoạt động tin học học sinh, nói rằng: Lập trình hình thức chủ yếu quan trọng hoạt động tin học Lập trình phương pháp hữu hiệu giúp học sinh nắm vững khắc sâu kiến thức lập trình, phát triển tư duy, hình thành kỹ kỹ xảo đặc biệt biết vận dụng để giải toán từ đơn giản đến phức tạp Trong thực tế dạy học tin học nay, đặc biệt chương trình tin học lớp 11, em học sinh gặp nhiều khó khăn việc học lập trình lập trình giải toán Rất nhiều nguyên nhân để đưa đến khó khăn Một khó khăn em thường xuyên gặp gây lỗi mà đôi lúc không hiểu đâu phải khắc phục khơng có Thầy hướng dẫn bên cạnh Bài viết phân tích sai lầm thường thấy cách khắc phục để qua học sinh vận dụng vào trình học giáo viên vận dụng vào trình dạy hướng dẫn cho học sinh Kết nghiên cứu khảo sát 2.1 Xác định không thiếu thừa liệu đầu vào, đầu (Input/Output) Khi giải tốn lập trình, 85 TẠP CHÍ KHOA HỌC XÃ HỘI, NHÂN VĂN VÀ GIÁO DỤC giải toán toán học, việc xác định giả thiết kết luận ( Input Output) việc làm quan trọng Biết xác định đầu vào, đầu cách xác thể nắm vấn đề học sinh kỹ người lập trình Học sinh thường mắc phải khơng biết tường minh hóa liệu thành kiểu nào, cấu trúc phép toán xác định Học sinh thường suy nghĩ với tốn phải ln có liệu nhập từ bàn phím xử lý Đó suy nghĩ ngây ngơ người lần đầu làm quen với lập trình Ví dụ 1: Lập trình tính đưa hình vận tốc v chạm đất vật rơi từ độ cao h, biết v= gh , g gia tốc rơi tự g=9,8m/s2 Độ cao h(m) nhập vào từ bàn phím ( 10 trang 36, chương II sách tin học lớp 11) Đây tập lập trình thứ phần em tiếp xúc với lập trình chương trình học Khi viết đa số học sinh thường xác định input output vận tốc v, độ cao h, hay gia tốc g có nên gõ 9,8m/s2 vào cách gõ bậc hai sao? Và xác định input h g, output v em thường khai Var h,g,v :real; Và chương trình em viết phần nhập liệu cho gia tốc g Trong trường hợp cần giải thích cho học sinh hiểu gia tốc g số số số e Ví dụ 2: Lập trình để giải tốn cổ sau: Vừa gà vừa chó Bó lại cho trịn Ba mươi sáu Một trăm chân chẵn Hỏi có loại ? Tác giả viết thống kê từ lớp 11 trường phổ thông trung học địa bàn Đà Nẵng tốn 90% học 86 TẬP 3, SỐ (2013) sinh khơng xác định u cầu tốn khơng xác định input, output tốn để khai báo Đa số học sinh hoang mang khơng biết khai liệu gà chó liệu kiểu gì? Số chân trăm khai báo sao, 36 gì,… Trong trường hợp việc phân tích đầu vào, đầu cho học sinh đóng vai trị quan trọng việc lập trình Đây tốn mà liệu vào cho trước không cần phải nhập từ bàn phím ( liệu vào tổng gà chó 36, tổng số chân gà chó 100) Dữ liệu đầu cần tìm số gà bao nhiêu? số chó bao nhiêu? Sau xác định điều giáo viên dễ dàng hướng dẫn bước mối quan hệ mà tốn cho 2.2 Khơng xác định thuật toán xác định sai thuật toán toán cho Việc xác định thuật toán cho toán khâu quan trọng bậc quy trình giải tốn máy tính Một số tốn thường có nhiều thuật tốn khác việc học sinh tự tìm thuật toán giáo viên hướng dẫn cho học sinh cách tìm thuật tốn tốn khó học cho giáo viên lẫn học sinh Hơn nữa, lỗi thuật tốn thường khơng thơng báo lỗi ẩn tiềm tàng lần thực nên việc phát lỗi kỹ cần phải thực nhiều Ví dụ: Theo ví dụ 2, sau xác định input output, học sinh thường xác định thuật tốn sau: Vì tổng số chân 100 nên số chó tối đa có 100/4=25 ta ln có x gà + x chó =100 cài đặt sau: For cho:=1 to 25 {ga, cho: biến nguyên lưu số chó, số gà toán } Begin Ga:=36-cho; If 2*ga + 4*cho=100 then writeln(‘so cho la:’,cho, so ga la:’,ga); End; UED JOURNAL OF SOCIAL SCIENCES, HUMANITIES AND EDUCATION Tuy nhiên thực tốn gặp lỗi cho kết khơng hợp lý phân tích thuật tốn em khơng thấy thật số chó tối đa 100/4- 1=24 khơng phải 25 gà phải có Ví dụ 2: Nhập vào từ bàn phím xâu Thay tất cụm kí tự ‘anh’ kí tự ‘em’ ( Trang 73 – Phần tập thực hành – Sách Tin học lớp 11) Khi viết chương trình này, thơng thường học sinh xây dựng thuật tốn sau: Dùng hàm pos() để kiểm tra chừng tồn từ ‘anh’ chuỗi thì: - Xóa từ vị trí xác định tồn tại( sử dụng thủ tục Delete) - Chèn từ ‘em’ vào vị trí xác định ( dùng thủ tục Insert) VOL.3, NO.1 (2013) chương trình học sinh có xu hướng chạy thử với vài liệu cụ thể sau thấy kết phù hợp kết luận chương trình hồn tồn Cần làm cho học sinh ý thức chương trình chạy thông suốt, máy cho kết cụ thể chứa đựng sai sót mà khơng hình dung cần phải có liệu đơn giản quét toàn trường hợp điển hình chí học sinh phải loạt liệu điển hình để kiểm thử chương trình Ví dụ 1: Viết chương trình tính ước số chung số ngun dương M,N ( ví dụ lời giải trích từ trang 48 mục 10 chương III sách giáo khoa tin học 11) Program ucln; Uses crt; Đoạn chương trình cài đặt sau: Var m,n:integer; k:=pos(‘anh’,st); Begin Clrscr; While k 0 Write(‘ M,N=’);readln(M,N); begin delete(st,k,3); insert(’em’,st,k); end; Và chạy chương trình kết sai Nếu học sinh để ý sau lần thực vịng lặp While k khơng thay đổi thủ tục Delete Insert làm cho tốn có kết sai cần phải chèn thêm câu lệnh k:=pos(‘anh’,st); sau thủ tục insert(’em’,st,k); chương trình cho kết trọn vẹn xác 2.3 Một vấn đề đáng quan tâm học sinh lập trình giải tốn xem xét kết trình bày kết hình Vấn đề học sinh thường gặp phải lỗi như: cách chạy thử chương trình để kiểm tra kết quả, khơng biết thể kết trình bày kết Việc chạy thử nghiệm kỹ cần rèn luyện, thông thường viết xong While MN if M>N then M-N else N:=N-M; Writeln(ucln =’,M); Readln; End Khi chạy chương trình học sinh thường cho cặp số nguyên dương để thử (4,6), (15,10), (7,8) , (24,36), vv thấy kết xác Nhưng học sinh cho thử cặp (0,9); (-4,6) chương trình gặp lỗi tức khắc Và điều giúp cho học sinh nhận không ràng buộc liệu đưa vào phải số nguyên dương nên kết sai thử với cặp Cách khắc phục cho học sinh viết thêm dòng lệnh buộc việc nhập m n phải luôn nguyên dương Việc thể thông tin thông báo kết hình nhiều học sinh khơng ý quan tâm Vì việc đọc thơng tin, đọc kết hình đem lại 87 TẠP CHÍ KHOA HỌC XÃ HỘI, NHÂN VĂN VÀ GIÁO DỤC TẬP 3, SỐ (2013) nhiều khó khăn cho người khác tham khảo chí thân người viết Các lỗi thường thể dạng sau: If d> then… { xét trường hợp denta dương có nghiệm } a Không phân biệt lệnh WRITE WRITELN thông báo kết Bàn luận Ví dụ: If d>0 then begin write(‘nghiem thu nhat:’,(-b+sqrt(d))/(2*a) ); write(‘nghiem thu hai:’,(-b-sqrt(d))/(2*a) ); end; Việc thực kết cho thực nghiệm nhiều lần kết thơng báo trước thể khơng rõ ràng, thiếu thẩm mỹ hình gây khó khăn việc kiểm tra b Khơng biết định dạng kết số thực dạng dấu phẩy động hay tĩnh tùy theo mục đích đề Ví dụ: a:=10/3; K:=length(st); { xác định chiều dài chuỗi st để định vị trí cuối st[k] chuỗi} Ngay người lập trình chuyên nghiệp việc xác định lỗi, hiệu chỉnh lỗi (gỡ rối), thực nghiệm chương trình cịn gặp nhiều khó khăn Đối với em học sinh phổ thơng việc mắc lỗi em điều bình thường, ln xảy đôi lúc đa dạng, điều cách tháo gỡ học sinh lúng túng, thiếu tự tin dễ chán học Bài viết dựa nhiều lần dự giờ, tham khảo, với việc thực đề tài giảng dạy tin học phổ thông rút số lỗi thông thường nhất, hay gặp mà học sinh thường mắc phải Tuy nhiên cần phải bàn kỹ lý học sinh hay mắc lỗi biện pháp khắc phục khả thi hơn, cụ thể để giúp học sinh viết khác Kết luận Write(a); Kết hình là: 3.3333333333E+00 Trong mong muốn em 3.33, phải trình bày write(a:8:2) để có dạng thể cần thiết c.Một điều quan trọng cần tập cho học sinh có thói quen sử dụng hợp lý dịng thích để làm sáng tỏ ý định giúp người khác hiểu chương trình kết chương trình Ví dụ: dem:=0; { gán biến đếm ban đầu 0} Với đặc thù mơn học mang tính thực nghiệm, việc xác định sai lầm thông thường học sinh giải tốn máy tính việc làm thường xuyên, cẩn thận chi tiết người thầy Ngoài việc dạy lý thuyết cách vững chắc, cần rèn luyện khả vận dụng, chuyển tải kiến thức vào tập đặc biệt tập có tính thực tế liên quan đến tốn học Qua đó, việc tìm tịi phát sai sót khắc phục phần giúp học sinh tự tin, mạnh dạn mang lại niềm say mê hứng thú học tập lập trình học sinh TÀI LIỆU THAM KHẢO [1] Lê Viết Chung (chủ biên), Nguyễn Lê Trí Tồn, Bài tập tin học 11, NXB Giáo dục Việt Nam (2010) [2] Lê Viết Chung, Những khó khăn giảng dạy chương trình SGK tin học lớp 11 trường phổ thông Đề tài cấp sở Trường ĐHSP – ĐHĐN (2008) [3] Hồ Sĩ Đàm (chủ biên), Hồ Cẩm Hà, Trần Đỗ Hùng, Nguyễn Đức Nghĩa, Nguyễn Thanh Tùng, Ngô Ánh Tuyết, Sách Tin học 11, NXB Giáo dục Việt Nam (2010) [4] Trần Thị Quyết, Nâng cao hiệu học lập trình thơng qua hệ thống hóa tập tin học lớp 11, Khóa luận tốt nghiệp, Khoa Tin học trường ĐHSP-ĐHĐN (2009) 88 ... bàn phím ( 10 trang 36, chương II sách tin học lớp 11) Đây tập lập trình thứ phần em tiếp xúc với lập trình chương trình học Khi viết đa số học sinh thường xác định input output vận tốc v, độ... gỡ học sinh lúng túng, thiếu tự tin dễ chán học Bài viết dựa nhiều lần dự giờ, tham khảo, với việc thực đề tài giảng dạy tin học phổ thông rút số lỗi thông thường nhất, hay gặp mà học sinh thường. .. insert(’em’,st,k); chương trình cho kết trọn vẹn xác 2.3 Một vấn đề đáng quan tâm học sinh lập trình giải tốn xem xét kết trình bày kết hình Vấn đề học sinh thường gặp phải lỗi như: khơng biết cách chạy thử chương

Ngày đăng: 02/12/2020, 11:25

Từ khóa liên quan

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

Tài liệu liên quan