Theo thói quen của nhiều em học sinh, học môn tin là học những thao tác sử dụng như cách sử dụng internet, sử dụng hệ điều hành window, chương trình soạn thảo văn bản Microsoft Word, chương trình soạn thảo trình diễn Microsoft PowerPoint … Đây là những phần học không cần đòi hỏi tư duy, mà chỉ cần học kĩ và nhớ thao tác, thực hành nhiều lần thì sẽ thành thạo. Nhưng khi học bộ môn lập trình Passal chương trình lớp 11 Trung học phổ thông thì hầu như các em bị “choáng” vì bộ môn rất “mới”, và cách học cũng “mới”. Học những thao tác và thực hành nhiều không còn tác dụng, học thuộc bài cũng không còn ổn nữa. Lúc này các em cần phải học cách tư duy logic, tìm thuật toán, và viết những dòng lệnh máy tính chính xác đến từng dấu chấm, dấu phẩy. Chính vì vậy mà học sinh dễ mắc sai lầm khi lập trình giải quyết các bài toán.
THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 MỤC LỤC MỤC LỤC .1 A PHẦN I: ĐẶT VẤN ĐỀ Lý chọn đề tài Mục đích nghiên cứu Đối tượng nghiên cứu 4 Phạm vi nghiên cứu .5 Phương pháp nghiên cứu 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 SÁNG KIẾN KINH NGHIỆM I Một số lỗi sai thường gặp học sinh lập trình Pascal biện pháp sửa lỗi… .8 1) Những lỗi sai thường gặp chương II: Chương trình đơn giản .8 a) Các lỗi thường gặp .8 b) Biện pháp sửa lỗi 2) Những lỗi sai thường gặp chương III: THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 Cấu trúc rẽ nhánh lặp 10 a) Các lỗi thường gặp 10 b) Biện pháp sửa lỗi 10 3) Những lỗi sai thường gặp chương IV: Kiểu liệu có cấu trúc 12 a) Các lỗi thường gặp 12 b) Biện pháp sửa lỗi 13 4) Những lỗi sai thường gặp chương V: Tệp thao tác với tệp 15 a) Các lỗi thường gặp 15 b) Biện pháp sửa lỗi 15 5) Những lỗi sai thường gặp chương VI: Chương trình lập trình có cấu trúc .17 a) Các lỗi thường gặp 17 b) Biện pháp sửa lỗi 17 II Một số giải pháp giúp học sinh học tốt lập trình Pascal… 19 1) Tạo tâm lí thoải mái cho học sinh .19 2) Tăng cường sử dụng phương tiện dạy học, thực hành 20 3) Sử dụng giảng điện tử, minh hoạ từ thực tế 21 4) Chú trọng dạy tư thuật toán cho học sinh 23 5) Tích cực hố hoạt động nhóm 26 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 6) Hình thành kỹ lập trình 27 III Kết đạt .28 C PHẦN III: PHẦN KẾT THÚC 32 TÀI LIỆU THAM KHẢO 33 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 A PHẦN I: ĐẶT VẤN ĐỀ 1) Lý chọn đề tài : Trong thời đại Công nghệ thông tin bùng nổ ngày nay, 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 Tin học, 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 Theo thói quen nhiều em học sinh, học môn tin học thao tác sử dụng cách sử dụng internet, sử dụng hệ điều hành window, chương trình soạn thảo văn Microsoft Word, chương trình soạn thảo trình diễn Microsoft PowerPoint … Đây phần học khơng cần địi hỏi tư duy, mà cần học kĩ nhớ thao tác, thực hành nhiều lần thành thạo Nhưng học mơn lập trình Passal chương trình lớp 11 Trung học phổ thơng em bị “chống” mơn “mới”, cách học “mới” Học thao tác thực hành nhiều khơng cịn tác dụng, học thuộc khơng ổn Lúc em cần phải học cách tư logic, tìm thuật tốn, viết dịng lệnh máy tính xác đến dấu chấm, dấu phẩy Chính mà học sinh dễ mắc sai lầm lập trình giải tốn Nguyên 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: THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 - 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 tốn toán học với thuật toán 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… Từ giúp em có thêm định hướng, niềm đam mê tin học, nghề nghiệp mà em lựa chọn sau Xuất phát từ sở trên, chọn đề tài “Một số giải pháp giúp học sinh học tốt lập trình Pascal mơn Tin học 11” 2) Mục đích nghiên cứu: Khi lập trình giải toá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 ngun nhân xuất lỗi Vì nội dung đề tài nêu số lỗi sai phổ biến em thường mắc phải biện pháp 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 số giải pháp 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 3) Đối tượng nghiên cứu: - Học sinh lớp 11 trường THPT Cao Bá Quát năm học 2017 - 2018 - Sử dụng số ví dụ học THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 4) Phạm vi nghiên cứu: 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, phong phú Tuy nhiên phạm vi sáng kiến kinh nghiệm tơi trình bày số giải pháp, kinh nghiệm cá nhân qua nội dung cụ thể sau: - Một số lỗi sai thường gặp học sinh học lập trình Pascal biện pháp sửa lỗi - Một số giải pháp dạy lập trình Pascal môn Tin học 11 5) Phương pháp nghiên cứu: - Kết hợp thực tiễn giáo dục trường THPT Cao Bá Quát - Đọc kỹ sách giáo khoa, sách giáo viên Tin học 11, tài liệu sáng kiến kinh nghiệm số tài liệu tham khảo khác - Tích lũy kiến thức từ nhiều năm giảng dạy - Điều tra thực tế, đánh giá kết học sinh trước sau thực đề tài, phân tích tìm ngun nhân từ đưa giải pháp THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 B PHẦN II: NỘI DUNG CHƯƠNG I TỔNG QUAN Cơ sở lí luận: Pascal ngơn ngữ lập trình cấp cao Niklaus Wirth, giáo sư điện toán trường đại học Kỹ thuật Zurich (Thụy sĩ) thiết kế công bố vào năm 1971 đặt tên Pascal để tưởng niệm nhà Toán học Triết học tiếng Blaise Pascal Đây ngơn ngữ lập trình có cấu trúc đơn giản, rõ ràng, cấu trúc chặt chẽ, dễ viết, dễ hiểu dễ sửa chữa, cải tiến Do Pascal nhiều quốc gia có Việt Nam đưa vào chương trình giảng dạy tin học trường phổ thông đại học môn học sở, đại cương Ở trường phổ thông không trọng học chun sâu ngơn ngữ lập trình để tạo phần mềm máy tính mà tập trung rèn luyện kĩ tư logic, tư hệ thống sáng tạo không để giải vấn đề tin học mà kĩ vô quan trọng để giải nhiều vấn đề sống Học Pascal giúp cho ta hiểu cách làm việc máy tính, cách giao tiếp để lệnh cho máy tính làm việc theo điều khiển người thông qua ngôn ngữ lập trình Các em tạo chương trình thú vị cách sử dụng câu lệnh Pascal Cũng giống môn học khác tốn học, vật lý, hóa học … em thực hiểu u thích mơn tin học em tìm thấy nhiều niềm vui, đam mê tìm hiểu khám phá điều mẻ đầy hấp dẫn môn tưởng chừng khô khan THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 Cơ sở thực tiễn: Qua thời gian giảng dạy trường, nhận thấy học Pascal học sinh thường khơng thích thú với mơn học nhiều lý khó hiểu, tiếp thu chậm, địi hỏi tư nhiều, … nên việc viết chương trình chạy máy tính em khó khăn Do để học tốt địi hỏi học sinh phải có hứng thú Cốt lõi việc đổi phương pháp dạy học giúp học sinh yêu thích, hứng thú với môn học, 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 Để tạo cho em niềm hứng khởi với môn học đưa số giải pháp giúp học sinh học tốt lập trình pascal_mơn Tin học 11 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 CHƯƠNG II NỘI DUNG SÁNG KIẾN KINH NGHIỆM I Một số lỗi sai thường gặp học sinh lập trình biện pháp sửa lỗi 1) Những lỗi sai thường gặp chương II: “ Chương trình đơn giản” a) Các lỗi thường gặp: Lỗi đặt tên hằng, tên biến trùng Ví dụ: Var a, A: byte; (Pascal không phân biệt chữ hoa chữ thường Do a A một) Lỗi đặt tên hằng, tên biến, tên chương trình, khơng qui định ngơn ngữ lập trình Ngăn cách biến phải dấu phẩy em thường dùng dấu chấm phẩy Khi kết thúc câu lệnh khơng có dấu chấm phẩy Khi viết từ khóa thường viết sai lỗi tả Ví dụ: Const viết Cont, end viết and, real viết read,… Viết sai câu lệnh gán Ví dụ : x:= 0; viết là: x = 0; Khi viết xâu thường quên không đặt xâu vào cặp dấu nháy đơn Khi viết thơng báo ngồi hình biểu thức lại đặt cặp dấu nháy đơn với xâu kí tự Khai báo biến thuộc kiểu liệu phần thân chương trình lại dùng biến với kiểu liệu khác dẫn đến sai kiểu Ví dụ: Khai báo biến a thuộc kiểu ngun, phần thân chương trình lại có câu lệnh a := a/2 ; (biểu thức a/2 số thực, biến a thuộc kiểu nguyên nên lưu trữ giá trị thực) b) Biện pháp sửa lỗi Tiết 7: Các thủ tục chuẩn vào/ đơn giản Ví dụ: Hãy viết chương trình đưa hình dịng thơng báo: ‘Xin chao cac ban hoc sinh lop 11A1 truong THPT Cao Ba Quat’ Các bước thực sau: - Bước 1: Giáo viên chiếu chương trình viết sẵn cho học sinh quan sát THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 Program Viet thong bao; Begin; Writeln(‘Xin chao cac ban hoc sinh lop 11A1 truong THPT Cao Ba Quat) Realn; End - Bước Chia lớp thành nhóm u cầu nhóm tìm lỗi sai có trình - Bước Đại diện nhóm lên bảng trình bày kết - Bước Giáo viên thực biên dịch chương trình để học sinh thấy lỗi sai phân tích để học sinh hiểu nguyên nhân sai Các lỗi sai chương trình là: + Từ khóa Progam sai, là: Program (mã lỗi: 36) + Tên chương trình Viet thong bao sai, khơng theo quy tắc đặt tên NNLT Pascal (tên không chứa dấu cách) (mã lỗi: 85) + Câu lệnh Begin ; sai sau từ khóa Begin khơng có dấu ; (mã lỗi: 85) + Câu lệnh Writeln(‘Xin chao cac ban hoc sinh lop 11A1 truong THPT Cao Ba Quat) có lỗi sai, thiếu dấu đóng nháy xâu kí tự (mã lỗi:8) kết thúc câu lệnh khơng có dấu ; (mã lỗi: 85) + Thủ tục Realn sai, phải Readln (mã lỗi: 3) - Bước Chạy thử chương trình cho học sinh quan sát - Bước Giáo viên đánh giá kết cho điểm nhóm Qua ví dụ học sinh thấy có lỗi sai có mã lỗi 85, nhiên lỗi lại sai tình khác Do học sinh thụ động tra cứu bảng thông báo lỗi SGK khó tự sửa lỗi Cũng qua ví dụ học sinh phân tích ngun nhân có lỗi sai cách sửa lỗi Do sau học sinh khơng cịn mắc phải lỗi nêu 2) Những lỗi sai thường gặp chương III: 10 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 em không ngừng cố gắng, tạo điều kiện để học sinh lớp có hội phát biểu học 2) Tăng cường sử dụng phương tiện dạy học, thực hành Có thể nói phương tiện dạy học góp phần quan trọng định đến hiệu tiết học Nếu khơng có phương tiện dạy học giáo viên phải làm việc nhiều kiến thức học sinh thu lại Đặc biệt mơn Tin học, khơng có phương tiện dạy học tiết học lại nhàm chán Nếu 7_ Các thủ tục chuẩn vào đơn giản, giáo viên dạy theo phương pháp thơng thường học sinh không nhớ không hiểu việc nhập liệu từ bàn phím đưa liệu Nhưng giáo viên sử dụng chương trình Pascal đơn giản minh hoạ cho học sinh học sinh hiểu nhớ lâu Đối với 8_giáo viên kết hợp máy tính máy chiếu để hướng dẫn học sinh bước để soạn thảo, dịch, thực hiệu chỉnh chương trình giúp học sinh nắm vững Có thể nói thực hành quan trọng với mơn Tin học Nếu giáo viên dạy lí thuyết mà khơng trọng đến thực hành khơng khắc sâu kiến thức cho học sinh đồng thời học sinh khơng biết lỗi mà mắc trình viết chương trình Đối với học sinh hầu hết tiếp xúc với máy tính nên em háo hức chờ tiết thực hành, nên giáo viên thường xuyên cho em thực hành dạy thực hành học sinh hào hứng học Để thực hành đạt hiệu cần có chuẩn bị thật tốt: 20 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 Đối với giáo viên: Cần chuẩn bị thật kĩ tiến trình thực hành, lựa chọn nội dung phù hợp với lớp Giáo viên lựa chọn chương trình đơn giản viết lớp làm nội dung buổi thực hành sau thực hành thêm nội dung sách giáo khoa có lớp kiến thức em kém, em không nắm bắt hết nội dung sách giáo khoa tiết Đối với học sinh: Cần tìm hiểu trước nội dung buổi thực hành phải mang đầy đủ sách cần thiết tránh tượng không nắm trước nội dung không chủ động trình thực hành Trong buổi thực hành giáo viên hướng dẫn trước số công việc máy chiếu phòng thực hành để học sinh quan sát sau để em tự thực hành Giáo viên cần phải thường xun quan sát phịng máy nhiều em tranh thủ chơi điện tử thực hành không nội dung mà giáo viên yêu cầu 3) Sử dụng giảng điện tử, minh hoạ từ thực tế Với phát triển khoa học kĩ thuật bùng nổ công nghệ thông tin làm cho tất lĩnh vực ảnh hưởng có giáo dục Nếu trước hoạt động dạy học chủ yếu theo phương pháp truyền thống kiến thức học sinh thu nhận chủ yếu từ giáo viên thơng qua phương tiện truyền tải sách giáo khoa học, học sinh nhàm chán với riêng sách giáo khoa mà nhiều phương tiện truyền thơng tin hay hấp dẫn có giảng điện tử giáo viên Trong tiết học giáo viên sử dụng hợp lí giảng điện tử đạt hiệu cao Giáo viên khơng phải làm việc nhiều lại kích thích hứng thú tiếp thu giảng học sinh 21 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 Trong chương trình Tin học 11 sử dụng nhiều thuật toán lớp 10, nhiên học từ đầu năm lớp 10 nên học sinh khơng nắm Chính việc ôn tập củng cố thuật toán quan trọng học sinh Nếu ơn tập theo phương pháp truyền thống không đạt kết mong muốn Hiện mạng Internet có nhiều tài liệu liên quan đến vấn đề minh hoạ thuật toán sinh động hấp dẫn giáo viên tích hợp giảng điện tử việc ơn tập lại kiến thức cho học sinh khơng có q khó khăn Một vấn đề quan trọng để tạo thuật tốn ý tưởng Nếu khơng có ý tưởng nhìn nhận vấn đề đắn khơng thể tạo thuật tốn xác Một phương pháp để truyền đạt lại ý tưởng thuật toán cho học sinh liên hệ gần gũi từ thực tế giúp học sinh hiểu tốt vấn đề nhớ lâu Ví dụ 1: Hốn đổi giá trị biến x, y cho Ban đầu học sinh chưa hiểu rõ công việc Nhưng giáo viên đưa ý tưởng: Hãy hình dung có cốc cốc đựng nước cốc đựng rượu để cốc đựng nước ban đầu đựng rượu cốc đựng rượu đựng nước Học sinh nghỉ muốn làm công việc sử dụng thêm cốc thứ đóng vai trị biến trung gian T đoạn chương trình sau: T:= x; x:= y; y:= T ; Ví dụ: Tìm số lớn số a, b, c 22 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 Học sinh khó khăn việc đưa ý tưởng cho thuật toán Bây đặt vấn đề cho học sinh: Chúng ta đưa cách tìm bạn cao bàn ngồi học có người Có thể học sinh đưa nhiều cách có cách so sánh bạn, ban đầu tìm người cao hơn, sau so sánh người cao với người thứ 3, tìm người cao , ý tưởng thuật tốn học sinh nhanh chóng hiểu vấn đề nhớ kĩ Var a,b,c, max : real: Begin If a>b then max := a Else max:= b; If max< c then max := c; Write(‘so lon nhat la:’,max); End Việc giáo viên sử dụng liên hệ gần gũi từ thực tế giúp cho trình dạy học diễn cách sơi hấp dẫn giúp học sinh chủ động nắm vững kiến thức 4) Chú trọng đến dạy tư thuật tốn cho học sinh Có thể nói mục tiêu môn Tin học dạy ngôn ngữ lập trình cụ thể Ngơn ngữ lập trình pascal sử dụng công cụ để chuyển tải kiến thức văn hóa phổ thơng lập trình, ngơn ngữ lập trình bậc cao để rèn luyện kĩ lập trình Trong phạm vi văn hóa tin học phổ thơng, lập trình để giải tốn máy tính hiểu theo nghĩa chuyển đổi thuật tốn có sang chương trình viết ngơn ngữ lập trình bậc cao 23 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 Do lớp 10 có sẵn số thuật tốn trình kĩ, nên lớp 11 coi trọng việc cài đặt chương trình cho hầu hết thuật tốn Cần đảm bảo tính kê thừa, liên thơng mơn Tin học lớp 10 11 Tạo điều kiện cho học sinh ôn lại, ghi nhớ lâu dài số thuật toán bản, đặc trưng Tin học xếp tìm kiếm Ngơn ngữ lập trình Pascal ngơn ngữ để chuyển tải thuật tốn nên giáo viên không nên sâu vào ngôn ngữ mà chủ yếu truyền đạt thuật toán cho học sinh Đối với tập giáo viên cần phải yêu cầu học sinh đưa ý tưởng sau đến thuật tốn, nên khuyến khích học sinh đưa nhiều ý tưởng thuật toán khác Sau phân tích để tìm thuật tốn tối ưu Ví dụ Sách giáo khoa Tin học 11 có tập 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 Đối với toán có nhiều thuật tốn tương ứng với nhiều chương trình khác Chương trình 1: Var cho, ga : byte; Begin For Cho:= to 36 For Ga := to 36 24 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 If cho*4 + ga*2 =100 then Begin write(‘cho=’, cho:3); write(‘Ga=’, Ga:3); end; End Chương trình 2: Var cho: byte; Begin For Cho:= to 36 If cho*4 + (36 – cho) *2 =100 then writeln(‘cho=’ ,cho: 4,’ga=’,36-cho); End Chuong trình 3: Var cho: byte; Begin For cho: =1 to 24 If cho*4 + (36-cho)*2= 100 then write(‘cho=’ ,cho: 4, ‘ga=’,36-cho); End Giáo viên yêu cầu học sinh phân tích xem thuật tốn tối ưu Trong q trình phân tích lơi học sinh vào tiết học cách sôi hào hứng Khi tìm ý tưởng, thuật tốn cho tốn học sinh khơng ơn tập rèn luyện kiến thức môn Tin học mà cịn vận dụng tổng hợp kiến thức mơn Tốn nhiều mơn học 25 THPT Cao Bá Quát Sáng kiến kinh nghiệm 2019 khác thực tế sống ngày Tại mà biến (cho then begin tuso := tuso div a ; mauso := mauso div a ; end ; writeln(tuso :5, mauso :5) ; readln;... với lập trình Pascal Tơi tin với giải pháp khắc phục tình trạng học sinh thờ với môn học đại Trên số kinh nghiệm nhỏ số giải pháp giúp học sinh học tốt lập trình Pascal mơn Tin học 11 mà áp dụng... nhiều em học sinh, học môn tin học thao tác sử dụng cách sử dụng internet, sử dụng hệ điều hành window, chương trình so? ??n thảo văn Microsoft Word, chương trình so? ??n thảo trình diễn Microsoft PowerPoint