Mô tả sáng kiến 2020 Mô tả sáng kiến 2020 Mô tả sáng kiến 2020 Mô tả sáng kiến 2020 Mô tả sáng kiến 2020 Mô tả sáng kiến 2020 Mô tả sáng kiến 2020 Mô tả sáng kiến 2020 Mô tả sáng kiến 2020 Mô tả sáng kiến 2020 Mô tả sáng kiến 2020
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc ĐƠN YÊU CẦU CÔNG NHẬN SÁNG KIẾN Kính gửi: Hội đồng chấm sáng kiến cấp sở Tôi (Chúng tôi) ghi tên đây: Số TT Họ tên Ngày tháng năm sinh Nơi cơng tác Chức danh Trình độ chun mơn Tỷ lệ % đóng góp vào việc tạo sáng kiến Đoàn Thị Yến 16/6/1988 Trường THCS Nam Thái Giáo viên Đại học sư phạm Tin học 100% Là tác giả đề nghị xét công nhận sáng kiến: Rèn luyện tư thuật tốn học lập trình Pascal Tin học trường THCS Nam Thái năm học 2019-2020 Lĩnh vực áp dụng sáng kiến: Giải pháp tác nghiệp giáo dục Ngày sáng kiến áp dụng lần đầu áp dụng thử: 5/9/2019 Mô tả chất sáng kiến: 3.1 Tên sáng kiến: Rèn luyện tư thuật tốn học lập trình Pascal Tin học trường THCS Nam Thái năm học 2019-2020 3.2 Lĩnh vực áp dụng: Giải pháp áp dụng giáo dục 3.3 Mô tả sáng kiến: 3.3.1 Tình trạng giải pháp biết: Tin học phát triển ngày nhanh trở thành nhân tố vô cần thiết lĩnh vực Trong tin học sử dụng phổ biến đặc biệt quan trọng giáo dục Tin học đưa vào chương trình tin học nhà trường hỗ trợ giảng dạy Cùng với đó, Trong năm học gần Bộ GD&ĐT tiến hành đổi phương pháp dạy học phương pháp phát triển khả tư duy, sáng tạo học sinh; lấy học sinh làm trung tâm; tránh tình trạng thầy đọc trò chép cách thụ động; hướng học sinh đến việc tự làm chủ kiến thức mình, tự tìm tịi khám phá kiến thức cho thân Theo phương pháp ngồi việc cung cấp kiến th ức cho h ọc sinh người thầy phải biết phát huy khả tư cho h ọc sinh Trong q trình dạy học tơi nhận thấy điểm hạn ch ế h ọc sinh em tiếp xúc với ngơn ngữ lập trình pascal h ầu h ết em đ ều thấy khó, khó nhớ, khó áp dụng Chính lí mà h ọc n ội dung em học cho xong, học đối phó với th ầy cơ, em c ố tìm nh ững đoạn mã lệnh gõ theo chạy chương trình cho có k ết mà khơng cần biết đoạn mã lệnh làm việc nh Đôi v ới học sinh em có tìm l ời giải cho m ột tốn em vội hài lịng với kết đ ạt đ ược mà khơng tìm hi ểu thêm liệu có cách giải hay khơng? Có thể cải tiến ch ương trình cho hiệu quả, ngắn học khơng? Từ thắc mắc đó, sau thời gian giảng dạy nội dung lập trình pascal cho đối tượng học sinh lớp băn khoăn Phải làm để học sinh tơi thay đổi cách nhìn nhận với mơn học cách học với mơn lập trình Sau thời gian suy nghĩ tơi cho muốn thay đổi em trước tiên người thầy phải thay đổi, thay đổi cách tiếp cận nội dung, thay đổi phương pháp Phải làm để em u thích mơn học này, có u thích hứng thú em tập trung học tập nghiêm túc được, em khơng cịn học đối phó Khi em u thích hướng em từ việc đơn gian tới phức tạp, nhìn nhận vấn đề hay giải toán nhiều cách để từ em lĩnh hội đầy đủ chủ động kiến thức mơn học Từ lí định nghiên cứu thực sáng kiến “ RÈN LUYỆN TƯ DUY THUẬT TOÁN TRONG HỌC LẬP TRÌNH PASCAL TIN HỌC TẠI TRƯỜNG THCS NAM THÁI NĂM HỌC 2019-2020” nhằm giúp học sinh lớp khắc phục hạn chế nêu tạo ham mê u thích học sinh với mơn học lập trình * Thuận lợi: - Nhà trường tạo điều kiện sắm sửa máy móc, trang thiết bị phục vụ cho việc dạy học môn Tin học - Giáo viên đào tạo chuyên ngành Tin học để đáp ứng yêu cầu cho dạy học bậc THCS - Một số gia đình có điều kiện kinh tế mua sắm máy vi tính, tạo điều kiện học tập thuận lợi cho em mơn Tin học nói riêng mơn học khác nói chung * Khó khăn: Trong q trình dạy học tơi nhận thấy số điểm hạn chế học sinh em tiếp xúc với ngơn ngữ lập trình pascal là: - Học sinh chưa thay đổi cách nhìn niềm đam mê vào ngơn ngữ lập trình Pascal, đạt 51,2% - Khả trình bày thuật tốn, viết chương trình theo thuật tốn học sinh chưa tốt, đạt 46,3% - Kỹ vận dụng câu lệnh học sinh vào lập trình tốn pascal cịn yếu, đạt 46,3% 3.3.2 Nội dung giải pháp đề nghị cơng nhận sáng kiến: 3.3.2.1 Mục đích giải pháp: * Mục đích chung: Rèn luyện tư thuật tốn học lập trình Pascal Tin học trường THCS Nam Thái năm học 2019-2020 * Mục đích cụ thể: - Giúp cho học sinh có cách nhìn tạo niềm đam mê vào ngơn ngữ lập trình Pascal (97,6%) - Giúp cho học sinh nắm kiến thức có khả phân tích chi tiết nội dung để có thuật tốn tốt cần viết chương trình Pascal (95.1) - Giúp cho học sinh biết vận dụng câu lệnh vào dạng toán cụ thể (95,1%) 3.3.2.2 Nội dung giải pháp: * Giải pháp Thay đổi cách nhìn tạo niềm đam mê học sinh với ngôn ngữ lập trình Pascal Vì mơn Pascal lại khó? Một thói quen khó thay đổi học sinh cách nhìn nhận mơn tin học, theo em mơn tin học học thao tác sử dụng đơn giản 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 MS Word, chương trình soạn thảo trình diễn MS PowerPoint … Đây phần học địi hỏi học sinh tư duy, mà cần học kĩ nhớ thao tác, thực hành nhiều lần thành kỹ thành thạo Nhưng học mơn lập trình Passal chương trình lớp THCS 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 dường khơng cịn phù hợp Học thuộc theo kiểu thuộc lòng phù hợp với nội dung cấu trúc câu lệnh khơng thể áp dụng điều vào toán Lúc em cần phải học cách tư logic, tìm hiểu thuật tốn, viết dịng lệnh máy tính sở thuật toán xây dựng câu lệnh cần phải có độ xác tuyệt đối đến đấu chấm, dấu phẩy Với tâm lí thơng thường em học sinh coi tin học môn phụ không quan trọng nên nhiều em chủ quan không dành đủ thời gian để học nên không hiểu dần bị Đây lí mà nhiều em ln kêu học lập trình pascal khó Tại lại học 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 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 Tạo u thích học lập trình Pascal Qua thời gian giảng dạy môn này, 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, địi hỏi tư duy, … 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 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 Để khắc phục điều cần giải vấn đề sau: * Vấn đề 1: Học sinh vừa đọc xong đề kêu khó, khơng chịu tìm hiểu xem đề u cầu Nói cụ thể sau đọc xong tốn học sinh không định hướng phải đâu, phải sử dụng cấu trúc liệu hay cấu trúc lệnh để giải Để giúp học sinh vấn đề sau đọc đề xong giáo viên hướng dẫn em xác định rõ toán (xác định thành phần Input Output toán) Từ Inphut Output toán giáo viên yêu cầu học sinh gạch giấy bước để giải toán từ đưa thuật tốn, bước tinh chỉnh thuật tốn tìm thuật tốn đắn cuối viết chương trình hồn chỉnh VD: Khi u cầu học sinh lập trình tính chu vi diện tích hình trịn với bán kính nhập vào từ bàn phím - Để giải giáo viên yêu cầu học sinh nêu rõ Input vào Output toán Input: Bán kính hình trịn Output: Diện tích chu vi hình trịn - GV u cầu HS gạch công việc cần làm để giải tập này? Các công việc cần làm để giải tập : + Nhập bán kính R, + Tính diện tích hình trịn + Tính chu vi hình trịn + In diện tích chu vi hình trịn – Gv gợi ý yêu cầu HS nêu công thức tính diện tích chu vi hình trịn? Diện tích S = Pi*R^2 Chu vi Cv = 2*Pi*R – Với yêu cầu cụ thể đó, giáo viên yêu cầu học sinh gõ câu lệnh để hoàn thành tốn Có thể gợi ý cụ thể tốn này: Cần thực lệnh nhập liệu nào? Dùng lệnh gán để tính chu vi diện tích với cơng thức tốn học có Sau tính tốn xong dùng lệnh in kết hình * Vấn đề 2: Hầu em học sinh thực hành lập trình đùn đẩy cho thiếu tự tin khơng biết phải gõ vào máy, sợ gõ sai lỗi tả câu lệnh hay từ khóa Để giúp em vấn đề giáo viên nên khuyến khích em mạnh dạn gõ, lần sai, hai lần sai,… từ từ em gõ câu lệnh, có em nhớ câu lệnh, từ khóa chủ động việc gõ câu lệnh giải toán Lúc đầu giám sát trình làm việc em, sửa lỗi sai, sau để em tự làm việc sửa lỗi em gặp khó khăn thực sự, khơng giải bắt buộc cần có hướng dẫn giáo viên Khi em tự gõ chương trình em thực hiểu chương trình hoạt động khơng thể nhìn mà hiểu Chỉ có tự gõ lệnh nhớ hiểu từ tự tin ngồi lập trình trước máy tính Khi tự tin làm việc với máy tính em say mê u thích mơn học * Vấn đề 3: Khi thực hành em gõ cho xong nội dung thực hành, tìm kiếm mẫu có sẵn gõ theo, sau em kiểm sốt lỗi tả chạy thử, kết coi xong tập Học em hồn tồn thụ động, khơng thực tìm hiểu xem lại có câu lệnh đó, phải dùng cấu trúc điều khiển mà không dùng cấu trúc điều khiển kia, tới câu lệnh kết nào, … Chính mà em không hiểu tự sửa lỗi gõ sai Hướng dẫn em cách chạy chương trình bước cách quan sát giá trị tham số cần thiết Hướng dẫn em “Biến thành máy tính” để thực câu lệnh từ xuống xem máy bước thực cơng việc gì, kết gì? Có học sinh thực hiểu vấn đề, hiểu cách làm việc ngơn ngữ lập trình pascal Sau áp dụng giải pháp 1, kết qua khảo sát 41 học sinh đạt sau: Tiêu chí Học sinh có cách nhìn niềm đam mê vào ngơn ngữ lập trình Pascal Trước áp dụng 21hs/41hs=51,2% Sau áp dụng So sánh 40hs/41=97,6% Tăng 46,4% * Giải pháp Trình bày thuật tốn, viết chương trình theo thuật toán Xác định toán: - Xác định toán: Là xác định rõ thành phần Input Output mối quan hệ chúng để lựa chọn thuật tốn ngơn ngữ lập trình thích hợp - Q trình giải tốn máy tính: Bài tốn máy mang đầy đủ tính chất tốn tổng qt, lại diễn đạt theo khác + A : đưa thông tin vào – thông tin trước xử lý (Input ) + B: đưa thông tin – kết sau xử lý (Output) + : chương trình tạo từ câu lệnh máy tính cho phép xử lý từ A đến B + Biễu diễn vấn đề toán: A → B Xây dựng thuật toán: - Khái niệm thuật toán: Thuật toán dãy hữu hạn thao tác cần thực theo trình tự xác định để thu kết cần thiết từ điều kiện cho trước - Phương pháp biểu diễn thuật toán: Khi chứng minh giải toán toán học, thường dùng ngơn từ tốn học : "ta có", "điều phải chứng minh", "giả thiết", sử dụng phép suy luận toán học phép suy ra, tương đương, Thuật toán phương pháp thể lời giải toán nên phải tuân theo số quy tắc định Ðể truyền đạt thuật tốn cho người khác hay chuyển thuật tốn thành chương trình máy tính, ta phải có phương pháp biểu diễn thuật tốn Có phương pháp biểu diễn thuật tốn: + Dùng ngơn ngữ tự nhiên + Dùng lưu đồ - sơ đồ khối + Dùng mã giả Viết chương trình: - Viết chương trình dùng ngơn ngữ lập trình cụ thể để 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 tốn mà người viết chương trình mong muốn Và bước then chốt người lập trình - Sau có thuật tốn ta phải lập trình để thực thuật tốn Muốn lập trình đạt hiệu cao, cần phải có kỹ thuật lập trình tốt Kỹ thuật lập trình tốt thể kỹ viết chương trình, khả gỡ rối thao tác nhanh - Lập trình tốt khơng nắm vững ngơn ngữ lập trình đủ, mà phải biết cách viết chương trình cách uyển chuyển, khôn khéo phát triển để chuyển ý tưởng thành chương trình hồn chỉnh Ví dụ: Lập chương trình cắt bỏ kí tự trống thừa xâu cho trước Hãy viết chương trình theo thuật tốn sau: Bước 1: i:=1;Tword:= ‘’;XauM:= ‘’; Bước 2: Kiểm tra xau[i] ‘ ’ đến bước 3, sai đến bước Bước 3: Tword:=Tword+xau[i] Bước 4: Kiểm tra ib) (a>c) a lớn nhất; (b>a) (b>c) b lớn nhất; (c>a) (c>b) c lớn nhất; + Tìm số nhỏ nhất: (ab Then begin Tam:=a; a:=b; b:=tam end; If b>c Then begin Tam:=b; b:=c; c:=tam end; If a>b Then begin Tam:=a; a:=b;b:=tam end; Write('So nho la:’,a,’ so lon la’,c); Readln; End => Nhận xét: Trong phương pháp phương pháp có ưu điểm hạn chế riêng: - Phương pháp 1: Giúp học sinh làm quen với câu lệnh điều kiện dạng đủ lồng điều kiện ghép ((a>b) and (a>c)) câu lệnh điều kiện thơng qua phép tốn and - Phương pháp 2: Giúp học sinh làm quen với lệnh gán, sử dụng biến trung gian Max, Min câu lệnh ghép (Begin Max:=a; Min:=b; End) câu lệnh điều kiện - Phương pháp 3: Giúp học sinh làm quen với câu lệnh điều kiện dạng thiếu ôn lại kiến thức xếp giá trị hai biến theo thứ tự tăng giảm dần begin Tam:=a; a:=b; b:=tam end; Tóm lại: Với tốn tìm nhiều cách tiếp cận khác nhau, cách viết chương trình khác để học sinh mở rộng khả tư tạo yêu thích tìm thấy niềm vui cách xây dựng tốn Qua học sinh có cách nhìn linh hoạt với cấu trúc câu lệnh, phát huy tính tích cực sáng tạo cho học sinh Rèn luyện kỹ lập trình với câu lệnh lặp Cấu trúc lệnh lặp cấu trúc ngơn ngữ lập trình pascal cấu trúc cấu trúc giúp học sinh giải lượng lớn dạng tập Tuy nhiên tiếp cận câu lệnh lặp học sinh lại khó hình dung 10 cách hoạt động cấu trúc, đặc biệt học sinh khó phân biệt cấu trúc lặp xác định lặp với số lần lặp không xác định Một lỗi mà học sinh thường gặp làm việc với cấu trúc lặp khơng xác định điều kiện để dừng vịng lặp Chính lý mà dạy cho học sinh cấu trúc lặp giáo viên cần xây dựng ví dụ sử dụng cấu trúc cụ thể để học sinh hiểu rõ ghi nhớ sau em hình thành phản xạ kĩ lập trình có xử dụng cấu trúc lặp Chúng ta xem xét vấn đề qua số ví dụ sau: Ví dụ: Số nguyên tố số tự nhiên lớn 1, có hai ước Yêu cầu: Nhập vào số nguyên dương N Kiểm tra xem N có phải số nguyên tố hay không, thông báo kết sau kiểm tra Xác định toán: Input: Nhập vào số tự nhiên N, Output: N có phải số nguyên tố hay không * Phương pháp 1: - Ý tưởng: + Cho biến i chạy từ đến n-1 {Ta xét trường hợp n có chia hết cho i hay khơng}, n chia hết cho i ta tăng biến đếm lên đơn vị {ban đầu biến đếm nhận giá trị 0} + Kiểm tra biến đếm, biến đếm nhận giá trị không {tức n không chia hết cho số khoảng từ đến n-1} n số nguyên tố, ngược lại biến đếm nhận giá trị lớn 0{tức n chia hết cho cho nhiều giá trị khoảng [2 n-1]} n khơng phải số ngun tố • Chương trình: Var n,i,dem:Integer; Begin Write('Nhap gia tri N: ');Readln(n); If n