Sáng kiến kinh nghiệm môn tin học lớp 8CÁC BƯỚC GIÚP HỌC SINH GIẢI BÀI TOÁN PASCAL HIỆU QUẢ TRONG MÔN TIN HỌC 8A. PHẦN MỞ ĐẦUI. LÍ DO CHỌN ĐỀ TÀI3II. MỤC ĐÍCH, NHIỆM VỤ NGHIÊN CỨU3III. ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU41. Đối tượng:42. Phạm vi nghiên cứu:4IV. PHƯƠNG PHÁP NGHIÊN CỨU41. Phương pháp quan sát42. Phương pháp nghiên cứu thực tiễn43. Phương pháp nghiên cứu tài liệu4V. TÍNH MỚI CỦA ĐỀ TÀI4B. NỘI DUNGI. CƠ SỞ LÍ LUẬN5II. CƠ SỞ THỰC TIỄN6III. GIẢI PHÁP THỰC HIỆN61. Xác định bài toán72. Xây dựng sơ đồ khối73. Tìm thuật toán94.Viết chương trình104.1. Viết chương trình dựa vào sơ đồ khối104.2. Viết chương trình dựa vào thuật toán115. Chạy chương trình và kiểm tra lỗi11IV. KẾT QUẢ ĐẠT ĐƯỢC12C. KẾT LUẬN ĐỀ XUẤTI. KẾT LUẬN13II. ĐỀ XUẤT13TÀI LIỆU THAM KHẢO15
3 CÁC BƯỚC GIÚP HỌC SINH GIẢI BÀI TOÁN PASCAL HIỆU QUẢ TRONG MÔN TIN HỌC TRƯỜNG THCS HƯNG PHÚ A PHẦN MỞ ĐẦU I LÍ DO CHỌN ĐỀ TÀI Hiện nước ta nước giới cạnh tranh nghành công nghệ chế tạo máy sản phẩm phần mềm giúp ích cho người lĩnh vực Vậy làm để làm điều : nhờ vào ngành công nghệ thông tin Ngày xa xưa người đọc, viết nỗi khổ vô cùng, ngày người sử dụng máy vi tính coi đọc, viết Vậy biết sử dụng máy vi tính làm hay ngồi chơi điện tử, trò giải trí, soạn thảo văn mà Là giáo viên Tin học mục tiêu đưa tin học vào trường học nhằm giúp học sinh soạn thảo mà phải có khả phân tích, tổng hợp, trừu tượng hoá, khái quát hoá vấn đề đặc biệt phát triển tư duy, sáng tạo Những năm qua môn Tin học THCS chưa có sách giáo khoa cụ thể hướng dẫn cho học sinh cách phân tích lập trình Vì học sinh chưa có tính độc lập sáng tạo mà phải nhờ vào giáo viên nhiều Những năm có sách giáo khoa hướng dẫn cho học sinh cụ thể qui trình lập trình nào.Vì mà hướng cho học sinh lớp cách để trở thành nhà lập trình cần phải nắm bước nào? 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ó 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 Tuy nhiên thứ có điểm khởi đầu nó, với học sinh việc học 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 Đồng thời Pascal ngôn ngữ có cấu trúc thể yếu tố: Cấu trúc mặt liệu, cấu trúc mặt câu lệnh, cấu trúc mặt chương trình Xuất phát từ sở trên, chọn đề tài “Các bước giúp học sinh giải toán pascal hiệu môn Tin học trường THCS Hưng Phú”, giúp em nắm cấu trúc chương trình ngôn ngữ lập trình II MỤC ĐÍCH, NHIỆM VỤ NGHIÊN CỨU Mục đích: Sử dụng ví dụ cụ thể để học sinh nắm bước giải toán Và thông qua ví dụ hướng dẫn học sinh chuyển đổi qua lại cách giải toán giấy máy vi tính Nhiệm vụ: Đưa vấn đề: Lập trình đơn giản phần I SGK tin học 8, để học sinh thảo luận qua nắm vững cấu trúc chung chương trình Và hình thành học sinh kỹ phân tích, xử lý vấn đề liên quan đến toán trình lập trình chương trình đơn giản sau III ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU Đối tượng: Học sinh khối Trường THCS Hưng Phú năm học 2015 - 2016 Phạm vi nghiên cứu: Các bước giúp học sinh giải toán Pascal hiệu môn Tin học trường THCS Hưng Phú IV PHƯƠNG PHÁP NGHIÊN CỨU Khi nghiên cứu đề tài sử dụng phương pháp sau: Phương pháp quan sát Quan sát khả tiếp thu kiến thức học sinh Phương pháp nghiên cứu thực tiễn Điều tra trực quan, thống kê, mô tả Phương pháp nghiên cứu tổng hợp tài liệu Thu thập tìm hiểu tài liệu có liên quan tổng hợp lại bước để giải toán V TÍNH MỚI CỦA ĐỀ TÀI Đề tài tổng hợp lại bước giải toán theo trình tự hoàn chỉnh giúp học sinh dễ dàng xác định toán tìm giải pháp viết chương trình phù hợp 6 B NỘI DUNG I CƠ SỞ LÍ LUẬN Khi học sinh bước vào chương trình lớp (Phần I lập trình đơn giản) Học sinh gặp nhiều khó khăn bở ngỡ việc hiểu giải toán máy vi tính II CƠ SỞ THỰC TIỄN Trong trình dạy nhận thấy em học sinh Mới đầu em sợ thấy giải toán đơn giản vòng vài giây nhẩm kết Còn lập trình toán mà phải làm đến hàng chục phút mà lại cho kết sai Song tâm huyết yêu thích học sinh Điều thúc đẩy nhiều việc dạy học đưa cho em đam mê phát triển tài học sinh việc đào tạo nhân tài cho đất nước Ngôn ngữ lập trình PASCAL phần mềm có cấu trúc nhiều độc giả quan tâm có nhiều sách nhiều tác giả viết Song với thân lựa chọn viết đề tài muốn đưa “các bước giúp học sinh giải toán pascal hiệu môn Tin học III GIẢI PHÁP THỰC HIỆN Phương pháp giải toán tin học không dùng để giải toán cụ thể mà giải nhiều toán cụ thể thuộc loại Bài toán cấu tạo từ hai yếu tố bản: Thông tin vào (Input) thông tin (Output) Phương pháp tổng quát để giải toán máy vi tính dựa ngôn ngữ pascal cần bước : - Xác định toán - Xây dựng sơ đồ khối - Tìm thuật toán - Viết chương trình - Chạy chương trình kiểm tra lỗi Xác định toán Trong trình học học sinh lớp chương trình học toán lớp đến giải phương trình bậc cao Nên việc đưa lớp toán vào giải cho em phần bị hạn chế Nhưng toán đọc để xác định từ giã thiết đến kết luận AB Trong đó: - A giả thiết : điều kiện ban đầu cho bắt đầu giải toán - B kết luận: Mục tiêu cần đạt hay phải tìm, phải làm kết thúc toán Bài toán Pascal mang đầy đủ tính chất toán tổng quát trên, lại diễn đạt theo cách khác A: đưa thông tin vào (Input ) B: đưa thông tin ra( Output) Một số ví dụ Ví dụ 1: Tính diện tích hình chữ nhật Ta cần xác định cho toán: - Thông tin vào: Chiều dài cạnh a, chiều rộng cạnh b - Thông tin ra: Kết diện tích đưa a,b vào - Các thông tin cần chế biến như: Lần lượt đưa a,b vào ( cho a=3,b=4) Áp dụng công thức tính diện tích hình chữ nhật: a*b Kết in 12 Ví dụ 2: Viết chương trình so sánh hai số nguyên a b (a#b) -Thông tin vào: hai số a, b - Thông tin ra: a lớn b hay b lớn a Xây dựng sơ đồ khối Xây dựng sơ đồ khối dùng hình để thể thao tác, ghi thao tác vào hình dùng mũi tên để hướng thực thao tác tiếp theo, tạo thành sơ đồ biểu diễn thuật toán, thường dùng hình sau: Trong chương trình Pascal lớp 8, em học cấu trúc rẽ nhánh, vòng lặp For do, While Với cấu trúc ta có sơ đồ khối tương ứng sau: Câu lệnh điều kiện dạng thiếu (1) dạng đủ (2): Câu lệnh lặp với số lần biết trước For To Do (1) lặp với số lần chưa biết trước While Do (2): Ví dụ: Lập sơ đồ khối cho chương trình so sánh hai số nguyên a b (a#b) Ta lập sơ đồ khối sau: Begin Nhập a, b Đúng Sai Nếu a> b Số a lớn số b Số b lớn số a End Tìm thuật toán Thuật toán trình gồm dãy hữu hạn thao tác đơn giản xếp theo trình tự xác định cho theo từ Input toán tìm Output toán Một toán ta có cách thể thuật toán: Các bước xác định lời, ngôn ngữ trình Ví dụ: Viết thuật toán cho chương trình so sánh hai số nguyên a b (a#b) Cách 1: xác định toán lời: - Bước 1: Nhập số nguyên dương a,b 10 - Bước 2: So sánh giá trị a b Nếu a lớn b chuyển sang bước 3, ngược lại chuyển sang bước - Bước 3: in số a lớn số b, chuyển đến bước - Bước 4: In số b lớn số a - Bước 5: kết thúc Cách 2: Dùng ngôn ngữ mô Bắt đầu Nhập a, b if a > b then in a lớn b else in b lớn a; Kết thúc 4.Viết chương trình Lập trình dùng ngôn ngữ máy vi tính cụ thể (ngôn ngữ Pascal) để diễn tả thuật toán, cấu trúc liệu thành câu lệnh để máy tính thực giải toán mà người lập trình mong muốn 4.1 Viết chương trình dựa vào sơ đồ khối Giáo viên hướng dẫn học sinh dựa vào sơ đồ khối viết chương trình ngôn ngữ lập trình Pascal Ví dụ: Dựa vào sơ đồ khối so sánh hai số a b để viết chương trình sau: Begin Ngôn ngữ Pascal Write(‘Nhap a = readln(a); Write(‘Nhap b = ‘); Readln(b); Nhập a, b Đúng Nếu a> b Số a lớn số b Sai Số b lớn số a End ‘); If a>b then Write(a,‘ lon hon ‘, b) Else write(b,’ lon hon ‘,a); End 11 Sau viết câu lệnh cho phần sơ đồ, học sinh cần bổ sung thêm thành phần khác hoàn thiện chương trình sau: Begin Write(‘Nhap a = ‘); readln(a); Write(‘Nhap b = ‘); readln(b); If a>b then Write(a,‘ lon hon ‘, b) Else write(b,’ lon hon ‘,a); Readln End 4.2 Viết chương trình dựa vào thuật toán Thuật toán viết sát với câu lệnh ngôn ngữ lập trình, giáo viên cần hướng dẫn học sinh nắm rõ cấu trúc ý nghĩa câu lệnh dễ dàng viết chương trình Ví dụ dựa vào thuật toán so sánh hai số a b ta có cát câu lệnh tương ứng sau: Thuật toán Bắt đầu Nhập a, b if a > b then in a lớn b else in b lớn a; Kết thúc Chương trình Begin Write(‘Nhap a = ‘); readln(a); Wrtie(‘ Nhap b = ‘); readln(b); If a> b then Write(a,’ lon hon ‘,b) Else write(b,’ lon hon ‘,a); Readln End Chạy chương trình kiểm tra lỗi Một chương trình viết xong chưa chạy máy vi tính kết mong muốn, giáo viên cần lưu ý số lỗi cách khắc phục cho học sinh nắm như: - Lỗi thuật toán: Điều chỉnh lại thuật toán, thêm vị trí có thể, loại bỏ thuật toán sai, tìm thuật toán khác nghĩa làm lại từ đầu - Lỗi trình tự: Phải xem lại thuật toán, phân tích lại từ xuống để đặt lại cho với thuật toán - Lỗi kiểu liệu 12 Ví dụ: viết chương trình tính diện tích hình tròn, học sinh viết chương trình khai báo biến DT thuộc kiểu liệu nguyên chương trình không thực phép toán DT:=3.14*bk*bk Do để thực phép gán khai báo biến DT thuộc kiểu liệu thực - Lỗi cú pháp: Viết lại cho cú pháp ngôn ngữ lập trình mà sử dụng Ví dụ : Lỗi sau câu lệnh ta không sử dụng dấu chấm phẩy, hay kết thúc chương trình dấu chấm Tóm lại: Quá trình xây dựng chương trình chuỗi bước tính Ở bước phân nhiều công việc để từ đưa phương pháp tối ưu Song người lập trình cần rèn luyện để có ý thức định liên quan biết khảo sát nghiêm túc từ bỏ lời giải chúng Mà cần phải cân nhắc phương tiện lời giải theo tiêu chuẩn IV KẾT QUẢ ĐẠT ĐƯỢC Với bước giải toán trên, nhận thấy nhiều đối tượng học sinh hiểu vận dụng để nâng cao kĩ lập trình Qua năm thử nghiệm lớp 8a2, dù chất lượng thật chưa cao bước đầu đem lại kết khả quan, phần lớn học sinh tự viết số chương trình sách giáo khoa số tập đơn giản khác, kết cuối năm đạt sau: TS Lớp Giỏi HS 8a1 17 8a2 32 TL 17.6 % 15.6 % Khá 6 TL 35.3 % 18.8 % TB 18 TL 29.4 % 56.3 % Yếu 3 TL 17.6 % 9.4 % TB trở lên 14 29 TL Ghi 82.4 % 90.6 % Không Áp dụng ĐT Áp dụng ĐT 13 C KẾT LUẬN - ĐỀ XUẤT I KẾT LUẬN Để đưa phương pháp tối ưu cho toán không đơn giản Bởi toán đưa nhiều phương pháp giải khác Song lập trình người giải không sử dụng cách giải toán lại ngược lại cho kết khác Điều chứng tỏ cho thấy người lập trình cần phải nắm bước giải toán lập trình Để giải toán máy tính điện tử sử dụng ngôn ngữ lập trình pascal nói chung lớp nói riêng Để nâng cao chất lượng dạy học tin trường THCS giáo viên tin học muốn nói không dạy lý thuyết suông mà cần phải biết kết hợp thực hành Để từ học sinh nhận thấy ưu điểm việc học chương trình có lợi điểm Tóm lại, chương trình Tin học 8, toán đưa để xây dựng chương trình chưa có phức tạp Bởi có nhiều hay học sinh lớp chưa học đến Tuy nhiên chương trình học mới, giáo viên cần phải nắm phương pháp để truyền đạt Đồng thời phối hợp chương trình toán học đến phần để từ đưa ví dụ, tập để học sinh nắm lý thuyết thực hành máy tính dễ tiếp thu để từ em rút ưu điểm chương trình so với cách tính tay chỗ II ĐỀ XUẤT Để việc giảng dạy có hiệu môn tin học xin có số đề xuất sau: Phân chia lớp cho phù hợp để tổ chức hoạt động nhóm cho học sinh mang lại hiệu cao môn lập trình Pascal 14 Bổ sung kịp thời loại phương tiện, thiết bị dạy học cho môn máy vi tính để học sinh vừa học lý thuyết vừa kết hợp thực hành, phục vụ cho tiết dạy tốt Bản thân mong muốn góp phần nhỏ bé vào nghiệp giáo dục Bởi môn học mẻ với học sinh trường THCS Tóm lại bước giải toán máy vi tính đưa nhiều thiếu sót Mong nhận góp ý thầy cô giáo bạn bè để hoàn thiện Hiệu trưởng Người viết Hội Đồng khoa học (Hội Đồng sáng kiến) 15 TÀI LIỆU THAM KHẢO SGK Tin học Một số tư liệu sơ đồ khối thuật toán Internet [...]... một bài toán không đơn giản Bởi một bài toán chúng ta có thể đưa ra nhiều phương pháp giải khác nhau Song trong lập trình người giải không sử dụng đúng cách giải thì một bài toán lại đi ngược lại là cho các kết quả khác nhau Điều đó chứng tỏ cho thấy người lập trình cần phải nắm được các bước giải bài toán trong lập trình Để giải quyết được bài toán trên máy tính điện tử sử dụng ngôn ngữ lập trình pascal. .. chương trình này so với cách tính tay ở chỗ nào II ĐỀ XUẤT Để việc giảng dạy có hiệu quả hơn trong môn tin học tôi xin có một số đề xuất sau: Phân chia lớp sao cho phù hợp để có thể tổ chức hoạt động nhóm cho học sinh mang lại hiệu quả cao hơn trong môn lập trình Pascal 14 Bổ sung kịp thời các loại phương tiện, thiết bị dạy học cho bộ môn như máy vi tính để học sinh có thể vừa học lý thuyết vừa kết... lập trình pascal nói chung và của lớp 8 nói riêng Để nâng cao chất lượng dạy học tin ở các trường THCS thì là một giáo viên tin học tôi muốn nói rằng chúng ta không chỉ dạy lý thuyết suông mà cần phải biết kết hợp thực hành Để từ đó học sinh mới nhận thấy được ưu điểm của việc học chương trình này có lợi hơn ở điểm nào Tóm lại, trong chương trình Tin học 8, các bài toán đưa ra để xây dựng một chương trình... giáo dục Bởi đây là môn học khá mới mẻ với học sinh trường THCS Tóm lại các bước giải một bài toán trên máy vi tính của tôi đưa ra đang còn nhiều thiếu sót Mong nhận được sự góp ý của các thầy cô giáo cùng như bạn bè để được hoàn thiện hơn Hiệu trưởng Người viết Hội Đồng khoa học (Hội Đồng sáng kiến) 15 TÀI LIỆU THAM KHẢO 1 SGK Tin học 8 2 Một số tư liệu về sơ đồ khối và thuật toán trên Internet ... Bởi có nhiều bài hay thì học sinh lớp 8 chưa học đến Tuy nhiên đây là chương trình học khá mới, cho nên giáo viên cần phải nắm chắc các phương pháp để truyền đạt Đồng thời cũng phối hợp chương trình toán đã học đến những phần nào để từ đó đưa ra các ví dụ, bài tập để học sinh có thể nắm chắc lý thuyết cũng như thực hành trên máy tính dễ tiếp thu để từ đó các em rút ra được ưu điểm của các chương trình ... trúc mặt chương trình Xuất phát từ sở trên, chọn đề tài Các bước giúp học sinh giải toán pascal hiệu môn Tin học trường THCS Hưng Phú , giúp em nắm cấu trúc chương trình ngôn ngữ lập trình II MỤC... Trường THCS Hưng Phú năm học 2015 - 2016 Phạm vi nghiên cứu: Các bước giúp học sinh giải toán Pascal hiệu môn Tin học trường THCS Hưng Phú IV PHƯƠNG PHÁP NGHIÊN CỨU Khi nghiên cứu đề tài sử dụng... để học sinh nắm bước giải toán Và thông qua ví dụ hướng dẫn học sinh chuyển đổi qua lại cách giải toán giấy máy vi tính Nhiệm vụ: Đưa vấn đề: Lập trình đơn giản phần I SGK tin học 8, để học sinh