Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
303 KB
Nội dung
Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con A. PHẦN MỞ ĐẦU I. Lý do chọn đề tài: Thế kỷ XXI là thế kỷ của nền kinh tế tri thức. Nói đến tri thức, sáng tạo tri thức, phổ biến, truyền thụ tri thức, học tập và lĩnh hội tri thức không thể không nói đến khoa học - công nghệ và giáo dục - đào tạo. Sự nghiệp giáo dục phải đáp ứng những đòi hỏi của cách mạng khoa học và công nghệ. Đó là một yêu cầu có tích chất nguyên tắc. Chính vì vậy, sự hiểu biết nhất định về máy tính điện tử, công nghệ thông tin không phải chỉ là vốn riêng của một số người chuyên nghiệp mà phải trở thành học vấn phổ thông của tất cả mọi người trong xã hội, nhất là thế hệ trẻ. Chính vì vậy, từ năm 1993 Bộ Giáo dục và Đào tạo đã quyết định đưa môn Tin học vào giảng dạy trong các trường phổ thông. Tin học là một môn học công cụ, có tính trừu tượng và tính thực tiễn phổ dụng. Những tri thức và kỹ năng Tin học cùng với phương pháp làm việc trong Tin học đã trở thành công cụ để học tập những môn học khác trong nhà trường, là công cụ của nhiều ngành khoa học khác cũng như hoạt động trong đời sống thực tế. Bởi vậy, dạy Tin học không chỉ đơn thuần là tạo điều kiện cho học sinh chiếm lĩnh những tri thức và kỹ năng Tin học mà còn phải góp phần phát triển năng lực trí tuệ chung cho học sinh, trong đó có vấn đề dạy học tư duy lập trình mà ngôn ngữ lập trình Pascal là một ví dụ. Tuy nhiên, hầu hết học sinh rất khó khăn để tiếp thu kiến thức của môn học này vì nhiều lý do như: Phải có tư duy thuật toán tốt, đòi hỏi tư duy nhiều, bài học khô khan, khó hiểu, các thuật ngữ bằng tiếng Anh… làm cho môn học pascal trở nên không hứng thú đối với các em. Vấn đề này thật sự thể hiện rất rõ nét đối với những học sinh vùng nông thôn như học sinh trường THPT Nông Cống 4. Hiện nay, tôi nhận thấy trong lý luận dạy học sử dụng khá nhiều phương pháp như: Phương pháp thảo luận, phương pháp đặt câu hỏi, phương pháp chia nhóm … Theo các phương pháp trên cũng có nhiều cách thiết kế bài giảng nhằm mục đích bồi dưỡng và tạo cảm hứng cho học sinh năng lực ham muốn học hỏi, tư duy sáng tạo, năng lực tự giải quyết vấn đề, rèn luyện và phát triển năng lực tự học sáng tạo, làm việc một cách tư duy tự chủ. Bên cạnh đó, trong các kỹ thuật dạy học mới, vai trò của người thầy có sự thay đổi là: “hướng dẫn học sinh biết tự mình tìm ra hướng giải quyết những vấn đề nảy sinh trong quá trình học tập, biết cách làm việc độc lập, làm việc tập thể. Thầy là người định hướng, là người cố vấn giúp học sinh tự đánh giá, cũng như giúp học sinh luôn đi đúng con đường tìm hiểu, lĩnh hội kiến thức…”. Qua những năm dạy học, áp dụng những phương pháp dạy học trên tôi nhận thấy có hiệu quả nhưng chưa thật sự cao bởi vì sự tư duy gắn kết trong suốt quá trình học năm lớp 11. Các em hầu như chỉ chú ý trong học kỳ 1, còn sang học kỳ 2 về cuối học kỳ thì các em đã giảm dần sự hứng thú. Trong khi tầm quan trọng của phần chương trình con thể hiện ở các đặc trưng như: Sử dụng chương trình con để hợp lý, tiết kiệm công sức lập trình. Đồng 1 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con thời, chương trình con có thể giúp cho người lập trình dễ sửa chữa, dễ kiểm tra. Đặc biệt, khi học về chương trình con, học sinh có thể hiểu một cách sâu sắc hơn về ngôn ngữ lập trình, nhìn nhận vấn đề một cách sáng sủa hơn, chặt chẽ hơn và nhất là chương trình con có thể giúp cho các em hoàn thành những chương trình lớn hơn vượt ra những bài toán bình thường và chương trình con cũng là chương trình tổng hợp các kiến thức các em đã học trong cả năm học lớp 11. Đó cũng là vấn đề để tôi nêu một số kinh nghiệm trong đề tài: “Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con”, phần chương trình con – SGK lớp 11. Nhằm giúp các em học sinh noi chung và học sinh ở trường THPT Nông Cống 4 nói riêng có khả năng tư duy lập trình và học tốt bộ môn Pascal. II. Mục đích nghiên cứu Nâng cao hiệu quả dạy học của giáo viên và tiếp thu kiến thức trong quá trình học tập của học sinh đối với môn học đòi hỏi tư duy sáng tạo như lập trình pascal, đặc biệt là phần chương trình con. Tạo động cơ cho học sinh ý thức về ý nghĩa của các hoạt động khi sử dụng chương trình con trong công việc lập trình. Từ đó, học sinh có thể liên hệ , vận dụng sáng tạo vào giải quyết các bài toán lập trình và các tình huống thực tế nhằm góp phần hình thành và phát triển năng lực trí tuệ chung cho học sinh THPT. III. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu: - Nghiên cứu dạy học lập trình trong chương trình Tin học phổ thông, đặc biệt là phần chương trình con – SGK lớp 11. - Nghiên cứu các tài liệu liên quan đến thuật toán và ngôn ngữ lập trình Pascal. - Nghiên cứu một số tài liệu về đổi mới phương pháp giáo dục. - Nghiên cứu hoạt động dạy và học của giáo viên và học sinh ở trường THPT. Phạm vi nghiên cứu: Là giáo viên Tin học mới vào ngành, thời gian hạn chế nên trong đề tài này tôi xin nêu lên một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con, SGK lớp 11. IV. Nhiệm vụ nghiên cứu Nhằm đạt được mục đích nghiên cứu đã nêu, cần phải thực hiện các nhiệm vụ sau: - Nghiên cứu tình hình dạy và học Tin học ở trường THPT hiện nay. Trao đổi, tìm hiểu kinh nghiệm của giáo viên phổ thông, tiếp cận học sinh khi học ngôn ngữ lập trình Pascal về năng lực và trí tuệ. - Nghiên cứu những cơ sở về lý luận dạy học. - Áp dụng vào thực tiễn nhằm rèn luyện các thao tác tư duy, hình thành và phát triển tư duy logic, suy đoán trừu tượng nhằm giúp các em giải các bài tập Pascal. 2 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con - Đưa ra các phương pháp, động cơ trong dạy học, xây dựng hệ thống bài tập có chuyên đề cụ thể để học sinh dễ tiếp cận bài học. V. Phương pháp nghiên cứu 1. Nghiên cứu lý thuyết: - Nghiên cứu các tài liệu, bài giảng về phương pháp dạy học Tin học. - Nghiên cứu các tài liệu về phương pháp dạy học môn Toán, các tài liệu giáo dục học, tâm lý học - Nghiên cứu vị trí, khối lượng kiến thức về ngôn ngữ lập trình Pascal trong chương trình THPT. - Nghiên cứu các tài liệu về ngôn ngữ lập trình Pascal. - Nghiên cứu các công văn hướng dẫn của Bộ Giáo dục và Đào tạo, Sở Giáo dục và Đào tạo về vấn đề đưa Tin học vào chương trình THPT cũng như các vấn đề về yêu cầu chất lượng giáo dục. 2. Thực nghiệm sư phạm: - Tìm hiểu qua giáo viên để nắm được tình hình giảng dạy và học tập Tin học trong nhà trường THPT Nông Cống 4 hiện nay. - Kiểm chứng bước đầu qua đợt thực tập sư phạm: sẽ tiến hành giảng dạy ở các lớp trong trường THPT nhằm kiểm tra giả thuyết khoa học, minh họa tính khả thi và tính hiệu quả của giải pháp đề xuất. - Tiến hành cụ thể bằng 2 giai đoạn tại trường THPT Nông Cống 4: o Giai đoạn 1: Năm học 2011 – 2012 tại các lớp 11A3 và 11A6. o Giai đoạn 2: Năm học 2012 – 2013 tại các lớp 11B3 và 11B1. 3 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con B. PHẦN NỘI DUNG I. Cơ sở lý luận của đề tài. 1. Nghiên cứu lý luận Qua nghiên cứu cho thấy, Lý luận dạy học Tin học được coi như là một bộ phận của khoa học giáo dục. Và theo quan điểm đó thì lý luận dạy học Tin học cũng như lý luận dạy học các môn học khác lấy tri thức về tâm lý học, về lý luận giáo dục và về lý luận dạy học đại cương làm nền tảng. Tuy nhiên, lý luận dạy học Tin học còn phải dựa vào nội dung và phương pháp nghiên cứu của bộ môn Tin học. Từ cơ sở này làm nảy sinh tính đặc thù của lý luận dạy học Tin học so với lý luận dạy học các môn khác Quá trình nghiên cứu lý luận áp dụng vào các tài liệu, lý thuyết đã được khẳng định trong Tâm lý học, Giáo dục học, Công nghệ thông tin,… để từ đó tìm ra các phương pháp hợp lý có tính thuyết phục cao nhằm áp dụng vào phương pháp dạy học cho bộ môn tin học. Trong đó yếu tố quan trọng của phương pháp là “Lấy người học làm trung tâm”. 2. Nghiên cứu thông qua phương pháp quan sát - điều tra: Quan sát điều tra là quá trình tri giác (Mắt thấy, tai nghe) và ghi chép lại mọi yếu tố liên quan đến đối tượng nghiên cứu, phù hợp với mục tiêu nghiên cứu… nhằm mô tả, phân tích, nhận định, đánh giá. - Quan sát trực tiếp: Quan sát và ghi chép lại hành vi của con người ngay tại bối cảnh và thời gian thực tế diễn ra. - Quan sát gián tiếp: Không quan sát trực tiếp hành vi mà đi thu thập các dấu vết của hành vi con sót lại như: Lịch hoạt động của phòng đa năng của các giờ học bằng máy Projecter, phòng thực hành Tin học… Qua các phương pháp này nhằm điều tra, dõi hiện tượng giáo dục theo trình tự thời gian, phát hiện những biến đổi số lượng, chất lượng gây ra do tác động giáo dục. Từ đó thấy được những vấn đề thời sự cấp bách đòi hỏi phải nghiên cứu hoặc góp phần giải quyết nhiệm vụ nghiên cứu. 3. Tổng kết kinh nghiệm: Tổng kết kinh nghiệm là đánh giá và khái quát hóa những kinh nghiệm đã thu thập được trong hoạt động thực tiễn, từ đó phát hiện ra những vấn đề cần khẳng định để đưa ra áp dụng rộng rãi hoặc cần tiếp tục nghiên cứu hay loại bỏ. Nó có nguồn gốc từ kinh nghiệm, mang tính khoa học, được lĩnh hội, kiểm chứng từ quá trình hoạt động thực tiễn sinh động. Bài học kinh nghiệm là sự cụ thể hóa một cách sáng tạo tư tưởng, luận điểm, lý luận giáo dục đã đi vào cuộc sống. Trong quá trình nghiên cứu tổng kết kinh nghiệm, có khi người ta khám phá ra những mối liên hệ có tính quy luật của những hiện tượng giáo dục. 4 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con II. Thực trạng của vấn đề nghiên cứu: * Một số thuận lợi và khó khăn khi thực hiện nghiên cứu đề tài: 1. Thuận lợi: - Đối với nhà trường: Được sự quan tâm của Ban giám hiệu, tổ chuyên môn của nhà trường, trong những năm học gần đây luôn tạo điều kiện tốt nhất trong khả năng kinh tế của nhà trường để giúp giáo viên và học sinh tham gia dạy - học có hiệu quả. Phát triển công nghệ thông tin, đặc biệt là kết nối Internet để cán bộ giáo viên và học sinh tham khảo tài liệu trên mạng. - Đối với giáo viên: Giáo viên bộ môn Tin học trong nhà trường nói chung và bản thân nói riêng được đào tạo chuẩn chuyên ngành về Tin học để đáp ứng yêu cầu cho dạy và học môn Tin học trong bậc THPT. Đa số các giáo viên trong toàn trường đều quan tâm đến Tin học, ứng dụng công nghệ thông tin vào công tác học tập và giảng dạy. Đó cũng là cơ sở để tạo động lực phát huy tính ham học, tích cực của học sinh đối với bộ môn Tin học. 2. Khó khăn: - Đối với nhà trường: Mặc dù nhà trường đã quan tâm và tạo điều kiện tốt nhất, tuy nhiên cơ sở vật chất còn thiếu thốn rất nhiều. Trong khi đó đối với bộ môn, thực hành trên thiết bị máy tính chiếm đa số thời lượng học tập của các em. - Đối với giáo viên: Giáo viên sẽ trở nên rất khó khăn khi các em tham gia học tập trong điều kiện không đầy đủ máy tính thực hành. Mặc dù kiến thức lớp 11 thiên về tư duy lập trình nhưng khi có thiết bị thực hành thì thao tác kiểm tra – tư duy và trình bày ý tưởng sẽ trở nên phong phú hơn. - Đối với học sinh: 100% học sinh trường THPT Nông Cống 4 là học sinh vùng nông thôn, điều kiện kinh tế gia đình thấp nên các em không có thiết bị máy tính thực hành tại nhà. Vì vậy mà vấn đề áp dụng công nghệ thông tin (đặc biệt là Internet) cho học tập là không có. Hơn nữa, chương trình Pascal là ngôn ngữ lập trình bằng tiếng Anh các em học rất khó khăn, vì kiến thức ngoại ngữ của các em rất kém, cộng với tư duy lập trình chưa tốt nên thật sự đây là vấn đề mà bản thân tôi rất băn khoăn khi thực hiện nghiên cứu đề tài này. III. Các giải pháp và quá trình thực hiện: Làm thế nào để các em học sinh có động cơ hứng thú học tập đối với môn tin học lớp 11? Phương pháp gợi động cơ hoạt động cho học sinh rất quan trọng để các em tham 5 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con gia hoạt động tác động lên đối tượng. Làm cho học sinh có ý thức về ý nghĩa của những hoạt động và của đối tượng hoạt động. Theo đó, gợi động cơ hoạt động cũng là mục tiêu sư phạm biến thành những mục tiêu của cá nhân học sinh, chứ không phải chỉ là sự vào bài, đặt vấn đề một cách hình thức. Thông thường, giáo viên khuyến khích các em học tập tốt thường dùng những cách như cho điểm, khen thưởng, thông báo cho gia đình kết quả học tập của các em, Tuy nhiên, càng lên lớp cao, cùng với sự trưởng thành của học sinh, với trình độ nhận thức và giác ngộ chính trị ngày càng cao những cách gợi động cơ xuất phát từ nội dung hướng và những nhu cầu nhận thức, nhu cầu đời sống, trách nhiệm đối với xã hội ngày càng trở nên quan trọng. Vì vậy những phương pháp truyền thống trên áp dụng cũng có hiệu quả nhưng chỉ tạo cho các em về quyền lợi trước mắt, chưa định hướng về nhiệm vụ lâu dài. Gợi động cơ là kinh nghiệm mà tôi đã kiểm nghiệm trong thời gian thực tập sư phạm cũng như giảng dạy trên lớp rất hiệu quả. Với mỗi bài học các em đều có hứng thú mà không quan trọng về điểm đánh giá của bản thân, các em hứng thú khi mình đã hiểu bài và áp dụng cho các tiết học, các bài tập tiếp theo. Gợi động cơ gồm 3 bước: Gợi động cơ mở đầu, gợi động cơ trung gian và gợi động cơ kết thúc. 1. Gợi động cơ mở đầu: Gợi động cơ mở đầu được xuất phát từ các vấn đề thực tiễn, có thể nêu lên thực tiễn của Tin học, góp phần hình thành thế giới duy vật biện chứng. Cách đặt vấn đề mở đầu phải đảm bảo tính chân thực, không đòi hỏi quá nhiều các kiến thức bổ sung, con đường từ lúc nêu cho tới lúc giải quyết vấn đề càng ngắn càng tốt. Nhờ đó, học sinh nhận rõ việc nhận thức và cải tạo thế giới đã đòi hỏi phải suy nghĩ và giải quyết những vấn đề Tin học như thế nào, tức là nhận rõ Tin học bắt nguồn từ những nhu cầu của đời sống thực tế. Vì vậy, ta cần khai thác triệt để mọi khả năng để gợi động cơ xuất phát từ thực tế. Khi gắn nội dung bài học với sự xuất phát từ thực tiễn, thì trong dạy học Tin học chúng ta cần phải gợi động cơ từ nội bộ Tin học, đó là nêu vấn đề Tin học xuất phát từ nhu cầu Tin học. Gợi động cơ theo cách này là cần thiết vì: - Việc gợi động cơ xuất phát từ thực tế không phải bao giờ cũng thực hiện được. - Việc gợi động cơ từ nội bộ Tin học sẽ giúp học sinh hình dung được đúng sự hình thành và phát triển của Tin học cùng với những đặc điểm của nó và có thể dần dần tiến tới hoạt động Tin học một cách độc lập. Chúng ta có những phương pháp sau đây áp dụng cho những bài học có nhiều nội dung cần liên hệ thực tế: 6 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con a) Xóa bỏ các hạn chế khi lập trình giải toán: Xét bài toán: Viết chương trình nhập kích thước 2 cạnh góc vuông của 3 hình tam giác vuông, tính chu vi và diện tích của mỗi hình. Trong đó: - Kích thước 2 cạnh của hình thứ nhất là a1, a2. - Kích thước 2 cạnh của hình thứ hai là b1, b2. - Kích thước 2 cạnh của hình thứ ba là c1, c2. Chương trình: Var x1, x2, y1, y2, z1, z2, C1, C2, C3, S1, S2, S3: Real; Begin Writeln('Nhap hai canh tam giac thu nhat:'); Readln(x1,x2); Writeln('Nhap hai canh tam giac thu hai:'); Readln(y1,y2); Writeln('Nhap hai canh tam giac thu ba:'); Readln(z1,z2); C1:= x1 + x2 + sqrt(x1*x1 + x2*x2); C2:= y1 + y2 + sqrt(y1*y1 + y2*y2); C3:= z1 + z2 + sqrt(z1*z1 + z2*z2); S1:= (x1 * x2)/2; S2:= (y1 * y2)/2; S3:= (z1 * z2)/2; Writeln('Hinh tam giac thu nhat co:'); Writeln('- Chu vi bang : ',C1:8:2); Writeln('- Dien tich bang : ',S1:8:2); Writeln('Hinh tam giac thu hai co:'); Writeln('- Chu vi bang : ',C2:8:2); Writeln('- Dien tich bang : ',S2:8:2); Writeln('Hinh tam giac thu ba co:'); Writeln('- Chu vi bang : ',C3:8:2); Writeln('- Dien tich bang : ',S3:8:2); Readln End. Theo yêu cầu của đề bài, chương trình trên đã thực hiện đúng, tuy nhiên các thao tác thực hiện phải lặp đi lặp lại 3 lần để tính chu vi và diện tích 3 hình tam giác. Giả sử nếu phải tính chu vi và diện tích cho N hình tam giác thì làm thế nào? Nếu áp dụng phương pháp trên thì quá phức tạp, chương trình dài dòng và sẽ không thật sự phù hợp, đó là chưa kể trong mỗi hình khi nhập các giá trị của các cạnh chúng ta cần kiểm tra các giá trị nhập đều phải thỏa mãn giá trị cạnh của tam giác vuông. Đó thật sự là hạn chế của chương trình này. Vậy làm thế nào để khắc phục các hạn chế trên? Trong mở bài để chúng ta có thể áp dụng để vào bài cho phương pháp ứng dụng chương trình con. Thay vì phải viết nhiều lần lệnh nhập, tính đi tính lại cho từng hình ta có thể viết 2 thủ tục: 7 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con 1. Thủ tục nhập hai cạnh của tam giác vuông. 2. Thủ tục tính chu vi và diện tích cho mỗi hình. Var a, b: Real; i,N: Byte; Procedure Nhap(Var x, y: Real; k: Byte); Begin Writeln('Nhap hai cạnh cua hinh tam giac thu ',k,':'); Repeat Write('Canh thu nhat: '); Readln(x); Write('Canh thu hai : '); Readln(y); If (x <= 0) Or (y <= 0) Then Writeln('Nhap lai!'); Until (x > 0) And (y > 0); End; Procedure Tinh(m, n: Real; j: Byte); Begin Writeln(‘Chu vi hinh tam giac thu ',j,':', (m + n + sqrt(m*m + n*n)):8:2); Writeln(‘Dien tich hinh tam giac thu ',j,':', (m * n)/2):8:2); End; Begin Writeln(‘Nhap so luong tam giac N = ’); Readln(N); For i:= 1 to N do begin Nhap(a, b,i); Tinh(a,b,i); end; Readln End. b) Phân tích các khái niệm: Trong một số bài độc lập, các khái niệm đã được ứng dụng cụ thể. Ví dụ khái niệm về tham biến trong các bài toán có giá trị biến thay đổi, ngược lại trong bài toán giá trị biến không thay đổi thì dùng tham trị. Điều này học sinh hầu như chỉ áp dụng trong các bài toán độc lập trên, vì vậy khi gặp các bài toán tổng hợp các em chưa thể phân tích, kết luận chính xác để áp dụng nhuần nhuyễn các khái niệm trên. Vì vậy ta có thể gợi lại vấn đề và giúp học sinh áp dụng chính xác khái niệm đó. Chẳng hạn, ta cần chính xác hóa khái niệm sử dụng tham biến của chương trình con. Sau khi học cách sử dụng tham trị, ta có thể yêu cầu học sinh làm bài tập sau: “Viết một thủ tục nhập vào số đo bán kính của 3 đường tròn. Sau đó tính chu vi và diện tích của mỗi đường tròn đó”. Var r1, r2, r3: Real; Procedure Nhap( r: Real; i:Byte); Begin Repeat Write('Nhap ban kinh cua duong tron thu ',i,': '); Readln(r); If r <= 0 Then Writeln('Nhap lai!'); 8 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con Until r > 0; End; Begin Nhap(r1, 1); Nhap(r2, 2); Nhap(r3, 3); Writeln('Duong tron 1 Chu vi bang:',2 * pi * r1:8:2,' Dien tich bang: ',pi * sqr(r1):8:2); Writeln('Duong tron 2 Chu vi bang:',2 * pi * r2:8:2,' Dien tich bang:',pi * sqr(r2):8:2); Writeln('Duong tron 3 Chu vi bang:',2 * pi * r3:8:2,' Dien tich bang:',pi * sqr(r3):8:2); Readln End. Sau khi học sinh chạy thử chương trình trên, các em sẽ phát hiện ra kết quả không như mong muốn vì kết quả chu vi và diện tích của cả ba đường tròn đều bằng 0. Vậy chương trình sai ở chỗ nào? Lúc này ta có thể khẳng định sự phân biệt giữa tham biến và tham trị, các giá trị của tham biến được lưu giữ khi ra ngoài chương trình con, còn giá trị của tham trị chỉ lưu giữ khi thực hiện chương trình con, nếu ra khỏi chương trình con nó sẽ không còn lưu giữ giá trị đó. Điều này sẽ giúp cho chúng ta đưa ra các ví dụ cụ thể nhằm chứng minh cho khái niệm tham biến và tham trị cho học sinh thấy rõ. Chương trình trên được sửa lại như sau: Var r1, r2, r3: Real; Procedure Nhap(Var r: Real; i:Byte); Begin Repeat Write('Nhap ban kinh cua duong tron thu ',i,': '); Readln(r); If r <= 0 Then Writeln('Nhap lai!'); Until r > 0; End; Begin Nhap(r1, 1); Nhap(r2, 2); Nhap(r3, 3); Writeln('Duong tron 1 Chu vi bang:',2 * pi * r1:8:2,' Dien tich bang: ',pi * sqr(r1):8:2); Writeln('Duong tron 2 Chu vi bang:',2 * pi * r2:8:2,' Dien tich bang:',pi * sqr(r2):8:2); Writeln('Duong tron 3 Chu vi bang:',2 * pi * r3:8:2,' Dien tich bang:',pi * sqr(r3):8:2); Readln End. c) Sự tiện lợi và hợp lý khi sử dụng chương trình con: Xét bài toán sau: “Nhập 1 dãy gồm n số nguyên lớn hơn 1. In ra màn hình tất cả các số nguyên tố ở trong dãy”. Const Nmax = 100; Var A: Array[1 Nmax] Of Integer; k,n: Integer; Function NgTo(a: Integer):Boolean; Var i: Integer; Begin 9 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con NgTo:=False; For i := 2 To Trunc(sqrt(a)) Do If a mod i = 0 Then Exit; NgTo := True; End; Begin Write('Nhap so phan tu: '); Readln(n); Writeln('Nhap cac phan tu cua day’); For k := 1 to n do Begin Repeat Write('A[',k,'] = ');Readln(A[k]); If A[k] < 2 Then Writeln('Ban can nhap A[k] > 2. Vui long nhap lai!'); Until A[k] >= 2; End; Writeln('Cac so nguyen to cua day so tren la:'); For k := 1 to n do If NgTo(A[k]) Then Write(A[k]:6); Readln End. Giả sử chương trình trên nếu viết theo chương trình thông thường thì mỗi phần tử khi kiểm tra sẽ là 1 dãy câu lệnh, như phân tích ở trên rõ ràng việc sử dụng chương trình con có thể hợp lý hóa, tiết kiệm công sức lập trình. Đồng thời, chương trình con giúp cho người lập trình dễ sửa chữa, dễ kiểm tra. Cụ thể là với bài toán trên chúng ta có thể sửa chữa thành bài toán: “Viết ra màn hình tất cả các số của dãy thỏa mãn điều kiện là hợp số” chỉ bằng hai câu lệnh phủ đị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 bằng dòng lệnh If Not NgTo(A[k]) Then Write(A[k]:6). 10 [...].. .Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con d) Xây dựng hệ thống chi tiết chương trình con: Để có thể giúp học sinh nắm bắt được các kiến thức về chương trình con một cách có hệ thống Sau khi học xong về chương trình con, chúng ta có thể đưa ra sơ đồ sau: CHƯƠNG TRÌNH CON Thủ tục Hàm Bài tập sau đây sẽ giúp học sinh nhận biết cụ thể hơn về các... Readln(A,B); tich(A,B); hoanvi(A,B); readln END 11 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con e Khai thác bài toán: Nắm vững cấu trúc chương trình con là bước đầu rất quan trọng đối với những người đầu tiên tìm hiểu tới chương trình con, đặc biệt là học sinh Chính vì vậy, sau khi hoàn thành tìm hiểu chương trình con, giáo viên tiếp tục cho học sinh khai thác các bài toán có nhiều hướng... Đối với học sinh: 18 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con + Tích cực tham gia học tập, phát huy tối đa tính chủ động sáng tạo, học tập của học sinh Học sinh vừa học, vừa kết hợp tìm hiểu các kiến thức liên quan đến bài học + Trong tiết học học sinh chủ động tìm tòi các kiến thức có liên quan tới bài học để giải quyết nhằm đạt được mục tiêu đề ra, theo đó tinh thần học tập của... tài ngày càng hoàn thiện hơn 19 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con PHỤ LỤC Một số bài tập áp dụng đã được thực nghiệm sư phạm theo chuyên đề: A DẠNG CHƯƠNG TRÌNH CON CƠ BẢN 1 Viết một chương trình bằng cách thực hiện lần lượt các công việc sau: a) Lập thủ tục nhập ba số thực dương a, b, c từ bàn phím b) Lập thủ tục kiểm tra xem ba số trên có lập thành ba cạnh của tam giác hay... End g Tổng quát bài toán: Từ bài toán tìm ƯCLN của 2 số nguyên A,B Hướng dẫn học sinh thực hiện bài toán tìm ƯCLN của N số nguyên 13 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con Xuất phát từ bài toán: “Tìm ƯCLN của 2 số nguyên A,B” Giáo viên hướng dẫn học sinh sử dụng thuật toán Ơclit để thuật toán được thực hiện nhanh hơn Chương trình được thực hiện như sau: Var a, b, tg: Integer;... (k>=n) then begin write('so nhap khong hop le'); exit; end; s1:=' '; k:=n-k; k1:=1; 24 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con for i:=1 to k do k1:=chon(i)+1; write('so con lai sau khi xoa co gia tri dat MIN: ',s1); readln end 2 Viết chương trình nhập một xâu ký tự Thực hiện xóa các ký tự là chữ số VAR s:string; FUNCTION posnum(s:string):byte; var ok:boolean; i:integer; begin ok:=false;... Writeln('Phan so toi gian=',c,'/',d); Readln; END 17 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con Để phát huy tác dụng kích thích, thúc đẩy hoạt động học tập, cần phải phối hợp nhiều phương pháp khác nhau và chú ý đến xu hướng phát triển của cá nhân học sinh Trong một tiết học, để đảm bảo kiến thức cho học sinh cần tập trung vào một số nội dung mà việc quyết định cần căn cứ vào những yếu tố... Writeln('Phan so toi gian=',c,'/',d); Readln; END 5 Nhập tử và mẫu số của 2 phân số (a, b) và (c, d) Thực hiện phép toán @ (có thể là +, -, *, /) a c p @ = và in kết quả là phân số tối giản: b d q VAR tu1,mau1,tu2,mau2,tu,mau:integer; Procedure tg(var t,m:integer); var u,v:integer; begin 20 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con u:=t; v:=m; while uv do if u>v then u:=u-v else v:=v-u;... to N do begin write('a[',i,']= '); readln(a[i]); end; write('nhap k= '); readln(k); timkiem(k,n); readln END 2 Nhập dãy số nguyên a gồm n chữ số Kiểm tra xem trong dãy có bao nhiêu số nguyên tố hay cả dãy là nguyên tố? 21 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con const max=100; Cách 2: Trong Hàm chỉ cần mã lệnh dưới đây type mang=array[1 max] of integer; mà ko cần phương pháp bẩy... quen thuộc để học sinh dễ dàng áp dụng Như vậy giáo viên hướng dẫn học sinh chỉ cần áp dụng công thức N! là thực hiện được bài toán trên vì n!, k! và (n-k)! được xét tính tương tự như N!, (trong đó điều kiện n-k>0 hay n > k để thõa mãn tập xác định) Chương trình được thực hiện như sau: Var k, n: Integer; C:Real; Procedure Nhap; 15 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con Begin Repeat . thiện hơn. 19 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con PHỤ LỤC Một số bài tập áp dụng đã được thực nghiệm sư phạm theo chuyên đề: A. DẠNG CHƯƠNG TRÌNH CON CƠ BẢN 1. Viết một chương trình. học trong cả năm học lớp 11. Đó cũng là vấn đề để tôi nêu một số kinh nghiệm trong đề tài: Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con , phần chương trình con – SGK lớp 11 Write(A[k]:6). 10 Một số kinh nghiệm nâng cao hiệu quả dạy học chương trình con d) Xây dựng hệ thống chi tiết chương trình con: Để có thể giúp học sinh nắm bắt được các kiến thức về chương trình con một cách