sáng kiến kinh nghiệm này giúp học sinh phát huy tính tích cực học sinh thông qua môn học lập trình pascal, bài 17 tin học 11 ở trường THPT. Tài liệu mang tính chất đầy đủ những cấu trúc của một SÁNG KIẾN KINH NGHIỆM quy định. Mong muốn giáo viên sẽ say mê với bộ môn nhiều hơn.
PHẦN I: ĐẶT VẤN ĐỀ Lý chọn đề tài Đổi phương pháp dạy học nhằm trọng phát triển lực học sinh Phương pháp dạy học theo quan điểm phát triển lực không ý tích cực hóa học sinh mặt trí Tuệ mà ý rèn luyện lực giải vấn đề gắn với tình sống nghề nghiệp, đồng thời gắn với hoạt động trí tuệ với hoạt động thực hành, thực tiễn Tăng cường hoạt động nhóm, đổi quan hệ GV – HS theo hướng cộng tác có ý nghĩa quan trọng nhằm phát triển lực xã hội Những định hướng chung, tổng quát đổi phương pháp dạy học mơn học thuộc chương trình giáo dục định hướng phát triển lực là: - Phát huy tính tích cực, tự giác, chủ động người học, hình thành phát triển lực tự học sở trau dồi phẩm chất linh hoạt, độc lập, sáng tạo tư - Có thể lựa chọn cách linh hoạt phương pháp chung phương pháp đặc thù môn học để thực - Việc sử dụng phương pháp dạy học gắn chặt với hình thức tổ chức dạy học Tùy theo mục tiêu, nội dung đối tượng điều kiện cụ thể mà có hình thức tổ chức thích hợp học nhân, học nhóm… - Cần sử dụng đủ hiệu thiết bị dạy học môn học tối thiểu quy định Bộ môn tin học đưa vào nhà trường nghiên cứu môn khoa học khác, kiến thức tin học đúc kết từ thực tiễn phát triển dựa nhu cầu khai thác người dùng, có nhiều điều kiện thuận lợi để sử dụng phương tiện dạy học - phát huy tính tích cực học tập học sinh Tuy nhiên, kỹ vận dụng tri thức học vào việc giải toán thực tiễn học sinh cịn nhiều hạn chế Chính lý đó, tơi lựa chọn cho đề tài: “phát huy tính tích cực học sinh THPT thơng qua ngơn ngữ lập trình pascal - 17 tin học 11” Mục đích việc nghiên cứu Mục đích việc nghiên cứu sử dụng chương trình lập trình có cấu trúc lập trình Pascal nhằm giúp học sinh phát huy tính tích cực, tự giác, chủ động, sáng tạo, rèn luyện thói quen làm việc độc lập kỹ lập trình, giảm bớt thời gian, cơng sức lập trình; giúp cho việc kiểm tra, sửa chữa chương trình trở nên đơn giản hơn, dễ dàng thuận tiện Bên cạnh đó, học sinh cịn biết vận dụng để giải toán thường gặp thực tế; gây hứng thú học tập, làm cho “Học” trình kiến tạo; niềm say mê để từ học sinh biết khai thác xử lý thông tin, tự hình thành hiểu biết, lực phẩm chất Kết cần đạt Phải phát huy tính tích cực, tự giác, chủ động, sáng tạo học sinh; tạo thói quen làm việc độc lập; bồi dưỡng cho học sinh phương pháp tự học, khả hợp tác; rèn luyện kĩ lập trình kỹ vận dụng kiến thức vào việc giải tốn thường gặp thực tiễn; tác động đến tình cảm, đem lại niềm vui, hứng thú trách nhiệm học tập cho học sinh Đối tượng, phạm vi kế hoạch nghiên cứu - Đối tượng nghiên cứu học sinh trung học phổ thông - Phạm vi kế hoạch nghiên cứu: Khối 11 (Lớp 11B2, 11B6) - Trường THPT Triệu Sơn 2 Phần II: NỘI DUNG Cơ sở lý luận vấn đề nghiên cứu Phương pháp dạy học theo quan điểm phát triển lực khơng ý tích cực hóa học sinh hoạt động trí tuệ mà cịn ý rèn luyện lực giải vấn đề gắn với tình sống nghề nghiệp, đồng thời gắn với hoạt động trí tuệ với hoạt động thực hành, thực tiễn Tăng cường việc học tập nhóm, đổi quan hệ giáo viên – học sinh theo hướng cộng tác có ý nghĩa quan trọng nhằm phát triển lực xã hội Bên cạnh việc học tập tri thức kỹ riêng lẻ môn học chuyên môn cần bổ sung chủ đề học tập phức hợp nhằm phát triển lực giải cấn đề phức hợp Những định hướng chung, tổng quát đổi phương pháp dạy học mơn học thuộc chương trình giáo dục định hướng phát triển lực là: Phát huy tính tích cực, tự giác, chủ động người học, hình thành phát triển lực tự học, sở trau dồi phẩm chất linh hoạt, độc lập, sáng tạo tư Có thể chọn lựa cách linh hoạt phương pháp chung phương pháp đặc thù môn học để thực Tuy nhiên dù sử dụng phương pháp phải đảm bảo ngun tắc “học sinh tự hồn thành nhiệm vụ nhận thức với tổ chức hướng dẫn giáo viên” Việc sử dụng phương pháp dạy học gắn liền với hình thức tổ chức dạy học Tùy theo mục tiêu, nội dung, đối tượng, điều kiện cụ thể mà có hình thức tổ chức thích hợp học cá nhân, học nhóm; học lớp, học lớp… Cần chuẩn bị thực hành, vận dụng kiến thức vào thực tiễn, nâng cao hứng thú cho người học Cần sử dụng đủ hiệu thiết bị dạy học môn học tối thiểu qui định Có thể sử dụng đồ dụng dạy học tự làm xét thấy cần thiết với nội dung môn học phù hợp với đối tượng học sinh Tích cực vận dụng công nghệ thông tin dạy học Một biện pháp đổi phương pháp dạy học biện pháp sử dụng kỹ thuật dạy học phát huy tính tích cực sáng tạo cho học sinh Kỹ thuật cách thức hành động giáo viên học sinh tình hành động nhỏ nhằm thực điều khiển trình dạy học Các kỹ thuật dạy học đơn vị nhỏ phương pháp dạy học Có kỹ thuật dạy học chung, có kỹ thuật đặc thù phương pháp dạy học, ví dụ kỹ thuật đặt câu hỏi đàm thoại Ngày người ta trọng phát triển sử dụng kỹ thuật dạy học phát huy tính tích cực, sáng tạo người học “động não”, “tia chớp”, “bể cá”, XYZ, đồ tư duy,… Xác định lực cần hướng tới dựa chương trình giáo dục phổ thông hành hoạt động quan trọng cơng việc khó Bởi vì, hoạt động xác định mục tiêu: làm tường minh mục tiêu chương trình giáo dục phổ thơng hành lực dần điều chỉnh mục tiêu dạy học theo hướng nhấn mạnh đến hình thành phát triển lực Bởi vậy, xác định lực tin học dựa chương trình giáo dục phổ thơng hành cần tiến hành thận trọng, đảm bảo lực đề xuất hướng Từ sở lý luận trên, vận dụng giảng dạy mơn tin học lớp 11, thân tơi có nhận xét: - Tư tưởng lập trình có cấu trúc modul hố chương trình, nghĩa từ chương trình lớn, phân thành chương trình nhỏ, hay chương trình con, tương đối độc lập giải mộ cách độc lập chương trình Trên sở đó, kiểm chứng tính đắn chương trình con, ghép nối lại thành chương trình hồn chỉnh - Trong viết chương trình, ta thường gặp đoạn chương trình lặp đi, lặp lại nhiều lần chỗ khác làm cho chương trình trở nên dài dòng Trong Pascal cho phép viết đoạn chương trình thành chương trình con, cần, ta viết thủ tục gọi chương trình với tham số tương ứng Cách làm cho chương trình trở nên ngắn gọn, sáng sủa tiết kiệm cơng sức lập trình - Với toán lớn, phức tạp tương ứng với chương trình lớn, dài; việc nhìn khái quát tổng thể chương trình, việc gỡ rối, sửa lỗi khó khăn Việc xây dựng chương trình cho phép tách chương trình lớn thành chương trình nhỏ hơn, đơn giản làm cho việc kiểm tra, sửa chữa chương trình dễ dàng, thuận tiện Sau tạo xong chương trình ta việc ghép chúng lại thành chương trình hồn chỉnh Chính lý làm cho giá thành xây dựng tồn chương trình giảm xuống bớt công sức thủ công người lập trình Chính vậy, tơi muốn vận dụng cách viết sử dụng chương trình lập trình có cấu trúc để giúp cho học sinh có kỹ giải số tốn nhanh hơn, xác việc kiểm sốt tồn chương trình thuận tiện Thực trạng vấn đề nghiên cứu tổng kết kinh nghiệm - Với chương trình lớn thường dài, nhìn chung khó đọc, khó kiểm sốt lỗi học sinh trung học phổ thông, đặc biệt khơng có cách khẳng định tính đắn chương trình, ngồi việc kiểm tra chương trình thông qua số lần chạy thử với liệu vào khác nhau, thấy kết lần chạy thử khẳng định chương trình - Để giúp cho học sinh say mê với môn học, giảm bớt thời gian công sức lập trình; rèn luyện khả làm việc độc lập, tích cực, chủ động, sáng tạo, có tinh thần hợp tác làm việc theo nhóm, biết vận dụng kiến thức học để giải số tốn thường gặp thực tiễn, từ nảy sinh vấn đề phải hướng dẫn cho học sinh cách viết sử dụng chương trình lập trình Pascal làm cho chương trình sáng sủa, dễ đọc, dễ hiểu, dễ kiểm tra điều quan trọng chứng minh tính đắn chương trình - Vì học sinh lớp 11 bước đầu làm quen với loại ngơn ngữ lập trình mới, cụ thể ngơn ngữ lập trình pascal, điều khiến học sinh hồn tồn bỡ ngỡ, cịn nhiều vướng mắc bắt đầu viết chương trình Giáo viên cần định hướng cho học sinh biết cách viết chương trình đơn giản đến phức tạp Giáo viên cần dần hình thành cho học sinh biết phân tích tốn để chia nhỏ thành modul hoàn thiện để có chương trình có kết xác cao Bước đầu em chưa có liệu tối ưu, phải biết cách bố trí form chương trình - Với thực trạng trên, bước đầu dạy học phương pháp truyền thống, giáo viên dạy học sinh biết học đó, khơng tích cực việc học tập không tự giác nghiên cứu Cùng chương trình dạy học 17 tin học 11, chưa áp dụng phương pháp dạy học phát huy tính tích cực cho học sinh lớp 11B2 trường THPT Triệu Sơn 2, qua kiểm tra tiết kết thu sau: Lớp Mức độ Lớp 11 B2 (sĩ số lớp 40 HS) Yếu TB Khá Giỏi Nhận biết 17.5% 57.5% 25% 0% Thông hiểu 22.5% 41.5% 36% 0% Vận dụng thấp 62.5% 12.5% 25% 0% Vận dụng cao 67.5% 17.5% 15% 0% Giải pháp tổ chức thực 3.1 Các nội dung 3.1.1 Một số khái niệm - Lập trình: Là sử dụng cấu trúc liệu câu lệnh ngơn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thao tác thuật tốn - Ngơn ngữ lập trình: Là ngơn ngữ để viết chương trình - Chương trình: Là cách mơ tả thuật tốn ngơn ngữ mà máy tính hiểu thực - Thuật tốn: Là dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác từ Input ta thu Output tốn - Chương trình con: Là dãy lệnh mô tả số thao tác định thực (đựơc gọi) từ nhiều vị trí khác chương trình 3.1.2 Phân loại chương trình - Chương trình có loại bản: Chương trình hàm Chương trình thủ tục + Hàm (Function): Là chương trình thực số thao tác trả giá trị qua tên hàm + Thủ tục (Procedure): Là chương trình thực thao tác định không trả giá trị qua tên 3.1.3 Cấu trúc chương trình - Cấu trúc chung: [] Begin []; {Phần thân chương trình con} End; 3.1.4 Sử dụng chương trình - Cách gọi chương trình con: Tên chương trình (cùng với tham số, có); - Các tham số sử dụng chương trình con: + Tham số hình thức: viết phần khai báo tên chương trình + Tham số thực sự: viết lời gọi chương trình + Tham biến: Là tham số hình thức viết sau Var Khi tham số thực phải biến, không giá trị Tham số thực bị thay đổi chương trình sau khỏi chương trình giữ nguyên giá trị thay đổi + Tham trị: Là tham số hình thức khơng có Var Khi tham số thực giá trị, biến biểu thức Tham số thực bị thay đổi chương trình con, sau khỏi chương trình lại mang giá trị ban đầu 3.2 Các bước tiến hành: Bước 1: Lựa chọn chủ đề, nội dung dạy học Chủ đề: Chương trình phân loại Bước 2: Xác định yêu cầu, kiến thức, kĩ năng, thái độ: * Kiến Thức: - Biết khái niệm chương trình - Biết khác thủ tục hàm - Biết cấu trúc chương trình - Biết quan hệ tham số hình thức, tham số thực lời gọi thực chương trình * Kĩ năng: - Nhận biết thành phần đầu thủ tục - Nhận biết hai loại tham số hình thức đầu thủ tục Bước 3: Lập bảng mô tả yêu cầu cần đạt Nội dung Loại câu hỏi/ tập Khái Câu niệm hỏi/ chương trình tập định tính Bài tập định lượng Bài tập thực hành Nhận biết Thông hiểu Vận dụng thấp Vận dụng cao Học sinh xác định đơn vị kiến thức tái xác nội dung đơn vị kiến thức Câu hỏi ND1.DT.NB.* HS nhận biết tính lặp lặp lại công việc Câu hỏi ND1.DL.NB.* HS xác định mối liên quan trùng lặp tốn Câu hỏi ND1.DL.TH.* HS viết đoạn chương trình thể cho cơng việc lặp lặp lại Câu hỏi ND1.TH.TH.* Phân loại chương trình Câu hỏi/ tập định tính Bài tập định lượng Bài tập thực hành Cấu Câu trúc hỏi/ chương trình tập định tính Bài tập định lượng HS nhận biết loại chương trình Câu hỏi ND2.DT.NB.* HS biết cấu trúc chương trình khái niệm tham số hình thức Câu hỏi ND3.DT.NB.* HS số hàm thủ tục lập trình mà em biết Câu hỏi ND2.DT.VDT.* HS hàm có giá trị trả thủ tục khơng có giá trị trả Câu hỏi ND2.DL.VDC.* HS loại biến cục biến toàn cục toán cụ thể Câu hỏi ND3.DT.TH.* HS phân biệt khác chương trình chương trình Câu hỏi ND3.DL.TH.* Bài tập thực hành Câu Thực hỏi/ chương tập trình định tính HS nhận biết tham số thực cách thực gọi chương trình Câu hỏi ND4.DT.NB.* HS lấy ví dụ sử dụng gọi hàm thủ tục biết pascal Câu hỏi ND4.DT.TH.* Bài tập định lượng HS tham số hình thức tham số thực chương trình Câu hỏi ND4.DL.VDT.* Bài tập thực hành Bước 4: Hệ thống câu hỏi/ tập đánh giá theo mức mô tả Câu ND1.DT.HB.1: Em cho biết khái niệm lập trình ngơn ngữ lập trình mà em học? Câu ND1.DT.HB.2: Em cho biết khái niệm chương trình mà em học? Câu ND1.DT.HB.3: Theo dõi SGK cho biết khái niệm chương trình con? Câu ND1.DT.HB.4: Cho tốn viết chương trình tính tổng: S= an+bm+cp+dq 10 Dựa vào kiến thức học em có nhận xét viết chương trình cho tốn nêu? Câu ND1.DL.HB.1: Viết chương trình tính tổng sau: S = an+bm+cp+dq Nêu nhận xét đoạn chương trình mà nhóm viết? ( Hình thức chia nhóm thực hiện: nhóm tính lũy thừa an , nhóm tính lũy thừa bm, nhóm tính lũy thừa cp, nhóm tính lũy thừa dq) Câu ND1.DL.TH.1: Cho đoạn chương trình sau: gt1:=1; for i:=2 to n gt1:=gt1*i; gt2:=1; for i:= to m gt2:=gt2*i; gt3:=1; for i:= to m gt3:=gt3*i; gt4:=1; for i:= to m gt4:=gt4*i; S:= gt1 + gt2 + gt3 + gt4; Em đoạn chương trình thể lặp lặp lại? Câu ND1 TH.TH.1: em viết chương trình thể tính lặp lặp lại nhiều lần cơng việc? (hình thức chia nhóm thực hiện, nhóm lấy ví dụ cụ thể Với u cầu thể lặp lại công việc) Câu ND2.DT.NB.1: Nêu loại chương trình con? Câu ND2.DT.NB.2: Nêu khái niệm hàm thủ tục? Câu ND2.DT.VDT.1: Lấy ví dụ số hàm thủ tục pascal mà em học? Câu ND2.DT.VDT.2: Hãy hàm thủ tục cho thao tác xử lý xâu sau: - delete(s,vt,n) - insert(s1,s2,vt); - length(s); - pos (s1, s2) Câu ND2.DL.VDC.1: Tìm lỗi sai chương trình sau: procedure hoanvi ( var a,b:byte); 11 var tg:byte; begin if a>b then begin tg:=a; a:=b; b:=tg; end; hoanvi:=a; end Câu ND3.DT.NB.1: Nêu cấu trúc chung chương trình con? Giải thích thành phần cấu trúc đó? Câu ND3.DT.NB.2: Nêu khái niệm tham số hình thức? Câu ND3.DT.NB.3: Nêu khái niệm biến địa phương biến tồn cục? Câu ND3.DT.TH.1: Cho đoạn chương trình sau: Program BT_Sapxep; Type mang = array[1 100] of integer; Var a,b,c:mang; n,nb,nc:integer; Procedure Nhap_mang; Var i:integer; Begin for i:=1 to n begin write('a[',i,']='); readln(a[i]); end; end; Procedure In_mang(Var m:mang); Var i:integer; Begin for i:=1 to n write(m[i],' '); 12 writeln; end; Procedure SX(Var m:mang); Var i,j,tg:integer; Begin for i:=1 to n-1 for j:=n downto i+1 if a[j]