MỘT SỐ ĐIỂM CẦN LƯU Ý KHI DẠY LẬP TRÌNH PASCAL MỤC LỤC A PHẦN I ĐẶT VẤN ĐỀ 1 Lý do chọn đề tài 3 2 Mục đích nghiên cứu 4 3 Phạm vi đề tài 4 4 Đối tượng, kế hoạch và phạm vi nghiên cứu 4 B PHẦN II NỘI[.]
MỤC LỤC A PHẦN I: ĐẶT VẤN ĐỀ Lý chọn đề tài Mục đích nghiên cứu Phạm vi đề tài .4 Đối tượng, kế hoạch phạm vi nghiên cứu .4 B PHẦN II: NỘI DUNG CHƯƠNG I : TỔNG QUAN Cơ sở lý luận Cơ sở thực tiễn ., CHƯƠNG II : NỘI DUNG VẤN ĐỀ NGHIÊN CỨU I Một số lỗi sai thường gặp học sinh lập trình Pascal … 1) Khai báo sai miền số cho liệu kiểu mảng 2) Giá trị biến điều khiển vượt miền số mảng 3) Dùng tên biến điều khiển cho vòng lặp For lồng 4) Sử dụng dấu chấm phẩy sai vị trí 5) Không phân biệt xâu biến 6) Tràn số kết tính tốn vượt q giới hạn 7) Sử dụng tên hàm làm biến cục …………………………………… 8) Chưa hiểu thứ tự ưu tiên phép tốn ………………………………… 10 9) Khơng hiểu nguyên tắc làm tròn số số thực … ………… 10 II Một số kinh nghiệm dạy lập trình Pascal 10 1) Có nhiều dạng tập 10 2) Trình bày thuật tốn, u cầu học sinh viết chương trình theo thuật tốn 15 skkn 3) Giải toán trường hợp riêng, yêu cầu học sinh phát thiếu sót để từ hồn thiện chương trình 17 4) Phân chia toán thành nhiều toán nhỏ 18 5) Sửa lỗi chương trình ……………………………………………… 19 III Một số tập tham khảo …………………….………………… 19 CHƯƠNG III: PHƯƠNG PHÁP VÀ KẾT QUẢ NGHIÊN CỨU 24 1) Phương pháp nghiên cứu 24 2) Kết nghiên cứu 24 C PHẦN III: PHẦN KẾT THÚC skkn A PHẦN I: ĐẶT VẤN ĐỀ 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 hoà 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 - Tin học mơn học trường phổ thông nên học sinh cịn nhiều bỡ ngỡ tiếp cận với mơn học Nội dung tin học lập trình 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ố nguyên 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ứ điều 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 ích lợi 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, nghề nghiệp mà em chọn sau skkn - Xuất phát từ sở trên, chọn đề tài “Một số lưu ý dạy lập trình Pascal cho học sinh lớp 11” 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 - Tuy vậy, đố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 Turbo Pascal Do đề tài tơi trình bày thêm số lưu ý kinh nghiệm dạy lập trình Pascal đề giúp học sinh hiểu cách nhanh chóng, nắm kiến thức kĩ lập trình Pascal số ví dụ mở rộng, nâng cao với đối tượng học sinh 3) Phạm vi đề tài: Các ý dạy ngơn ngữ lập trình nói chung, ngơn ngữ lập trình Turbo Pascal nói riêng nhiều, rât phong phú Tuy nhiên phạm vi sáng kiến kinh nghiệm tơi trình bày số lưu ý, kinh nghiệm cá nhân qua nội dung cụ thể sau: - Một số lỗi sai phổ biến học sinh học lập trình Pascal - Một số kinh nghiệm dạy lập trình nói chung Turbo Pascal nói riêng - Một số tập làm thêm với đối tượng học sinh khá, giỏi 4) Đối tượng, kế hoạch phạm vi nghiên cứu: - Đối tượng nghiên cứu: học sinh lớp 11 THPT Chuyên Tiền Giang năm học 2012-2013 - Kế hoạch nghiên cứu: trực tiếp qua dạy - Phạm vi nghiên cứu: tồn chương trình tin học lớp 11 skkn B PHẦN II: NỘI DUNG CHƯƠNG I TỔNG QUAN 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 - Chỉ thị số 55/2008/CT- BGTĐT ngày 30/9/2008 Bộ trưởng Bộ GDĐT tăng cường giảng dạy, đào tạo ứng dụng công nghệ thông tin ngành giáo dục giai đoạn 2008-2011 - 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 cịn 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ể Cơ sở thực tiễn: - Qua thực tế giảng dạy trường Chuyên Tiền Giang năm qua, 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ó skkn - 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 - Tuy nhiên có 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 ngồi phạm vi sách giáo khoa skkn CHƯƠNG II NỘI DUNG VẤN ĐỀ NGHIÊN CỨU I Một số lỗi sai thường gặp học sinh lập trình Pascal: 1) Khai báo sai miền số cho liệu kiểu mảng Ví dụ 1: 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; 2) Giá trị biến điều khiển vượt miền số mảng Ví dụ 2: 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 tốn sau: Var a: array[1 7] of integer; i,d:integer;kt:boolean; Begin Write(‘nhap day so:’); For i:=1 to Begin Write(‘a[’ ,i, ‘]’); Readln(a[i]); End; d:=a[2]-a[1];kt:=true;i:=1; while (kt) and (i=,>,