Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
165,5 KB
Nội dung
MỤC LỤC I Mở đầu .2 1.1.Lý chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu II Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lý luận vấn đề 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm 2.3 Giải pháp tổ chức thực 2.3.1 Gợi động mở đầu 2.3.2 Gợi động trung gian 13 2.3.3 Gợi động kết thúc 17 2.4 Hiệu đề tài nghiên cứu 19 III Kết luận đề xuất……….….……………………………….……… 20 3.1 Kết luận………………….………… ………………………… 20 3.2 Đề Xuất ………… …… 20 Tài liệu tham khảo I MỞ ĐẦU 1.1 Lý chọn đề tài Trong bối cảnh Công nghệ thông tin ngày phát triển, việc sử dụng rộng rãi máy tính khơng bó hẹp viện nghiên cứu, trường đại học, trung tâm máy tính mà mở rộng quan, xí nghiệp nhà máy Song song với trình trên, việc giảng dạy Tin học trường đại học, trung học phổ thông đẩy mạnh đôi với việc tăng cường trang bị máy vi tính Chính vậy, giáo viên giảng dạy môn Tin học trường phổ thơng, việc tìm hiểu, nghiên cứu vấn đề Tin học, với việc đổi phương pháp dạy Tin học nhà trường phổ thông công việc cần phải làm thường xuyên, liên tục nhằm đáp ứng với đòi hỏi ngày cao xã hội Trong nghiệp vụ người giáo viên có hai vấn đề quan trọng: thứ thực tiễn tiềm - kiến thức lý thuyết mà họ học Thứ hai thực tiễn nghiệp vụ - giáo viên phải biết cách truyền thụ kiến thức phù hợp với trình độ học sinh Trong đó, thực tiễn thứ hai điều định nghiệp vụ giáo viên, đánh giá chất lượng giảng dạy giáo viên Hai thực tiễn vừa mâu thuẫn với nhau, lại vừa thống với Giáo viên mang hết kiến thức lý thuyết cao xa trừu tượng dạy cho học sinh, dạy tốt cho học sinh thầy giáo hiểu biết 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 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 Đổi phương pháp dạy học theo hướng tích cực hóa hoạt động học sinh trình lâu dài; khơng thể hai mà đông đảo giáo viên từ bỏ kiểu dạy học truyền thụ kiến thức, tiếp thu thụ động quen thuộc từ lâu Việc phát triển phương pháp tích cực đòi hỏi số điều kiện, quan trọng thân giáo viên cần có nỗ lực để tìm tòi, sáng tạo cơng tác giảng dạy Trong việc giảng dạy cho học sinh, việc giúp học sinh lĩnh hội kiến thức giáo viên phải biết kích thích tính tích cực, sáng tạo say mê học hỏi học sinh việc học tập em Bởi vì, việc học tập tự giác, tích cực, chủ động sáng tạo đòi hỏi học sinh phải có ý thức mục tiêu đặt tạo động lực bên thúc đẩy thân họ hoạt động để đạt mục tiêu Điều thực dạy học khơng đơn giản việc nêu rõ mục tiêu mà quan trọng gợi động Pascal ngơn ngữ lập trình có cấu trúc, dùng phổ biến nước ta công tác giảng dạy, lập trình tính tốn, đồ họa Pascal dùng chương trình giảng dạy Tin học hầu hết trường đại học, cao đẳng, trung học phổ thông Trong vấn đề Tin học đưa vào giảng dạy chương trình bậc học phổ thơng Khi nói đến vấn đề dạy học lập trình cho học sinh, vấn đề dạy học cho học sinh chương trình vấn đề chiếm vai trò quan trọng Bởi vì, sử dụng chương trình để hợp lý hóa, tiết kiệm cơng sức lập trình Đồng thời, chương trình giúp cho người lập trình dễ sửa chữa, dễ kiểm tra Vấn đề đặt là: gợi động hoạt động cho học sinh giảng dạy chương trình nào? Đó vấn đề mà thân quan tâm Để thực điều đó, theo tơi cần phải tìm tòi, nghiên cứu tìm tốn phù hợp, kích thích độc lập, tích cực học sinh học tập Trên sở đó, học sinh tự tìm ý tưởng sáng tạo vận dụng thiết thực vào sống thực tế nhu cầu nảy sinh, em tự hồn thành ý tưởng Với lý tơi xin trình bày sang kiến “ Một số kinh nghiệm gợi động hoạt động việc giảng dạy chương trình con” nhằm giúp học sinh lớp 11 khắc phục hạn chế nêu đồng thời u thích mơn học lập trình Pascal 1.2 Mục đích nghiên cứu - Nâng cao chất lượng dạy học môn Tin học trường phổ thơng, đặc biệt dạy học lập trình Tin học lớp 11 - Góp phần đổi phương pháp dạy học trường phổ thơng nói chung mơn Tin học nói riêng - Góp phần khơi dậy lòng đam mê, u thích hứng thú học môn Tin học học sinh Đặc biệt giúp em nhìn thấy ứng dụng đơn giản, cụ thể, gần gũi, thiết thực lập trình mơi trường học tập thân 1.3 Đối tượng nghiên cứu Học sinh lớp 11A1, 11A2, 11A3 trường THPT Lê Lợi năm học 20182019 1.4 Phương pháp nghiên cứu 1.4.1 Phương pháp nghiên cứu: - Tài liệu chuyên môn: Sách Giáo khoa, sách giáo viên Tin học 11, sách tham khảo Lập trình Pascal tìm hiểu thông tin mạng Internet 1.4.2 Phương pháp thống kê phân tích số liệu: Thu thập số liệu, xử lí thống kê đánh giá 1.4.3 Phương pháp thực nghiệm: Tiến hành thực nghiệm sư phạm cho lớp 11A1, 11A2, 11A3 trường THPT Lê Lợi Kiểm tra đánh giá hiệu áp dụng qua hệ thống câu hỏi kiểm tra 15 phút kiểm tra thực hành tiết II Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lý luận sáng kiến kinh nghiệm Gợi động làm cho học sinh có ý thức ý nghĩa hoạt động đối tượng hoạt động Gợi động nhằm làm cho mục tiêu sư phạm biến thành mục tiêu cá nhân học sinh, vào bài, đặt vấn đề cách hình thức Ở lớp dưới, thầy giáo thường dùng cách cho điểm, khen chê, thông báo kết học tập cho gia đình, để gợi động Càng lên lớp cao, với trưởng thành học sinh, với trình độ nhận thức giác ngộ trị ngày cao cách gợi động xuất phát từ nội dung hướng nhu cầu nhận thức, nhu cầu đời sống, trách nhiệm xã hội ngày trở nên quan trọng Gợi động việc làm ngắn ngủi lúc bắt đầu dạy tri thức đó, mà phải xun suốt q trình dạy học Vì vậy, phân biệt gợi động mở đầu, gợi động trung gian gợi động kết thúc Trong đề tài em xin đưa số giải pháp gợi động hoạt động việc giảng dạy chương trình ngơn ngữ lập trình Pascal theo giai đoạn 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm - Đa số học sinh học theo khối nên phần lớn thời gian em dành cho môn khối, môn Tin học xem “môn phụ” nên thường xem nhẹ không ý học - Nhiều học sinh thiếu tính tự giác động học tập Hầu hết em học thường thiếu tập trung, có thái độ thụ động thờ việc học Trên lớp không ý, nhà lại không học cũ nên kiến thức nắm hời hợt, khó vận dụng lí thuyết để viết chương trình - Ngơn ngữ lập trình Pascal đòi hỏi tư người học cao mà chương trình tin học mà em phải học Mức độ tư em hạn chế không đồng lớp học - Kiến thức tốn học, ngoại ngữ khiếm khuyết nhiều học sinh nên khó tạo đam mê học từ dẫn đến tình trạng học cho qua ngày, học đối phó - Có số thuật tốn em chưa học mơn Tốn, thêm vào em sử dụng câu lệnh Tiếng Anh để thể lập trình Do việc học tập học sinh mang tính mơ hồ, bị ép buộc, có nhiều học sinh sợ mơn Tin học 11 tính chất khơ khan, khó hiểu mơn học - Các em ý học kỳ 1, sang kỳ cuối kỳ giảm hứng thú Trong tầm quan trọng Chương trình thể đặc trưng giảm bớt độ phức tạp tốn, giảm thời gian lập trình, phục vụ việc chia nhỏ tốn, đồng thời Chương trình giúp người lập trình dễ sửa chữa, kiểm tra lỗi - Số lượng phòng máy ít(1 phòng), số lượng máy hạn chế cũ nên đáp ứng nhu cầu thực hành cho học sinh tiết thực hành Từ thực tế tơi khơng ngừng học hỏi để tìm biện pháp khắc phục Bằng kinh nghiệm năm qua, tơi đưa tóm lược chương trình số ví dụ mẫu vận dụng để giải có hiệu nhằm giúp học sinh tiếp thu nhanh, nhớ kiến thức lâu cảm thấy hứng thú học tập 2.3 Các giải pháp tổ chức thực 2.3.1.Gợi động mở đầu Để Gợi động mở đầu gợi động xuất phát từ thực tế xuất phát từ nội Tin học Việc xuất phát từ thực tế khơng có tác dụng gợi động mà góp phần hình thành giới quan vật biện chứng Nhờ đó, học sinh nhận rõ việc nhận thức cải tạo giới đòi hỏi phải suy nghĩ giải vấn đề Tin học nào, tức nhận rõ Tin học bắt nguồn từ nhu cầu đời sống thực tế Vì vậy, cần khai thác triệt để khả để gợi động xuất phát từ thực tế Tuy nhiên, để gợi động xuất phát từ thực tế cần ý điều kiện sau: - Vấn đề đặt phải đảm bảo tính chân thực, đương nhiên đơn giản hóa lý sư phạm trường hợp cần thiết - Việc nêu vấn đề khơng đòi hỏi q nhiều tri thức bổ xung - Con đường từ lúc nêu vấn đề giải vấn đề ngắn tốt Mặc dù Tin học phản ánh thực tế cách toàn nhiều tầng Tuy nhiên nội dung nào, hoạt động gợi động xuất phát từ thực tế Vì vậy, ta tận dụng khả gợi động xuất phát từ nội Tin học Gợi động từ nội Tin học nêu vấn đề Tin học xuất phát từ nhu cầu Tin học, từ việc xây dựng khoa học Tin hoc, từ phương thức tư hoạt động Tin học Gợi động theo cách cần thiết vì: - Việc gợi động xuất phát từ thực tế thực Thông thường bắt đầu nội dung lớn, chẳng hạn phân môn hay chương ta nên cố gắng xuất phát từ thực tế Còn hay phần cần tính tới khả gợi động từ nội Tin học Đó cách sau đây: a) Đáp ứng nhu cầu xóa bỏ hạn chế Xét tốn : “Viết chương trình cho máy tính chu vi, diện tích đường chéo ba hình chữ nhật theo hai kích thước hình Trong đó: - Hình thứ có hai kích thước a1, a2 - Hình thứ hai có hai kích thước b1, b2 - Hình thứ ba có hai kích thước a1+b1 a2*b2” Để thực yêu cầu đề bài, phải viết viết lại ba dòng liên tiếp tính chu vi, diện tích đường chéo hình chữ nhật Giả sử phải tính đến n hình chữ nhật vấn đề thực phức tạp Trong tốn ta chưa có phần kiểm tra điều kiện nhập vào hình Nếu có thêm điều kiện này, chắn chương trình dài Vấn đề đặt là: làm xóa bỏ hạn chế này? Ở đây, hướng dẫn cho học sinh sử dụng chương trình để khắc phục hạn chế Thay phải viết nhiều lần lệnh nhập, tính tính lại cho hình ta viết thủ tục: Thủ tục nhập hai cạnh hình chữ nhật Thủ tục Tính ba giá trị cho hình Var a1, b1, a2, b2: Real; Procedure Nhap(Var x, y: Real; i: Byte); Begin Writeln('Nhap hai kich thuoc cua hinh chu nhat thu ',i,':'); Repeat Write('Canh thu nhat: '); Readln(x); Write('Canh thu hai : '); Readln(y); If (x 0); End; Procedure Tinh(a, b: Real; k: Byte); Begin Writeln('Hinh chu nhat thu ',k,':'); Writeln('Chu vi bang : ',2 * (a + b):0:2); Writeln('Dien tich bang : ',a * b:0:2); Writeln('Duong cheo bang: ',sqrt(a * a + b * b):0:2); End; Begin Nhap(a1, b1, 1); Nhap(a2, b2, 2); Tinh(a1, b1, 1); Tinh(a2, b2, 2); Tinh(a1 + b1, a2 * b2, 3); Readln End b) Hướng tới tiện lợi hợp lý hóa cơng việc Xét toán sau: “Nhập vào dãy n số nguyên lớn Viết hình tất số dãy thỏa mãn điều kiện số nguyên tố” Var A: Array[1 100] Of Integer; k,n: Integer; Function NgTo(a: Integer):Boolean; Var u: Integer; Begin NgTo:=False; For u := To Trunc(sqrt(a)) Do If a mod u = Then Exit; NgTo := a > 1; End; Begin Write('Nhap so phan tu: '); Readln(n); Writeln('Nhap cac phan tu cua day Chu y: A[k] >= 2'); For k := to n Begin Repeat Write('A[',k,'] = ');Readln(A[k]); If A[k] < Then Writeln('Ban can nhap A[k] > Vui long nhap lai!'); Until A[k] >= 2; End; Writeln('Cac so nguyen to cua day so tren la:'); For k := to n If NgTo(A[k]) Then Write(A[k]:6); Readln End Từ chương trình giúp cho học sinh thấy việc sử dụng chương trình hợp lý hóa, tiết kiệm cơng sức lập trình Đồng thời, chương trình giúp cho người lập trình dễ sửa chữa, dễ kiểm tra Cụ thể với tốn sửa chữa thành tốn: “Viết hình tất số dãy thỏa mãn điều kiện hợp số” hai câu lệnh: - Dòng lệnh Writeln(‘Cac so nguyen to cua day so tren la:’); Sửa thành: Writeln(‘Cac so la hop so cua day so tren la:’); - Dòng lệnh : If NgTo(A[k]) Then Write(A[k]:6) ta thay dòng lệnh If Not NgTo(A[k]) Then Write(A[k]:6) c) Chính xác hóa khái niệm Có khái niệm mà học sinh biết riêng lẻ chưa thể đưa nhận xét, kết luận xác liên quan tới khái niệm đó; tới thời điểm có đủ điều kiện gợi lại vấn đề giúp học sinh xác hóa khái niệm Chẳng hạn, ta cần xác hóa khái niệm sử dụng tham biến chương trình Sau học cách sử dụng tham trị, yêu cầu học sinh làm tập sau: “Viết thủ tục nhập vào số đo bán kính đường tròn Sau tính chu vi diện tích đường tròn đó” Var r1, r2, r3: Real; Procedure Nhap( r: Real; k:Byte); Begin Repeat Write('Nhap ban kinh cua duong tron thu ',k,': '); Readln(r); If r 0; End; Begin Nhap(r1, 1); Nhap(r2, 2); Nhap(r3, 3); Writeln('Duong tron Chu vi bang:',2 * pi * r1:6:1,' Dien tich bang: ',pi * sqr(r1):6:1); Writeln('Duong tron Chu vi bang:',2 * pi * r2:6:1,' Dien tich bang:',pi * sqr(r2):6:1); Writeln('Duong tron Chu vi bang:',2 * pi * r3:6:1,' Dien tich bang:',pi * sqr(r3):6:1); Readln End Chúng ta yêu cầu học sinh thực thi chương trình chạy thử Học sinh phát kết chu vi diện tích ba đường tròn Vấn đề đặt là: Chương trình sai chỗ nào? Lúc giáo viên khẳng định phân biệt tham biến tham trị, giá trị tham biến lưu giữ chương trình con, giá trị tham trị lưu giữ thực chương trình con, khỏi chương trình khơng lưu giữ giá trị Điều giúp cho xác hóa khái niệm tham biến tham trị cho học sinh Chương trình cần sửa lại sau: Var r1, r2, r3: Real; Procedure Nhap(Var r: Real; k:Byte); Begin Repeat Write('Nhap ban kinh cua duong tron thu ',k,': '); Readln(r); If r 0; End; Begin Nhap(r1, 1); Nhap(r2, 2); Nhap(r3, 3); Writeln('Duong tron Chu vi bang:',2 * pi * r1:6:1,' Dien tich bang: ',pi * sqr(r1):6:1); Writeln('Duong tron Chu vi bang:',2 * pi * r2:6:1,' Dien tich bang:',pi * sqr(r2):6:1); Writeln('Duong tron Chu vi bang:',2 * pi * r3:6:1,' Dien tich bang:',pi * sqr(r3):6:1); Readln End d) Hướng tới hoàn chỉnh hệ thống Để giúp học sinh nắm bắt kiến thức chương trình cách có hệ thống Sau học xong chương trình con, đưa sơ đồ sau: Thủ tục Khơng Có tham chiếu Chương trình Tham trị Hàm Có tham chiếu Tham biến Tiếp theo, để giúp cho học sinh nhìn thấy vấn đề có hệ thống rõ ràng hơn, đặc biệt giúp cho học sinh hiểu rõ vấn đề chương trình Chẳng hạn đâu biến toàn cục, đâu biến địa phương, dùng tham biến, dùng tham trị, chương trình gọi lẫn nào?, Chúng ta đưa ví dụ sau: “Viết chương trình nhập vào số cạnh n tam giác, sau tính diện tích tam giác vừa nhập tổng diện tích tất tam giác đó” Var a:array[1 3,1 100] Of Real; {Bien toan cuc} Function Ktra(x, y, z: Real): Boolean; {Ham co tham tri} Begin Ktra := (x < y + z) And (y < x + z) And (z < x + y); End; Procedure Nhap(Var a, b, c: Real; i:Byte); {Thu tuc co tham bien} Begin Writeln('Nhap vao ba canh cua tam giac thu ',i,': '); Repeat Write('Nhap dai canh thu nhat: '); Readln(a); Write('Nhap dai canh thu hai : '); Readln(b); Write('Nhap dai canh thu ba : '); Readln(c); If Not Ktra(a, b, c) Then Writeln('Ba dai vua nhap khong phai la canh tam giac! Nhap lai:'); Until Ktra(a, b, c); End; Function DT(m, n, p:Real): Real; {Ham co tham tri} Var d: Real; {Bien cuc bo} Begin d := (m + n + p) / 2; DT := sqrt(d * (d - m) * (d - n) * (d - p)); End; Procedure Tinh; {Thu tuc khong co tham chieu} Var k, n, j: Integer; tong: Real; {Bien cuc bo} Begin Write('Nhap so tam giac: ');Readln(n); tong:=0; For k:=1 to n Nhap(a[1,k], a[2,k], a[3,k], k); For k:=1 to n Begin Tong := tong + DT(a[1, k], a[2,k], a[3,k]); Writeln('Dien tich cua tam giac thu ',k,': ',DT(a[1, k], a[2, k], a[3, k]):6:1); End; Writeln('Tong dien tich cua ',n,' tam giac la: ',tong:6:1); End; Begin Tinh; Readln End 10 e) Lật ngược vấn đề Xuất phát, cho học sinh thực tốn sau: “Viết chương trình đổi xâu ký tự thành chữ HOA” Var x:String; Procedure Doi(x: String); Var d, i:Integer; Begin d := 0; Write('Doi sang chu hoa: '); For I := to Length(x) Do Write(Upcase(x[i])); End; Begin Write('Nhap xau: '); Readln(x); Doi(x); Readln End Ngược lại, đặt câu hỏi: Nếu ta cần đổi xâu ký tự thành xâu chữ thường làm nào? Học sinh biết bảng mã ASCII ký tự viết hoa A, B, C, , Z mã hóa số từ 65 đến 90 Còn ký tự thường a, b, c, z mã hóa số từ 97 đến 122 Ta thấy rõ ký tự viết hoa viết thường chữ cách 32 đơn vị Chính vậy, ta sử dụng quy luật để đổi xâu ký tự viết HOA thành xâu ký tự viết thường cách dùng vòng For chạy từ đầu xâu đến cuối xâu đổi ký tự thành mã ASCII, gặp ký tự viết hoa, ta cộng mã ASCII thêm 32 đơn vị Chương trình sau: Var x: String; Procedure Doi(x: String); Var d, i:Integer; Begin d := 0; Write('Doi sang chu thuong: '); For i := to Length(x) Do Begin d := ord(x[i]); If (d >= 65) And (d b Then a := a - b Else b := b - a; End; Write(a); Readln End Tiếp theo, Chúng ta yêu cầu học sinh: “Sử dụng chương trình để tìm ước chung lớn ba số ” Đến đây, để viết hàm tính ước chung lớn hai số, nên hướng dẫn học sinh sử dụng thuật tốn Ơclit để viết chương trình nhằm tăng tốc độ tính tốn Var a, b, c, tam: Integer; Function UCLN(Var x, y: Integer): Integer; Var tam: Integer; Begin While y0 Begin tam := x mod y; x := y; y := tam; End; UCLN := x; End; Begin Writeln('Nhap ba so: '); Readln(a, b, c); Write('UCLN(',a,',',b,',',c,') = '); 12 tam := UCLN(a, b); Write(UCLN(tam, c)); Readln End Sau thực việc sử dụng chương trình để tìm ước chung lớn ba số thành công Khái quát: yêu cầu học sinh giải toán: “Viết chương trình tìm ước chung lớn n số ” Để thực hiện, ta hướng dẫn học sinh dùng thủ tục tìm ước chung lớn hai số Sau đó, dùng biến tạm u để lưu giữ giá trị dãy số, ta xác định ước chung lớn u với giá trị dãy từ vị trí thứ hai Cuối cùng, ước chung lớn dãy giá trị u Var A: Array[1 100] Of Integer; a1, u, i, n: Integer; Procedure UCLN(Var x, y: Integer); Var tam, tg: Integer; Begin While y0 Begin tam := x mod y; x := y; y := tam; End; End; Begin Write('Ban can tinh UCLN cua bao nhieu so? Nhap: '); Readln(n); For i := to n Begin Write('So thu ',i,': '); Readln(A[i]); End; Write('UCLN('); For i := to n-1 Write(a[i],','); Write(a[n],') = '); u := a[1]; For i:= to n UCLN(u, a[i]); Write(u); Writeln; Readln End 2.3.2 Gợi động trung gian a) Hướng đích 13 Xuất phát từ tốn giải phương trình bậc hai ta có mục tiêu chia tốn ban đầu thành toán nhỏ độc lập Chẳng hạn:Ta sử dụng chương trình thành hai tốn : T1: Giải phương trình bậc T2: Giải phương trình bậc hai Var a, b, c: Real; Procedure ptb1(m,n:Real); Begin If m = Then If n = Then Writeln('Phuong trinh co vo so nghiem!') Else Writeln('Phuong trinh vo nghiem!') Else Writeln('Phuong trinh co mot nghiem: x = ',-n/m:0:1) End; Procedure ptb2(x, y, z: Real); Var d: Real; Begin D := y * y - * x * z; If d < Then Writeln('Phuong trinh vo nghiem!') Else If d = Then Writeln('Phuong trinh co nghiem kep: x1 = x2 = ',-y / (2 * x):0:1) Else Begin Writeln('Phuong trinh co hai nghiem phan biet:'); Writeln('x1 = ',(-y + sqrt(d)) / (2 * x):0:1); Writeln('x2 = ',(-y - sqrt(d)) / (2 * x):0:1); End; End; Begin Writeln('Nhap he so cua phuong trinh:'); Write('a = '); Readln(a); Write('b = '); Readln(b); Write('c = '); Readln(c); If a=0 Then ptb1(b, c) Else ptb2(a, b, c); Readln End b) Quy lạ quen n! k Xét tốn : Tính C nk Học sinh biết công thức : C n k!(n k )! Bài toán ta quy tốn quen thuộc tính n! Ở cần lưu ý với học sinh 14 rằng: Để tính C nk ta cần xây dựng chương trình tính n! sau đó, ta tìm C nk công thức Tuy nhiên, cần phải xây dựng chương trình Nhap để tránh việc người sử dụng nhập số âm nhập k > n Var k, n: Integer; C:Real; Procedure Nhap; Begin Repeat Write('Nhap k = '); Readln(k); Write('Nhap n = '); Readln(n); If (k < 0) Or (n < 0) Or (k > n) Then Writeln('Nhap lai!'); Until (k > 0) And (n > 0) And (k < n); End; Function GT(a:Integer): Integer; Var kq, i:Integer; Begin kq:=1; For i:=1 to a kq:=kq * i; GT:=kq; End; Begin Nhap; C := GT(n) / (GT(k) * GT(n - k)); Writeln('C = ', C:0:0); Readln End c) Xét tương tự Xuất phát từ tốn: “Tính n! thuật tốn đệ quy” Var n: Integer; Function GT(a:Integer): Real; Begin If a = Then GT:=1 Else GT:=GT(a - 1) * a; End; Begin Write('Nhap n = '); Readln(n); Writeln(n,'! = ', GT(n):0:0); Readln 15 End Tương tự, yêu cầu học sinh thực giải tốn: “Tính an thuật toán đệ quy” Var a, n: Integer; Function Mu(x:Integer; y:Integer):Real; Var T: Real; Begin If y = Then Mu:=1 Else Begin Mu:=Mu(x, y - 1) * x; End; End; Begin Write('Nhap a = '); Readln(a); Write('Nhap n = '); Readln(n); Writeln(a,' mu ',n,' = ',Mu(a , n):0:0); Readln End d) Khái qt hóa Xuất phát từ tốn: “Sắp xếp ba số a, b, c theo thứ tự tăng dần” Var a,b,c: Real; Procedure Sapxep(Var x, y, z: Real); Var tg: Real; Begin If x > y Then Begin tg := x; x := y; y := tg; End; If y > z Then Begin tg := y; y := z; z := tg; End; If x > y Then Begin tg := x; x := y; y := tg; End; End; Begin Writeln('Nhap vao ba so: '); Write('So thu nhat: '); Readln(a); 16 Write('So thu hai : '); Readln(b); Write('So thu ba : '); Readln(c); Sapxep(a, b, c); Writeln('Ba so sau sap xep la:'); Write(a:6:0, b:6:0, c:6:0); Readln End Ở cần lưu ý với học sinh : lệnh gán nhận giá trị giá trị cũ Vì mà trước thực lệnh gán x := y để máy nhận giá trị b ta phải gửi giá trị cũ x vào biến tg Tại lệnh thứ ba lại giống lệnh thứ nhất? x, y, z, tg địa lưu trữ giá trị Những giá trị bị thay đổi qua lệnh gán Địa biến khơng đổi, nội dung biến thay đổi thực lệnh gán 2.3.3 Gợi động kết thúc Gợi động kết thúc có tác dụng nâng cao tính tự giác hoạt động học tập học sinh cách gợi động khác Mặc dù khơng có tác dụng kích thích nội dung qua hoạt động thực hiện, góp phần gợi động thúc đẩy hoạt động nói chung nhiều việc gợi động kết thúc trường hợp lại chuẩn bị gợi động cho trường hợp tương tự sau Trong thực tế hoạt động dạy học, nhiều từ đầu giải vấn đề, ta chưa thể làm rõ lại học nội dung này, lại thực hoạt động Những câu hỏi phải đợi sau giải đáp giải đáp trọn vẹn Như vậy, ta gợi động kết thúc, nhấn mạnh hiệu nội dung hoạt động với việc giải vấn đề đặt Xét tốn sau: “Lập chương trình cho máy tính tìm đường trung tuyến tam giác biết số đo ba cạnh a, b, c nhận vào từ bàn phím” Trong tốn u cầu học sinh chia thành nhiều toán nhỏ độc lập Cụ thể là: Var a, b, c, S: Real; Function Ktra: Boolean; Begin Ktra := (a < b + c) And (b < a + c) And (c < a + b); End; Procedure Nhap; Begin Repeat Write('Nhap dai canh thu nhat: '); Readln(a); Write('Nhap dai canh thu hai : '); Readln(b); 17 Write('Nhap dai canh thu ba : '); Readln(c); If Not Ktra Then Writeln('Ba dai vua nhap khong phai la canh tam giac! Nhap lai:'); Until Ktra; End; Procedure Trung_Tuyen(m, n, p: Real); Begin Writeln('Trung tuyen qua canh ',m:0:2,' la: ',0.5 * sqrt(2* (n * n + p * p) - m * m):0:2); End; Procedure BaTT; Begin Trung_tuyen(a, b, c); Trung_tuyen(b, a, c); Trung_tuyen(c, b, a); End; Begin Nhap; BaTT; Readln End Sau chương trình chạy thơng suốt, ta gọi lại chương trình cho học sinh thấy tốn tính đường trung tuyến tam giác nên hàm Ktra, thủ tục Nhap, thủ tục BaTT khơng có tham chiếu Việc sử dụng chương trình đề cập đến với tham chiếu toán cần tính đường trung tuyến nhiều tam giác mà cách xác định ba cạnh tam giác khác Để thực ý định trên, ta yêu cầu học sinh giải toán sau: “Lập trình cho máy tính in lên hình đường trung tuyến tam giác theo độ dài ba cạnh tam giác - Tam giác thứ có độ dài ba cạnh a1, b1, c1 - Tam giác thứ hai có độ dài ba cạnh a2, b2, c2 - Tam giác thứ ba có độ dài ba cạnh a1 + a2, b1 + b2, c1 + c2” Var a1, b1, c1,a2, b2, c2, S: Real; Function Ktra(x, y, z: Real): Boolean; Begin Ktra := (x < y + z) And (y < x + z) And (z < x + y); End; Procedure Nhap(Var a, b, c: Real; k: Byte); 18 Begin Writeln('Tam giac thu ',k,':'); Repeat Write('Nhap dai canh thu nhat: '); Readln(a); Write('Nhap dai canh thu hai : '); Readln(b); Write('Nhap dai canh thu ba : '); Readln(c); If Not Ktra(a, b, c) Then Writeln('Ba dai vua nhap khong phai la canh tam giac! Nhap lai:'); Until Ktra(a, b, c); End; Procedure Trung_Tuyen(m, n, p: Real); Begin Writeln('Trung tuyen qua canh ',m:0:2,' la: ',0.5* sqrt(2* (n * n + p * p) - m * m):0:2); End; Procedure BaTT(a, b, c:Real; i:Byte); Begin Writeln('Do dai ba trung tuyen cua tam giac thu ',i,':'); Trung_tuyen(a, b, c); Trung_tuyen(b, a, c); Trung_tuyen(c, b, a); End; Begin Nhap(a1, b1, c1, 1); Nhap(a2 ,b2, c2, 2); BaTT(a1, b1, c1, 1); BaTT(a2, b2, c2, 2); BaTT(a1 + a2, b1 + b2, c1 + c2, 3); Readln End 2.4 Hiệu đề tài nghiên cứu Sau áp dụng đề tài nghiên cứu năm giảng dạy với giải pháp nêu thu kết quả: - Hầu hết em biết cách giải tốn có sử dụng chương trình theo chuẩn kiến thức, kỹ Hiểu rõ chất chương trình đặc biệt tốn điển sách giáo khoa sách tập, em biết vận dụng linh hoạt viết chương trình cho tốn tơi đưa mức độ tương tự nâng cao - Bản thân tơi có thêm nhiều kinh nghiệm kỹ để giảng dạy truyền đạt cho em học bổ ích lý thú Được đồng nghiệp ủng hộ 19 - Tôi khảo sát lại kỹ em sau áp dụng giải pháp đề tài sáng kiến năm học 2018 – 2019 qua kiểm tra thực hành 45 phút lớp sau: Đề bài: Viết chương trình nhập vào từ bàn phím số nguyên dương N dãy a1, a2, ,aN In hình số hồn hảo có dãy a Đa phần em làm tốt, thành thạo, tỷ lệ học sinh viết hồn thiện chương trình tăng lên nhiều so với năm trước lớp mũi nhọn lớp đại trà Lớp Số HS Viết hồn thiện chương trình Chưa hồn thiện chương trình Số lượng % Số lượng % 11A1 43 35 81,4 18,6 11A2 42 30 71,4 12 28,6 11A3 45 35 78 10 22 III KẾT LUẬN VÀ ĐỀ XUẤT 3.1 Kết luận Qua việc tìm hiểu lộ trình đổi giáo dục Bộ giáo dục Đào tạo Việt Nam việc đổi phương pháp dạy học môn Tin học trường Trung học phổ thông Lê Lợi, đưa số biện pháp để ứng dụng việc dạy tốt môn Tin học nhằm khích lệ học sinh yêu thích mơn Tin học Đặc biệt dạy học lập trình phần khó khơng giáo viên trường tôi, số giáo viên trường khác gặp phải khơng khó khăn Chính sáng kiến kinh nghiệm này, tơi muốn đưa cách tiếp cận môn Tin học cách tự nhiên dựa vào yêu thích say mê sẵn có từ mơn học khác em học sinh Đề tài mang tính thực tiễn cao cụ thể là: tiết học em học sinh chủ động để tìm tòi lại kiến thức học qua giải vấn đề giáo viên đặt Trong trình giải vấn đề, giáo viên sai lầm mà em học sinh mắc phải từ em hiểu rõ câu lệnh ngôn ngữ lập trình 3.2 Đề xuất Nhà trường cần có đầu tư nâng cấp thêm cho phòng máy thực hành học sinh, bổ xung thêm tài liệu, tranh minh hoạ, mơ hình dạy học lập trình nhà trường, để em có thêm tài liệu tham khảo, giáo viên nghiên cứu dạy Đề tài sáng kiến áp dụng cho kết khả quan cơng tác giảng dạy mình, nhiên sáng kiến khơng thể tránh khỏi thiếu sót, hạn chế cá nhân tơi Vậy tơi kính mong nhận đóng góp quý đồng nghiệp, người quan tâm nội dung để sáng kiến hoàn thiện Trên toàn nội dung sáng kiến kinh nghiệm việc gợi động hoạt động dạy học chương trình con, tơi thực năm học 2018 – 2019 Trong trình thực khơng thể tránh khỏi thiếu sót, tơi 20 mong đóng góp ý kiến quý thầy cô giáo đồng nghiệp để sáng kiến tơi hồn thiện XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN VỊ Thọ Xuân, ngày 20 tháng năm 2019 Tôi xin cam đoan SKKN viết, khơng chép nội dung người khác Nguyễn Thị Trang 21 TÀI LIỆU THAM KHẢO Sách Giáo khoa Tin Học 11 – Hồ Sĩ Đàm Sách Giáo viên Tin Học 11 – Hồ Sĩ Đàm Nguồn: https://tusach.thuvienkhoahoc.com/Hướng_đích_và_gợi_động_cơ Nguồn: https://www.google.com.vn 22 ... dụng thiết thực vào sống thực tế nhu cầu nảy sinh, em tự hồn thành ý tưởng Với lý tơi xin trình bày sang kiến “ Một số kinh nghiệm gợi động hoạt động việc giảng dạy chương trình con nhằm giúp học... dụng chương trình để hợp lý hóa, tiết kiệm cơng sức lập trình Đồng thời, chương trình giúp cho người lập trình dễ sửa chữa, dễ kiểm tra Vấn đề đặt là: gợi động hoạt động cho học sinh giảng dạy chương. .. trọng Gợi động việc làm ngắn ngủi lúc bắt đầu dạy tri thức đó, mà phải xun suốt q trình dạy học Vì vậy, phân biệt gợi động mở đầu, gợi động trung gian gợi động kết thúc Trong đề tài em xin đưa số