Caách tìm ra lỗi chương trình trong free pascal
Sáng kiến kinh nghiệm trong dạy học tin học 11 Giáo viên: Ngô Xuân Lan – Tổ: Toán Tin - Trường THPT Phan Thúc Trực Trang 1 Sáng kiến kinh nghiệm trong dạy học tin học 11 Giáo viên: Ngô Xuân Lan – Tổ: Toán Tin - Trường THPT Phan Thúc Trực Trang 2 Sáng kiến kinh nghiệm trong dạy học tin học 11 Sáng kiến kinh nghiệm trong dạy học tin học 11 Sáng kiến kinh nghiệm trong dạy học tin học 11 Từ khoá Progam sai đúng là: Program(mã lỗi: 36). Tên chương trình vi du1 là sai vì tên chương trình được đặt theo Sau Uses crt phải có dấu ;(mã lỗi 85). Sau từ khóa Begin không có dấu “;”(mã lỗi: 85). Thủ tục Realn sai, phải là Readln(mã lỗi: 3). End; sai phải là End.(End. là từ khóa để kết thúc chương trình) Qua ví dụ
trên học sinh sẻ không mắc vào các lỗi cơ bản đã nêu và biết cách sửa Giáo viên: Ngô Xuân Lan – Tổ: Toán Tin - Trường THPT Phan Thúc Trực Trang 5 Sáng kiến kinh nghiệm trong dạy học tin học 11 Sáng kiến kinh nghiệm trong dạy học tin học 11 dela )/2a; )/2a; Writeln(‘phương trinh co 2 nghiem,’x1,x2); Sáng kiến kinh nghiệm trong dạy học tin học 11 dela )/2a; sai phải sửa lại là x1:= (-b+sqrt(delta))/2*a; )/2a; sai phải sửa lại là x1:= (-b-sqrt(delta))/2*a; Các kết quả được viết cách nhau bàng dấu “,”(mã lỗi :26). dela )/2a; )/2a; Writeln(‘phương trinh co 2 nghiem,’x1,x2); dela )/2a; )/2a; Writeln(‘phương trinh co 2 nghiem,’x1,x2); Sáng kiến kinh nghiệm trong dạy học tin học 11 Giáo viên: Ngô Xuân Lan – Tổ: Toán Tin - Trường THPT Phan Thúc Trực Trang 9 Sáng kiến kinh nghiệm trong dạy học tin học 11 Sáng kiến kinh nghiệm trong dạy học tin học 11 Min:=A[i]; Csmin:=I; End; Writeln(‘ gia tri nho nhat la:’,min:3,’Tai vi tri:’,csmin:2); Readln End. - Đối với bài toán này học sinh dễ dàng phát hiện ra các lỗi sau: Khai báo hằng sai: const nmax:=50; phải sửa lại là const nmax=50; Khai báo mảng sai từ khóa khai báo mảng là Array chứ không phải là Aray. Câu lệnh Write(‘nhap A[‘I’]:’); không xuất hiện đúng theo ý tưởng của người viết phải sửa lại là Write(‘nhap A[‘,I,’]:’); Chương trình được sửa lại là: Program Vidu3; Uses crt; Giáo viên: Ngô Xuân Lan – Tổ: Toán Tin - Trường THPT Phan Thúc Trực Trang 11 Sáng kiến kinh nghiệm trong dạy học tin học 11 Min:=A[i]; Csmin:=i; End; Writeln(‘ gia tri nho nhat la:’,min:3,’Tai vi tri:’,csmin:2); Readln End. … Với phương pháp dạy giáo viên vừa kết hợp bài giảng vừa kết hợp cả thao tác kiểm tra lỗi và học sinh tự nhận biết lỗi khi viết chương trình. Sau mỗi tiết học học sinh sẻ biết được những lỗi mà mình mắc phải khi viết chương trình để rút kinh nghiệm cho lần sau. - Nếu dạy trên phòng máy: Sau khi gõ chương trình xong học sinh thực hiện chương trình. Căn cứ vào mã lỗi được thông báo để sữa lỗi. Các lỗi thường gặp là: Giáo viên: Ngô Xuân Lan – Tổ: Toán Tin - Trường THPT Phan Thúc Trực Trang 12 Sáng kiến kinh nghiệm trong dạy học tin học 11 SN.OUT 10 3 7 5 11 13 7 3 9 6 5 14 16 15 11 13 Sáng kiến kinh nghiệm trong dạy học tin học 11 Sáng kiến kinh nghiệm trong dạy học tin học 11 Sáng kiến kinh nghiệm trong dạy học
tin học 11 Sáng kiến kinh nghiệm trong dạy học tin học 11 Kiểu Tên kiẻu Phạm vi giá trị Bộ nhớ 1 Kiểu thực Real 2.9*10-39.. 1.7*1038 6 Byte Giáo viên: Ngô Xuân Lan – Tổ: Toán Tin - Trường THPT Phan Thúc Trực Trang 17 Sáng kiến kinh nghiệm trong dạy học tin học 11 2 Kiểu nguyên Extended 1.9*10-4951.. 1.1*104932 10 Byte Byte 0..255 1 Byte Word 0..65535 2 Byte Integer -32768 .. 32767 2 Byte Logint -2147483648.. 2147483647 4 Byte 3 Kiểu ký tự Char 255ký tự trong bảng mã ASCII 1 Byte 4 Kiểu Logic Boolean True hoặc False 1 Byte + Học sinh không biết sử dụng câu lệnh ghép. Nếu số lệnh lớn hơn hoặc Sáng kiến kinh nghiệm trong dạy học tin học 11 Procedure Delta(Var x: integer ; y: real); Function Beta( a, b: real): real; Danh sách tham số là x, y, a, b. Với x có kiểu dữ liệu Integer y, a, b, có kiểu số clrscr; End. Giáo viên: Ngô Xuân Lan – Tổ: Toán Tin - Trường THPT Phan Thúc Trực Trang 19 Sáng kiến kinh nghiệm trong dạy học tin học 11 {chuong trinh chinh} Readln; 0 0 0 0 0 0 1 0 1 1 0 1 0 0 Bước vào thân chương trình chính
ban đầu x và y đều có giá trị là 0 (do các |