Tổng kết kinh nghiệm thực chất 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]
(1)PHẦN I
MỞ ĐẦU I Lý chọn đề tài
1 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 cịn bó hẹp viện nghiên cứu, trường đại học, trung tâm máy tính mà cịn 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 tìm biện pháp giảng 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, nhằm đáp ứng với đòi hỏi ngày cao xã hội
2 Trong nghiệp vụ người thầy giáo 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ụ - thầy giáo 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ụ thầy giáo, đánh giá chất lượng giảng dạy thầy giáo Hai thực tiễn vừa mâu thuẫn với nhau, lại vừa thống với Thầy giáo 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
2.1 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ỹ năng 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 cịn 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
2.2 Đổi phương pháp dạy học theo hướng tích cực hóa hoạt động học sinh q 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
(2)3 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 Thầy giáo cị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 cơ.
4 Turbo 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 Turbo 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
4.1 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 mảng chiều vấn đề chiếm vai trò quan trọng Bởi vì, sử dụng mảng chiều để hợp lý hóa, tiết kiệm cơng sức lập trình Đồng thời, mảng chiều 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 mảng chiều nào? Đó vấn đề mà thân em quan tâm
4.2 Để thực điều đó, theo em 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
4.3 Trên sở mà học sinh học tập mơn lập trình Pascal, học sinh sử dụng cách thành thạo ngơn ngữ khác để hồn thành tốt ứng dụng thực tế Bởi vì, ngơn ngữ Pascal có tính cấu trúc mạnh, có sở địi hỏi chương trình phải chặt chẽ, logic Đặc biệt, học chương trình con, học sinh hiểu cách sâu sắc ngơn ngữ lập trình, nhìn nhận vấn đề cách sáng sủa hơn, chặt chẽ chương trình giúp cho em hồn thành chương trình lớn vượt tốn bình thường mà nội mơn học địi hỏi Chính vậy, việc gợi động cho học sinh việc dạy học chương trình cơng việc quan trọng, đòi hỏi giáo viên cần phải nỗ lực tìm tịi, sáng tạo giúp cho học sinh nhìn nhận vấn đề cách tích cực hơn, sáng tạo giúp cho em u thích nhiều ngơn ngữ lập trình Pascal
Với tất lý nêu trên, em định chọn đề tài
II Định hướng nghiên cứu
1 Mục đích nghiên cứu
Tạo động cho học sinh ý thức ý nghĩa hoạt động sử dụng chương trình cơng việc lập trình Từ đó, học sinh liên hệ , vận dụng sáng tạo vào giải tốn lập trình tình thực tế
2 Nhiệm vụ nghiên cứu
(3)III Phương pháp nghiên cứu
1 Nghiên cứu lý luận
Trong nghiên cứu lý luận người ta dựa vào tài liệu sẵn có, lý thuyết khẳng định, thành tựu nhân loại lĩnh vực khác Tâm lý học, Giáo dục học, Tin học, để xem xét vấn đề, tìm giải pháp hợp lý có sức thuyết phục vận dụng vào PPDH Tin học
Người ta nghiên cứu kết thân chuyên ngành PPDH Tin học để kế thừa hay, phê phán gạt bỏ dở, bổ xung hoàn chỉnh nhận thức đạt
Những hình thức thường dùng nghiên cứu lý luận là:
- Phân tích tài liệu lý luận : Giúp chọn đề tài, đề mục đích nghiên cứu, hình thành giả thuyết khoa học, xác định tư tưởng chủ đạo đánh giá kiện Khi nghiên cứu lý luận, ta cần phân tích, tổng hợp, so sánh, khái qt để tìm ý Cái lý thuyết hồn tồn mới, đan kết với cũ, tổng hợp nét riêng lẻ chứa cũ, nêu bật chất từ cũ, bổ xung, cụ thể hóa lý thuyết cũ
- So sánh quốc tế : Giúp lựa chọn, xây dựng phương án tác động giáo dục sở đánh giá, so sánh tài liệu, cách làm nước khác
- Phân tích tiên nhiệm : Thường dựa vào yếu tố lịch sử, cách tiếp cận khác lý thuyết, cách định nghĩa khác khái niệm, để dự kiến quan niệm có học sinh kiến thức Tin học Nó dùng để kiểm nghiệm tượng, q trình có thỏa mãn tiêu chuẩn, yêu cầu, điều kiện đặt hay không
2 Quan sát - điều tra
Quan sát điều tra sử dụng rộng rãi nghiên cứu giáo dục Đó phương pháp tri giác có mục đích tượng giáo dục để thu lượm số liệu, tài liệu, kiện cụ thể đặc trưng cho trình diễn biến tượng mà ta dự định khảo sát Chúng ta quan tâm đến chất lượng mối quan hệ, hoạt động, tình Điều tra giống quan sát chỗ dựa vào khai thác tượng có sẵn, khơng chủ động gây nên tác động sư phạm, quan sát thiên xuất phát từ dấu hiệu bên ngồi, cịn điều tra khai thác thơng tin sâu kín từ bên trong, chẳng hạn cho làm kiểm tra đánh giá
Quan sát - điều tra giúp theo dõi tượng giáo dục theo trình tự thời gian, phát biến đổi số lượng, chất lượng gây tác động giáo dục Nó giúp ta thấy vấn đề thời cấp bách đòi hỏi phải nghiên cứu góp phần giải nhiệm vụ nghiên cứu Môi trường tự nhiên nguồn cung cấp liệu trực tiếp cho ta Người nghiên cứu đến trực tiếp nơi mà họ quan tâm để quan sát thu thập liệu, hoạt động hiểu tốt môi trường tự nhiên, ngữ cảnh mà chúng xuất
Quan sát - điều tra thực tiễn sư phạm, chẳng hạn thăm lớp dự giúp nhận thức thực trạng dạy học Tin, phát vấn đề thời cấp bách cần nghiên cứu, giúp ta thu tài liệu sinh động bổ ích cho nhiệm vụ nghiên cứu
(4)Quan sát - điều tra cần có mục đích cụ thể (chẳng hạn để thấy hoạt động tích cực học sinh học), có nội dung cụ thể (chẳng hạn gây động hướng đích giáo viên, số lượng học sinh giơ tay xin phát biểu, số lượng câu hỏi, chất lượng câu trả lời học sinh thể suy nghĩ sâu sắc hay hời hợt, tập trung ý thể qua hướng nhìn, cử chỉ, ) có tiêu chuẩn đánh giá, đo lường kết quan sát cụ thể (chẳng hạn đánh giá học sinh hoạt động tích cực, tích cực, tích cực) Các loại liệu thu thập nghiên cứu bao gồm văn ghi chép vấn, sổ ghi chép, ảnh, băng hình, ghi âm, phiếu điều tra, nhật ký, giúp ta dựng lại cách đầy đủ mà ta quan sát được, giúp ta lý giải họ lại nghĩ thế, họ lại làm vậy?,
Trong quan sát - điều tra diễn biến thực tượng sư phạm, có người ta tình cờ phát kiện, tượng sư phạm dự kiến ban đầu
3 Tổng kết kinh nghiệm
Tổng kết kinh nghiệm thực chất đánh giá khái quát hóa kinh nghiệm thu thập hoạt động thực tiễn, từ phát vấn đề cần khẳng định để đưa áp dụng rộng rãi 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, lĩnh hội, kiểm chứng từ trình hoạt động thực tiễn sinh động Bài học kinh nghiệm cụ thể hóa cách sáng tạo tư tưởng, luận điểm, lý luận giáo dục vào sống Trong trình nghiên cứu tổng kết kinh nghiệm, có người ta khám phá mối liên hệ có tính quy luật tượng giáo dục
Những kinh nghiệm cần đặc biệt ý kinh nghiệm tiên tiến, kinh nghiệm thành công kinh nghiệm lặp lại nhiều lần Kinh nghiệm giáo dục đơn vị tiên tiến coi dạng lý luận giáo dục kiểm chứng thực tiễn, tình huống, điều kiện cụ thể môi trường giáo dục Những học thành công cần đề cập với tư cách liệu đối chiếu, so sánh làm rõ kinh nghiệm thành công Chúng cần xem xét cách khách quan, khoa học, biện chứng theo tính lịch sử vấn đề rút kết luận có tính thuyết phục, có độ Tin cậy cao Qua tổng kết kinh nghiệm, có học kinh nghiệm hàm chứa tri thức, thông Tin, kỹ năng, giải pháp, biện pháp hướng cách làm có giá trị, đem lại hiệu quả, chất lượng cao điều kiện đổi giáo dục đất nước
Tổng kết kinh nghiệm phải có lý luận soi sáng, giải thích tính chất hợp lý, phù hợp với quy luật khẳng định khỏi kiện lộn xộn, kinh nghiệm vụn vặt, hời hợt khơng có tính phổ biến, loại bỏ yếu tố ngẫu nhiên, sâu vào chất vật, tượng, đạt tới kinh nghiệm có giá trị khoa học đích thực Chỉ tổng kết kinh nghiệm thật phương pháp nghiên cứu khoa học hữu hiệu Những học kinh nghiệm, kết luận lý luận giáo dục góp phần bổ xung, làm cho lý luận giáo dục hồn thiện hơn, mang tính thực tiễn cao hơn, tránh tình trạng lý luận sng Bài học kinh nghiệm giáo dục phải bảo đảm có khái quát định, mang tính khoa học với tính lý luận cụ thể đặc biệt phải mang tính thực tiễn cao
(5)- Nêu bối cảnh xuất vấn đề mà giải dẫn đến học kinh nghiệm - Những kết đạt gắn với nhiệm vụ nghiên cứu
- Hệ thống biện pháp vận dụng đạt kết cao
- Đánh giá tác dụng, hiệu học kinh nghiệm, đưa nhận định có tính khái quát học mang tính lý luận
Tổng kết kinh nghiệm khơng đơn giản trình bày lại công việc làm kết đạt Là phương thức nghiên cứu khoa học, phải tiến hành theo quy trình nghiêm túc, thường sau:
Phát cần đảm bảo mặt định tính phần mặt định lượng, tức phải thu thập đủ liệu, tư liệu kiện, việc làm, hoạt động tiến hành đạt kết cao Trong cần trọng đến liệu, tư liệu, thông tin mà nội dung chúng phản ánh mối quan hệ kết với nguyên nhân biện pháp Những bước trình phát là:
- Nêu mục đích u cầu phát - Triển khai hình thức phát - Thẩm định, bổ sung thông tin
- Tiến hành xử lý thông tin
Khi tiến hành xử lý thơng tin phải vào có thực thu qua trình khảo sát, phát thu thập Dùng lý luận để phân tích tư liệu, số liệu rút từ thực tiễn Rút học kinh nghiệm dạng khái quát mang tính lý luận hay khẳng định mặt lý luận thực tiễn Trong trình xử lý, cần áp dụng thao tác tư khoa học, trừu tượng hóa yếu tố ngẫu nhiên, tìm tính đặc thù, tất yếu mà chúng thể bối cảnh, hoàn cảnh cụ thể
Phần cuối sơ đồ cho thấy rõ mối liên hệ tổng kết kinh nghiệm với nghiên cứu lý luận thực nghiệm giáo dục
4 Thực nghiệm giáo dục
Thực nghiệm giáo dục cho phép ta tạo nên tác động sư phạm vào trình dạy học giáo dục Những tác động xảy điều kiện khống chế, điều chỉnh, thay đổi được, chịu ảnh hưởng yếu tố ngẫu nhiên khác, từ xác định đánh giá kết tác động Đặc trưng thực nghiệm
Liệt kê kiện, mơ tả q trình Tước bỏ yếu tố ngẫu nhiên làm bộc lộ chất Phát mối quan hệ nhân
(6)giáo dục khơng diễn cách tự phát mà điều khiển nhà nghiên cứu Nhà nghiên cứu tổ chức q trình giáo dục cách có ý thức, có mục đích, có kế hoạch, tự giác thiết lập thay đổi điều kiện thực nghiệm cho phù hợp với ý đồ nghiên cứu
Trong điều kiện định, thực nghiệm giáo dục cho phép ta khẳng định bác bỏ giả thuyết khoa học đề
Trong thực nghiệm giáo dục ta cần giải thích rõ kết quả, làm rõ nguyên nhân lý luận phân tích trình thực nghiệm
Thực nghiệm giáo dục phương pháp nghiên cứu có hiệu lực, song thực cơng phu, khó khăn Khó khăn thực tác động lên người cụ thể, kết thu phụ thuộc vào nhiều yếu tố tâm lý Những kết thực nghiệm thường có ý nghĩa xác suất, phải xử lý phương pháp thống kê Để thống kê cho kết Tin cậy, cần phải đo lường, định lượng dấu hiệu, việc làm khơng dễ Vì ta khơng nên lạm dụng phương pháp thực nghiệm giáo dục Khi nghiên cứu tượng giáo dục, trước hết dùng phương pháp khơng địi hỏi q nhiều cơng sức, ví dụ nghiên cứu lý luận, quan sát, tổng kết kinh nghiệm Chỉ chỗ phương pháp chưa đủ sức thuyết phục, số khâu mấu chốt, ta dùng thực nghiệm giáo dục
(7)PHẦN II
NỘI DUNG ĐỀ TÀI GỢI ĐỘNG CƠ HOẠT ĐỘNG TRONG VIỆC GIẢNG DẠY MẢNG MỘT CHIỀU
Gợi động cơ 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 xuyên suốt 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
CHƯƠNG I: GỢI ĐỘNG CƠ MỞ ĐẦU
Để Gợi động mở đầu chúng ta 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ế có tác dụng gợi động mà cịn 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 tồn nhiều tầng Tuy nhiên khơng phải 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ì:
(8)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:
1) Đáp ứng nhu cầu xóa bỏ hạn chế
Xét tốn : “Trong đợt qun góp sắt vụn để gây quỹ giúp bạn nghèo có hồn cảnh khó khăn, tổ có 12 bạn, bạn nộp khối lượng sắt vụn tính bằng kg Viết chương trình cho máy nhận vào khối lượng sắt vụn bạn tính tổng khối lượng sắt vụn 12 bạn tổ?”
Program Satvun; Uses Crt;
Var S, X : Real; K: byte; BEGIN
Clrscr; S:=0;
Writeln('Nhap vao khoi luong sat cua tung nguoi:' 55); For K:=1 To 12 Do
Begin
Writeln('Nhap khoi luong sat vun cua ban thu’,k,’=’);
Readln(X); S:=S+X; End;
Write('Dap so ‘,S:9:2); Readln;
END
Ở chương trình trên, để thực yêu cầu toán, phải dùng biến X để nhận vào khối lượng sắt vụn bạn, nhận xong cho bạn ta cộng dồn X vào S, sau ta lại dùng X để nhận vào khối lượng sắt vụn bạn khác Làm giá trị khối lượng sắt vụn bạn trước bị Giả sử phải tính có bạn nộp nhiều khơng lưu trữ tất giá trị khối lượng sắt vụn bạn để sau duyệt lại xem có bạn nộp nhiều 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 mảng chiều để khắc phục hạn chế Program Satvun;
Uses Crt; Const N=12;
Var S, LN : Real; D, K: byte; M:Array[1 N] Of Real; BEGIN
Clrscr; S:=0; LN:=0; D:=0;
Writeln('Nhap vao khoi luong sat cua tung nguoi:' 55); For K:=1 To N Do
Begin
Writeln('Nhap khoi luong sat vun cua ban thu M[’,k,’]=’);
Readln(M[K]); S:=S+M[K]; If LN<M[K] Then LN:=M[K]; End;
Writeln;
(9)Writeln('Tong sat vun la: ‘,S:9:2);
Writeln(‘Co’, D:3, ‘ban nop nhieu nhat’: 21); Readln;
END
2) Hướng tới tiện lợi hợp lý hóa cơng việc
Sau học sinh tìm hiểu khái niệm mảng Giáo viên cho học sinh giải toán Nhietdo_Tuan Do toán nhằm mục đích dẫn dắt học sinh đến tình cần dùng liệu kiểu mảng chiều nên ta sử dụng cách gợi động hướng đích: Ta dùng bảy biến thực để lưu trữ nhiệt độ bảy ngày tuần t1, t2, t3, t4, t5, t6, t7, biến tính giá trị trung bình TB biến để đếm số ngày tuần
Chương trình giải tốn viết pascal sau: Program nhietdo_tuan;
var t1, t2, t3, t4, t5, t6, t7, TB: real; dem: integer;
Begin
Writeln ('Nhap nhiet cua ngay: '); Readln(t1, t2, t3, t4, t5, t6, t7); TB := (t1+t2+t3+t4+t5+t6+t7)/7; dem:= 0;
if t1>TB then dem:= dem+1; if t2>TB then dem:= dem+1; if t3>TB then dem:= dem+1; if t4>TB then dem:= dem+1; if t5>TB then dem:= dem+1; if t6>TB then dem:= dem+1; if t7>TB then dem:= dem+1;
Writeln('Nhiet trung binh tuan: ',TB:4:2);
Writeln('So nhiet cao hon trung binh: ',dem); Readln;
End
Sau làm xong tập học sinh đặt câu hỏi: mảng có tác dụng với này?
giáo viên sử dụng cách gợi động cơ: Đáp ứng nhu cầu xoá bỏ hạn chế: Chương trình thực yêu cầu đề bài, phải viết viết lại lệnh If để so sánh nhiệt độ bảy ngày với nhiệt độ trung bình Giả sử cần phải giải toán với n ngày (chẳng hạn 365 ngày) cách giải tốn không hiệu Tuy chất thuật tốn khơng có thay đổi việc viết chương trình gặp khó khăn việc duyệt duyệt lại giá trị biến kiểu đoạn câu lệnh tính tốn dài Vậy làm xóa bỏ hạn chế này? Để giải vấn đề này, ta sử dụng kiểu liêu mảng chiều để mô tả liệu
Lúc học sinh bắt đầu có nhu cầu giải toán cách sử dụng kiểu liệu mảng
Chương trình giải tốn viết pascal sau: Program Nhietdo_Nngay;
const Max = 366;
Type Mang= array[1 Max] of real; Var nhietdo: Mang;
(10)T, TB: Real; Begin
Write('Nhap so ngay: '); Readln(N); T:= 0;
For i:= to N Begin
Writeln(' Nhap nhiet ',i,' : '); Readln(nhietdo[i]);
T:= T + nhietdo[i]; End;
dem:= 0; TB:= T/N;
For i:= to N
If nhietdo[i]>TB then dem:= dem+1;
Writeln('Nhiet trung binh ',N,' ngay: ',TB:8:3); Writeln('So nhiet cao hon trung binh: ',dem); Readln;
End
Từ chương trình giúp cho học sinh thấy việc sử dụng mảng chiều chương trình viết ngắn gọn, dễ hiểu hiệu
3) 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
Mảng chiều dãy hữu hạn phần tử có kiểu liệu Các phần tử mảng có chung tên phân biệt số Để mô tả mảng chiều cần xác định kiểu phần tử cách đánh số phần tử - Hầu hết ngơn ngữ lập trình có quy tắc cho phép xác định: tên kiểu mảng, số lượng phần tử, kiểu liệu phần tử, cách khai báo biến mảng cách tham chiếu đến phần tử mảng
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 và 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 <= Then Writeln('Nhap lai!'); Until r > 0;
End; Begin
Nhap(r1, 1); Nhap(r2, 2); Nhap(r3, 3);
(11)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ữ ngồi 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 cịn 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 <= Then Writeln('Nhap lai!'); Until 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
4) Hướng tới hồ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:
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
Chương trình con
Thủ tục
Hàm Có tham chiếu
Khơng Có tham chiếu
Tham trị
(12)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 mỗi 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
5) Lật ngược vấn đề
Học sinh tìm phần tử lớn mảng chiều Vậy ngược lại cho học sinh tìm phần tử âm lớn mảng:
Program Mang_MC; Uses crt;
(13)BEGIN Clrscr; Repeat
Write('Nhap n= '); Readln(n); Until (n>1) and (n<=100); For i:=1 To n Do
Begin
Writeln(' Nhap A[',i,'] = '); Readln(A[i]);
End;
Write (‘Mang vua nhap la: ‘);
For i:= to n
Write(A[i]:4); Writeln; I:=1;
While (A[i]>=0) and (i<=n) Do i:=i+1; If i<=n then
Begin
Maxa:= A[i]; For j:= i+1 to n
If (A[j]<0) and (A[j]>Maxa) then Maxa:= A[j]; End;
Writeln('So am lon nhat co mang la: ',Maxa); Readln;
END
6) Xét tương tự
Từ điều biết tìm phần tử lớn (Max), phần tử âm lớn (Maxa) Chúng ta tìm phần tử nhỏ (Min) phần tử dương nhỏ (Mind)
Giả thiết mảng A nhập giá trị (chương trình trên) tốn có đoạn chương trình:
Program Mang_MC; Uses crt;
Var A: array[1 100] of Integer; N, i, j,Max,Min,Maxa,Mind : Integer; BEGIN
Clrscr; Repeat
Write('Nhap n= '); Readln(n); Until (n>1) and (n<=100); For i:=1 To n Do
Begin
Writeln(' Nhap A[',i,'] = '); Readln(A[i]);
End;
Write (‘Mang vua nhap la: ‘);
For i:= to n
Write(A[i]:4); Writeln; Min:= A[1];
For i:=2 to n
If A[i]< Min then Min:=A[i];
(14)I:=1;
While (A[i]<=0) and (i<=n) Do i:=i+1; If i<=n then
Begin
Mind= A[i]; For j:= i+1 to n
If (A[j]>0) and (A[j]<Mind) then Mind:= A[j]; End;
Writeln('So duong nho nhat co mang la: ',Mind); Readln;
END
7) Khái quát hóa
Khái quát hóa trường hợp cho học sinh nhập vào mảng A in mảng A lên hình Đếm mảng A có số số lớn (Max)? Có số số nhỏ (Min) Đây tình gợi vấn đề em làm tương tự duyệt phần tử mảng để đưa số lớn nhất, vấn đề chỗ làm để máy hiểu gặp phần tử số lớn đếm hay gặp phần tử số nhỏ đếm Giáo viên gợi ý cho học sinh phải dùng hai biến lưu trữ (Dmax, Dmin), so sánh gặp số Max biến Dmax tăng lên 1, gặp số Min Dmin tăng lên 1, từ em giải vấn đề, đưa chương trình sau:
Program Mang_MC; Uses crt;
Var A: array[1 100] of Integer;
N, i, j, Max, Min,DMax, DMin : Integer; BEGIN
Clrscr; Repeat
Write('Nhap n= '); Readln(n); Until (n>1) and (n<=100); For i:=1 To n Do
Begin
Writeln(' Nhap A[',i,'] = '); Readln(A[i]);
End;
Write (‘Mang vua nhap la: ‘);
For i:= to n
Write(A[i]:4); Writeln; Max:= A[1];
For i:=2 to n
If A[i]> Max then Max:=A[i];
Writeln (‘So lon nhat co mang la: ‘,Max);
Min:= A[1]; For i:=2 to n
If A[i]< Min then Min:=A[i];
Writeln (‘So nho nhat co mang la: ‘,Min);
Dmax:=1;
For i:= to n
If A[i] = dmax Then Dmax:= Dmax+1;
(15)Dmin:=1;
For i:= to n
If A[i] = dmin Then Dminx:= Dmin+1;
Writeln (‘So cac so bang so lon nhat la: ‘, Dmin);
Readln; END
8) Tìm liên hệ phụ thuộc
Nói riêng cách gợi động xuất phát từ phương thức tư hoạt động phổ biến Tin học xét tương tự, khái quát hóa, xét liên hệ phụ thuộc, quen thuộc phương thức không kết mà điều kiện việc gợi động theo cách Thật vậy, việc xét tương tự, việc xét khái quát hóa, việc xét liên hệ phụ thuộc có tác dụng gợi động người học sinh quen thuộc với cách xem xét này, trải nghiệm thành công nhiều lần việc theo cách Để thực điều dạy học cho học sinh mảng chiều Chúng ta yêu cầu học sinh giải tốn sau:
“Có túi chứa tối đa D (kg) với n đồ vật, Cần chọn đồ vật cho giá trị của túi lớn Biết đồ vật i có khối lượng W[i] giá trị C[i] đồng (i = 1, 2, , n ”
Var C, W:Array[1 100] Of Integer; CW: Array[1 100] Of Real; n, i, j, d, d1, gt, t: Integer; Procedure Nhap;
Begin
Write('Nhap so luong cac vat: '); Readln(n); Write('Nhap khoi luong cua tui: '); Readln(D); D1:=D; Writeln('Nhap cac gia tri cua C va W: ');
For i:=1 to n Begin
Write('C[',i,'] = '); Readln(C[i]); Write('W[',i,'] = '); Readln(W[i]); CW[i] := C[i] / W[i];
End; End;
Procedure Sapxep;
Var t1, t2: Integer; t3: Real; Begin
Nhap;
For i := to n -
For j := n downto i + Begin If CW[j] > CW[j-1] Then Begin
t1 := C[j]; C[j] := C[j-1]; C[j-1] := t1; t2 := W[j]; W[j] := W[j-1]; W[j-1] := t2; t3 := CW[j]; CW[j] := CW[j-1]; CW[j-1] := t3; End;
End; End;
Procedure Luachon; Var temp: Integer; Begin
(16)i := 1; gt := 0; t := 0;
While (i <= n) And (d > 0) And (W[i] > 0) Do Begin Temp := d Div W[i]; {So vat duoc chon cua W[i]} If temp > Then Begin
Writeln('Do vat C[',i,'] = ',C[i],' va W[',i,'] = ',W[i],' duoc chon co so luong ',temp); d := d - temp * W[i];
t := t + W[i] * temp; gt := gt + temp * C[i]; End;
i := i + 1; End;
Writeln('Gia tri toi uu co the dat duoc la:');
Writeln('Khoi luong vat dung ',t,'.tui dung duoc ',d1,' Con thua ',d1 - t); End;
Begin Luachon; Readln End
CHƯƠNG II: GỢI ĐỘNG CƠ TRUNG GIAN
Gợi động trung gian gợi động cho bước trung gian cho hoạt động tiến hành bước để đạt mục tiêu Gợi động trung gian có ý nghĩa to lớn phát triển lực độc lập giải vấn đề Sau cách thường dùng để gợi động trung gian:
1) Hướng đích
Hướng đích cho học sinh hướng vào mục tiêu đề ra, vào hiệu dự kiến hoạt động nhằm đạt mục tiêu
Điểm xuất phát hướng đích mục tiêu đề Để đặt mục tiêu cách xác, cụ thể, giáo viên cần xuất phát từ chương trình văn giải thích chương trình, nghiên cứu sách giáo khoa tham khảo sách giáo viên Trong tiết học, người thầy giáo phát biểu mục tiêu cách dễ hiểu để học sinh nắm Chẳng hạn, tiết luyện tập mảng chiều, giáo viên nêu rõ ràng học tiết, học sinh phải thực thao tác xử lí phần tử mảng thơng qua địa mảng, phải xét quan hệ ới phần tử đứng trước, đứng sau, phần tử lại mảng
Đặt mục tiêu điểm xuất phát hướng đích, khơng đồng với hướng đích Đặt mục tiêu thường pha ngắn ngủi lúc ban đầu trình dạy học, cịn hướng đích ngun tắc đạo tồn q trình Hướng đích làm sai cho tất học sinh nói làm, em biết nhằm mục tiêu gù q trình tìm hiểu mơ tả đường tới đích, em ln ln biết hướng đích tạo động lực cho định hoạt động đó, cách gợi động trung gian
Ví dụ tìm cách giải tốn lập trình cho máy tính tìm đường cao tổng chúng tam giác biết ba số đo ba cạnh
Mục đích ví dụ tính cách chia tốn ban đầu T thành toán nhỏ đơn giản hơn, chẳng hạn ta chia thành tốn T1 tính diện tích tam giác
(17)cạnh Tiếp theo ta nhận thấy tốn T1 lại chia thành toán T1’
nhập vào ba số kiểm tra xem ba số có ba cạnh tam giác hay khơng? tốn T1’’ tính diện tích tam giác theo cạnh
Nhờ gợi động hướng đích, học sinh hiểu việc đem chia toán T thành T1 T2, lại chia toán T1 thành T1’ T1’’ nhằm bước triển khai
và chi tiết hóa chương trình vào chiều sâu lời giải, tìm thấy chương trình giải cách dễ dàng hợp lí tiết kiệm cơng sức lập trình, kiểm thử để từ modul T1’, T1’’, T2 với liệu khác cấu trúc thành chương
trình giải toán ban đầu T
Ta lại thấy tốn việc giải phương trình bậc hai có ba trường hợp xảy Ta nên chia tiếp thành tốn nhỏ sau:
T1: Giải phương trình bậc T2: >
T3: =
T4: <
T5: Giải phương trình bậc hai Var a, b, c, d: 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 denta_am; Begin
Writeln('Phuong trinh vo nghiem!'); End;
Procedure denta_0(p, q: Real); Begin
Writeln('Phuong trinh co nghiem kep: x1 = x2 = ',-q / (2 * p):0:1) End;
Procedure denta_duong(i, j: Real); Begin
Writeln('Phuong trinh co hai nghiem phan biet:'); Writeln('x1 = ',(-j + sqrt(d)) / (2 * i):0:1);
Writeln('x2 = ',(-j - sqrt(d)) / (2 * i):0:1); End;
Procedure ptb2(x, y, z: Real); Begin
d := y * y - * x * z; If d < Then denta_am Else
If d = Then denta_0(x, y) Else denta_duong(x, y); End;
(18)Writeln('Nhap he so cua phuong trinh:'); Write('a = '); Readln(a);
Write('b = '); Readln(b); Write('c = '); Readln(c); If a = Then ptb1(b, c) Else ptb2(a, b, c); Readln
End
2) Quy lạ quen
Ví dụ, Ta dạy cho học sinh lập trình tính diện tích đa giác biết tọa độ các đỉnh Bài toán qui toán quen thuộc tính diện tích tam giác theo cơng thức Hê rông, ta gợi ý cho học sinh chia đa giác thành những tam giác đường chéo xuất phát từ đỉnh Bài toán cần lại được qui vào tốn tính khoảng cách hai điểm cho tọa độ chúng.
3) Xét tương tự
Xuất phát từ tốn: “Tính n! thuật toá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
End
Tương tự, yêu cầu học sinh thực giải tốn: “Tính an thuật
tố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
(19)4) 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); 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
Tiếp theo, nêu câu hỏi: Khái quát, nếu phải xếp n số theo thứ tự tăng dần ta phải làm nào? Ta có chương trình sau:
Var a: Array[1 100] Of Real; i,j,n: Integer;
Procedure Doicho(Var x,y:Real); Var tg:Real;
Begin
Tg := x; x := y; y := tg; End;
Procedure Sapxep; Begin
For i := to n - For j := i + to n
(20)Begin
Write('Nhap so phan tu cua day so: '); Readln(n); For i := to n Begin
Write('So thu ',i,': '); Readln(a[i]); End;
Sapxep;
Writeln('Day so sau sap xep la:'); For i := to n Write(a[i]:6:0); Readln
End
5) Xét biến thiên phụ thuộc
Xét tốn sau : “Viết chương trình cho máy nhập vào cạnh tam giác. Xét xem ba số có phải ba cạnh tam giác hay khơng? có tam giác là tam giác có ba góc nhọn hay tam giác vuông hay tam giác tù? ”
Trước hết, học sinh phải kiểm tra ba số thực phải thỏa mãn điều kiện ba số đo tam giác Tức số phải nhỏ tổng hai số lại (điều xảy với ba số) Sau đó, chúng ba số đo ba cạnh tam giác dạng tam giác phụ thuộc vào bình phương cạnh lớn nhỏ hay hay lớn tổng hai bình phương hai cạnh cịn lại mà tam giác có ba góc nhọn hay tam giác vng hay tam giác tù
Var p,q,r: 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); Begin
Writeln('Nhap vao ba canh cua tam giac: '); 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 DangTG(m, n, p: Real); Var tg: Real;
Begin
If m < n Then Begin tg := n; n := m; m := tg; End;
If m < p Then Begin tg := p; p := m; m := tg; End;
m := sqr(m); n := sqr(n); p := sqr(p);
If m < n + p Then Writeln('la tam giac co ba goc nhon!') Else
(21)Else Writeln('La tam giac co mot goc tu!'); End;
Begin
Nhap(p, q, r); DangTG(p, q, r); Readln
End
CHƯƠNG III: GỢI ĐỘNG CƠ 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 của một 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 yê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); 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
(22)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); 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
(23)BaTT(a1 + a2, b1 + b2, c1 + c2, 3); Readln
End
CHƯƠNG IV : PHỐI HỢP NHIỀU CÁCH GỢI ĐỘNG CƠ TẬP TRUNG VÀO NHỮNG TRỌNG ĐIỂM
Trên xét đến khả gợi động xuất phát từ nội dung dạy học Ngồi ra, cịn có khả gợi động không gắn với nội dung khen, chê, cho điểm, Để 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 cách gợi động khác có ý đến xu hướng phát triển cá nhân học sinh, tạo hợp đồng tác dụng nhiều cách gợi động cơ, cách bổ xung cách Chẳng hạn, gợi động cho nội dung dạy học hoạt động cách nhấn mạnh tầm quan trọng nội dung hoạt động nghề xã hội Tuy nhiên cách gợi động hướng nghiệp lại có nhược điểm khơng hấp dẫn học sinh khơng có dự định làm nghề sau Vì bổ xung cách nhấn mạnh nắm nội dung đó, thực hoạt động yếu tố văn hóa phổ thơng tất người xã hội
Cũng cần lưu ý rằng, muốn gợi động cho nội dung hoạt động không hợp lý không khả thi Trong tiết học, việc gợi động cần tập trung vào số nội dung hoạt động định mà việc định cần vào yếu tố sau đây:
- Tầm quan trọng nội dung hoạt động cần xem xét - Khả gợi động nội dung hoạt động - Kiến thức có sẵn thời gian cần thiết
Thí dụ : Viết chương trình nhập điểm môn học kỳ Sau tính điểm trung bình mơn mơn học theo cơng thức :
3 *
3 * *
l l
hs hs
hs
Trong : hs1 : tổng điểm hệ số 1 l1: số lần điểm hệ số 1
hs2 : tổng điểm hệ số 2 l2 : số lần điểm hệ số 2 hs3 : Điểm thi học kỳ
Yêu cầu nhập lần đủ, tức điểm nhập vào cần phải xử lý theo xâu ký tự sau đổi sang số để tính tốn.
(24)nhập vào khơng hạn chế, cịn điểm hệ số số thực có điểm Chính cần phải có hai thủ tục nhập điểm Hơn nữa, việc nhập điểm cần lưu ý hai trường hợp điểm 10 điểm nên sử dụng biến Char để xác định rõ điểm 10 vừa nhập điểm 10 hai điểm Trong cơng việc tính tốn, cần phải có hai hàm: hàm tính tổng điểm hàm đếm số lần điểm loại điểm, điểm từ đến vấn đề đơn giản, có điểm 10 việc đếm số lần điểm việc tính tổng điểm cần phải chia thành hai trường hợp:
+ Trường hợp có điểm 10: Ta xử lí hàm đếm cách gặp ký tự đếm giữ ngun, đến số tính từ Như vậy, gặp điểm 10 đếm
+ Trường hợp điểm từ đến 9: Đếm bình thường việc tính tổng vậy, có điều để tính tổng phần tử cần sử dụng vịng For duyệt tồn phần tử xâu, với ký tự ta lại dùng hàm Val để đổi ký tự sang số để tính tốn
Cuối cùng, ta sử dụng hàm Tinh để tính điểm trung bình mơn theo hàm tính tổng hàm đếm thực
Chương trình sau:
Var hs1, hs2 , h3: String; hs3: Real; k: Integer; Procedure Nhap1(Var st1: String; t1: Byte); Var a1, c1, i, tam: Integer; ch: Char; t: Char; Begin
Repeat
Write('Nhap diem he so ',t1,': '); Readln(st1); For i:=1 to Length(st1) Begin
If (st1[i] = '1') And (st1[i+1] = '0') Then Begin
Write('Diem 10 o tren la diem va diem 0(y)hay diem 10(n):'); Readln(ch);
If ch='y' then Begin
t:=st1[i]; st1[i] := st1[i+1]; st1[i+1]:=t; Writeln('Diem ban nhap se la: ',st1) End;
End; End;
Val(st1, a1, c1);
If (c1 <> 0) Or (a1<0) Then Writeln('Nhap lai!'); Until (c1 = 0) And (a1>=0); End;
Procedure Nhap2(Var st2:String; t2: Byte); Var c2:Integer; a2: Real;
Begin Repeat
Write('Nhap diem he so ',t2,': '); Readln(st2); Val(st2, a2, c2);
If (c2 <> 0) Or (a2 > 10) Or (a2<0) Then Writeln('Nhap lai!');
Until (c2 = 0) and (a2 <= 10) And (a2>=0); End;
(25)Begin s := 0;
For i := to Length(a) Do Begin
If (a[i] = '1') And (a[i+1] = '0') Then Begin Val(a[i] + a[i+1], d, c);
s := s + d; End
Else Begin Val(a[i], d, c); s := s + d; End;
End; Tong := s; End;
Function Dem(a : String): Integer; Var i, l : Integer; x: String; Begin
l := 0;
For i := to Length(a) Do Begin If (a[i] = '1') And (a[i+1] = '0') Then l := l
Else l := l + 1; End;
Dem := l; End;
Function Tinh(x, y: String; z: Real): Real; Begin
Val(h3, hs3, k);
Tinh:=(Tong(hs1) + Tong(hs2)*2 + hs3*3)/(Dem(hs1) + Dem(hs2)*2 + 3); End;
Begin
Writeln('CHUONG TRINH TINH DIEM TRUNG BINH MON'); Nhap1(hs1,1);
Nhap1(hs2,2); Nhap2(h3,3);
Writeln('Diem he so 1: ',hs1); Writeln('Diem he so 2: ',hs2); Writeln('Diem he so 3: ',h3);
Writeln('Ket qua TBm : ',Tinh(hs1,hs2,hs3):0:1); Readln