Sử dụng một số định lí suy luận toán học để lập trình giải một bài toán bồi dưỡng học sinh giỏi tin học

21 6 0
Sử dụng một số định lí suy luận toán học để lập trình giải một bài toán bồi dưỡng học sinh giỏi tin học

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT NÔNG CỐNG II SÁNG KIẾN KINH NGHIỆM SỬ DỤNG MỘT SỐ ĐỊNH LÝ VÀ SUY LUẬN TOÁN HỌC ĐỂ LẬP TRÌNH GIẢI MỘT SỐ BÀI TỐN BỒI DƯỠNG HỌC SINH GIỎI TIN HỌC Người thực hiện: Hoàng Thị Yến Chức vụ: Giáo viên Đơn vị công tác: Trường THPT Nông Cống II SKKN thuộc lĩnh mực (môn): Tin học THANH HOÁ NĂM 2021 MỤC LỤC TRANG MỞ ĐẦU 1.1 Lý chọn đề tài .2 1.2 Mục đích nghiên cứu .2 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu NỘI DUNG CỦA SÁNG KIẾN KINH NGHIỆM Cơ sở lý luận sáng kiến kinh nghiệm Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Các sáng kiến kinh nghiệm giải pháp sử dụng để giải vấn đề 2.3.1 Định lý pytago .6 2.3.2 Định lý Ơclit .7 2.3.3 Định lý Lơgiăngđrơ 2.3.4 Định lý Viet 12 2.3.5 Suy luận toán học 13 2.3.6 Định lý số học 15 2.3.7 Nguyên lý Dirile 16 2.4 Hiệu sáng kiến kinh nghiệm hoạt động giáo dục, với thân, đồng nghiệp nhà trường 18 KẾT LUẬN, KIẾN NGHỊ 18 3.1 Kết luận 18 3.2 Kiến nghị 19 TÀI LIỆU THAM KHẢO .20 MỞ ĐẦU 1.1 Lí chọn đề tài Sau cách mạng cơng nghiệp liên quan đến khí, điện, động đốt trong, người khoảng năm thứ 40 cách mạng tin học – thời đại máy tính Để đáp ứng nhu cầu thời đại cơng nghiệp hóa, đại hóa, giáo dục phổ thông trang bị cho học sinh tri thức tốn học, vật lý, hóa học,… Tương tự vậy, để đáp ứng nhu cầu thời đại số hóa, thời đại cách mạng tin học phải trang bị cho công dân tương lai kiến thức, kỹ năng, lực tin học Tin học hành trang thiết yếu đường nghề nghiệp Phần lớn ngành nghề xã hội đại đòi hỏi hiểu biết tin học Thêm nữa, nhiều ngành nghề xuất lĩnh vực tin học như: lập trình viên, quản trị mạng, thiết kế sở kỹ thuật, an ninh mạng,… Đối với ngành giáo dục, tin học sở hạ tầng giáo dục Tin học môi trường dạy học, công cụ quản lý giáo dục, công cụ sư phạm, thiết bị học tập cá nhân, làm việc nhóm giáo viên, học sinh Học sinh THPT nguồn lao động trẻ sử dụng sau tốt nghiệp việc tiếp cận công nghệ thông tin từ nhà trường phổ thơng giúp cho học sinh tự tin cơng việc Việc đào tạo học sinh có tảng lập trình có đam mê lập trình có vai trị quan trọng phát triển sau em Thông qua việc dạy đội tuyển học sinh giỏi, dạy lớp mũi nhọn nhiều năm để học sinh u thích lập trình tơi rút kinh nghiệm sau: Tạo đam mê lập trình đọc sách; vận dụng kiến thức học để giải tốn thực tế; hình thành phát triển tư logic; hình thành bước để giải vấn đề nêu ra; dạy học thông qua chuyên đề độc lập hay liên hệ toán học tin học để giải tốn Vì ngồi dạy học khóa Tin học nhà trường nhằm đảm bảo tính phổ thơng, hướng nghiệp dạy nghề, ta cần phải tạo điều kiện cho học sinh có khiếu Tin học phát triển khả lập trình để giải tốn từ đơn giản đến nâng cao Góp phần nâng cao chất lượng dạy học Tin học 11 nhà trường phổ thông, bồi dưỡng học sinh có khiếu u thích mơn tin học Bồi dưỡng học sinh giỏi nhiệm vụ khó khơng từ việc lựa chọn học sinh, lựa chọn phương pháp mà đòi hỏi nhiều kiến thức, kỹ vận dụng cao Trong trình dạy học sinh đứng đội tuyển học sinh giỏi thấy nhiều toán giải nhanh biết số định lý tốn học, tính chất số áp dụng hợp lý Với lý nên định chọn đề tài :“Sử dụng số định lý suy luận toán học để lập trình giải số tốn bồi dưỡng học sinh giỏi Tin học” 1.2 Mục đích nghiên cứu Đưa số định lý toán học, sử dụng định lý suy luận tốn học để giải số toán trở nên tối ưu hơn, phát huy khả tư sáng tạo cho học sinh nâng cao chất lượng học sinh giỏi Đặc biệt hình thành học sinh kỹ phân tích, xử lý vấn đề thường gặp lập trình giải tốn phức tạp mà nhiều tài liệu chưa đề cập đến 1.3 Đối tượng nghiên cứu Học sinh khối 11 đội tuyển học sinh giỏi trường THPT Nông Cống II 1.4 Phương pháp nghiên cứu + Phương pháp nghiên cứu xây dựng sở lý thuyết + Kỹ thuật phân tích thuật tốn + Phát triển tư học sinh + Tìm hiểu phát triển kỹ + Tham khảo tài liệu lấy từ nhiều nguồn học liệu mở mạng internet phân tích có hệ thống dạng tập theo nội dung đề NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lí luận sáng kiến kinh nghiệm Nghị hội nghị trung ương khóa XI đổi tồn diện giáo dục đào tạo đề mục tiêu tổng quát: Tạo chuyển biến bản, mạnh mẽ chất lượng, hiệu giáo dục, đào tạo; đáp ứng ngày tốt công xây dựng, bảo vệ Tổ quốc nhu cầu học tập nhân dân Giáo dục người Việt Nam phát triển toàn diện phát huy tốt tiềm năng, khả sáng tạo cá nhân; yêu gia đình, yêu Tổ quốc, yêu đồng bào; sống tốt làm việc hiệu Phát triển khả sáng tạo, tự học, khuyến khích học tập suốt đời Tiếp tục đổi mạnh mẽ đồng yếu tố giáo dục, đào tạo theo hướng coi trọng phát triển phẩm chất, lực người học Đa dạng hóa nội dung, tài liệu học tập, đáp ứng yêu cầu bậc học, chương trình giáo dục, đào tạo nhu cầu học tập suốt đời người Tiếp tục đổi mạnh mẽ phương pháp dạy học theo hướng đại; phát huy tính tích cực, chủ động, sáng tạo vận dụng kiến thức, kỹ người học; khắc phục lối truyền thụ áp đặt chiều, ghi nhớ máy móc Tập trung dạy cách học, cách nghĩ, khuyến khích tự học, tạo sở để người học tự cập nhật đổi tri thức, kỹ năng, phát triển lực Chuyển từ học chủ yếu lớp sang tổ chức hình thức học tập đa dạng, ý hoạt động xã hội, ngoại khóa, nghiên cứu khoa học Đẩy mạnh ứng dụng công nghệ thông tin truyền thông dạy học Đổi mạnh mẽ đồng mục tiêu, chương trình, nội dung, phương pháp, hình thức giáo dục, đào tạo theo hướng coi trọng phát triển lực phẩm chất người học Theo hướng phát triển mạnh lực phẩm chất người học, bảo đảm hài hịa đức, trí, thể, mỹ; thực tốt phương châm mới: Dạy người, dạy chữ dạy nghề Chú trọng giáo dục nhân cách, đạo đức, lối sống, tri thức pháp luật ý thức công dân Luật Giáo dục số 38/2005/QH11, Điều 28 quy định: “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, khả làm việc theo nhóm; rèn luyện kỹ 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” Căn vào quan điểm, định hướng để xác định nhiệm vụ cụ thể môn Tin học, tổ chức hoạt động đào tạo góp phần thực mục tiêu giáo dục mà Đảng nhà nước đề Ngoài việc tạo điều kiện cho học sinh chiếm lĩnh tri thức kỹ Tin học cần thiết, Tin học cịn có tác dụng phát triển lực trí tuệ chung như: phân tích, tổng hợp, trừu tượng hoá, khái quát hoá, rèn luyện đức tính, phẩm chất người lao động Học sinh thấy rõ hiệu mạnh mẽ công nghệ thơng tin nhận thức cần có Tốn học có ảnh hưởng lớn đến lĩnh vực sống Các toán tin thuật toán sở lý thuyết toán học vững đem lại kết tốt nhiều so với thuật tốn khác Qua ta thấy liên quan mật thiết Việc sử dụng số định lý suy luận toán học lập trình giải số tốn tối ưu 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm • Thực trạng chung: Sự quan trọng CNTT xã hội biết để quan tâm em học sinh, phụ huynh, nhà trường khó khăn Lập trình Pascal mơn học khó, trừu tượng học sinh khó nắm kiến thức Khả nhận dạng, phân tích đề học sinh chưa chắn, sai kiến thức cú pháp ngữ nghĩa Kiến thức sách giáo khoa Tin học 11 chưa đủ để học sinh làm tốt đề thi học sinh giỏi Đa số kiến thức thi học sinh giỏi kiến thức sách tham khảo, nâng cao Vì giáo viên dạy bồi dưỡng học sinh giỏi phải có chương trình bồi dưỡng thường xuyên, tập hợp, biên soạn tư liệu phù hợp với đối tượng học sinh đảm bảo mức độ đề thi học sinh giỏi • Thuận lợi khó khăn thực đề tài trường THPT Nông Cống II - Thuận lợi: + Nhà trường: Bộ môn Tin học đưa vào giảng dạy cấp trung học phổ thông 10 năm, nhà trường tạo điều kiện sở vật chất máy tính, trang thiết bị để phục vụ cho việc dạy học môn Tin học + Giáo viên: Giáo viên đào tạo chuẩn kiến thức nâng cao Tin học Giáo viên giảng dạy qua đào tạo chuyên ngành Sư phạm Tin học, bồi dưỡng kiến thức qua đợt tập huấn Sở giáo dục đào tạo tổ chức Được giúp đỡ, tạo điều kiện tổ nhóm chun mơn Tốn – Tin + Học sinh: Phần lớn học sinh có kiến thức, tư tốn học tiếp cận lập trình cách dễ dàng Một số học sinh có khả phát triển lập trình u thích lập trình Nhiều học sinh thấy tiềm phát triển ngành CNTT tương lai, qua có ý thức định hướng nghề CNTT Đặc biệt vài năm trở lại có số trường Đại học tuyển thẳng học sinh đạt giải cao kỳ thi học sinh giỏi cấp tỉnh Từ làm thay đổi phần cách nhìn với mơn khơng thi quốc gia THPT - Khó khăn: + Nhà trường: Nhà trường tạo điều kiện tối đa nhiều lý nên sở vật chất để học tốt môn tin học chưa đáp ứng nhu cầu học sinh + Giáo viên: Mức độ tiếp thu kiến thức học sinh khác nên tính hiệu chưa đồng Đòi hỏi đầu tư thời gian công sức giáo viên nhiều Giáo viên thường gặp khó khăn phân hố học sinh bồi dưỡng học sinh yêu thích học giỏi môn tin Tài liệu môn tin học nhà trường gây khó khăn cho việc nâng cao trình độ Đời sống giáo viên cịn nhiều khó khăn nên việc tập trung tối đa cho mơn học bị ảnh hưởng + Học sinh: Chương trình học, thi cử phổ thông nặng chiếm lượng thời gian lớn nên việc học sinh bỏ thời gian đầu tư cho môn không tham gia thi THPT Quốc gia Lập trình có đặc trưng riêng so với môn học khác nên tiếp cận học sinh khó khăn Nhiều học sinh u thích đam mê lập trình điều kiện kinh tế gia đình chưa đủ để em chuyên tâm học tập 2.3 Các sáng kiến kinh nghiệm giải pháp sử dụng để giải vấn đề Mọi tốn có thuật tốn giải máy tính điện tử Mỗi thuật toán giải toán, có nhiều thuật tốn khác giải toán Cần thiết phải lựa chọn thuật tốn phù hợp, để lập trình tốn thường dựa hai yếu tố quan trọng thời gian khơng gian Trong lập trình giải số toán sử dụng kiến thức đơn chương trình chạy test nhỏ Vậy làm để chương trình chạy test lớn khoảng thời gian ngắn? Ở muốn đưa mối liên hệ mật thiết toán học tin học để giải vấn đề Vì để khuyến khích tính tích cực chủ động tiếp thu kiến thức học sinh, tơi giới thiệu số tốn sau: 2.3.1 Định lý pytago Định lý: Trong tam giác vng, bình phương cạnh huyền tổng bình phương hai cạnh góc vng Bài tốn Tính diện tích Một hình trịn nội tiếp tam giác cạnh a (như hình vẽ) Cho cạnh a, tính diện tích phần gạch chéo hình Input: Đọc liệu từ tệp BAI1.INP - Giá trị a Ouput: Ghi liệu vào tệp BAI1.OUT - Diện tích phần gạch chéo, lấy chữ số phần thập phân Ví dụ BAI1.INP BAI1.OUT 6.16 Thuật tốn: + Đường cao tam giác h: sử dụng định lý Pitago tam giác vuông: h a a2 − ( )2 h + Bán kính đường trịn: r - Tính diện tích tam giác S1: S1  - Tính diện tích hình trịn S2: S2  πr2 - Diện tích phần gạch chéo: S1-S2 Chương trình: program dien_tich; var a,s1,s2:real; f1,f2:text; begin assign(f1,'BAI1.INP');reset(f1); assign(f2,'BAI1.OUT');rewrite(f2); readln(f1,a); s1:=1/2*a*sqrt(a*a-a*a/4); s2:=Pi*(a*a-a*a/4)/9; write(f2,(s1-s2):0:2); close(f1);close(f2); end Bài tập áp dụng Tính diện tích Một tam giác cạnh a nội tiếp đường trịn (như hình vẽ) Cho cạnh a, tính diện tích phần gạch chéo Input: Đọc liệu từ tệp BAI2.INP - Giá trị a Ouput: Ghi liệu vào tệp BAI2.OUT - Diện tích phần gạch chéo, lấy chữ số phần thập phân Ví dụ BAI2.INP BAI2.OUT 5.52 2.3.2 Định lý Ơclit Cho a, b hai số nguyên (giả sử a ≥ b), để tìm ước chung lớn hai số a b ta cần thực chia a cho b thương q số dư r (r ≥ 0) tức a = b*q + r, ta có: Ucln(a,b) = Trong đó: r = a mod b Bài tốn: Cộng phân số C D A B Cho hai phân số Hãy xác định số nguyên dương E F thỏa mãn điều kiện sau: + Điều kiện 1: E A C = + F B D E F + Điều kiện 2: phân số tối giản Input: Đọc liệu từ tệp văn PHANSO.INP, có cấu trúc + Dịng chứa hai số A B + Dòng chứa hai số C D ( A, B, C, D số nguyên dương không lớn 104) Output: kết đưa tệp văn PHANSO.OUT Có dịng chứa hai số E F tìm thỏa mãn hai điều kiện (Các số ghi dòng cách dấu cách trống) Ví dụ PHANSO.INP PHANSO.OUT 10 Thuật toán: Với toán cần sử dụng chương trình tìm UCLN số giải Chương trình: Program cong_phan_so; var a,b,c,d,e,f,u:longint; f1,f2:text; function ucln(m,n:longint): longint; begin while (m0) and (n0) if m>n then m:=m mod n else n:=n mod m; ucln:= m+n; end; BEGIN assign(f1,'PHANSO.INP');reset(f1); assign(f2,'PHANSO.OUT'); rewrite(f2); read(f1,a,b,c,d); e:=a*d+b*c; f:=b*d; u:=ucln(e,f); write(f2,e div u,' ',f div u); close(f1); close(f2) END Bài tập áp dụng: Cho số nguyên A, B, C Hãy tìm cặp số nguyên x y cho thỏa mãn phương trình: Ax +By = C Input: từ tệp văn CAPSO.INP, có cấu trúc + Dịng chứa ba số A, B C ( A, B, C số nguyên không lớn 104) Output: kết đưa tệp văn CAPSO.OUT Có dịng chứa hai số x y tìm thỏa mãn điều kiện Nếu khơng có cặp số x, y thỏa mãn đưa số CAPSO.INP CAPSO.OUT 29 -3 11 Thuật toán: Đối với toán ta dựa vào định lý Ơclit mở rộng: UCLN(A, B) có tính chất đặc biệt ln biểu diễn dạng: Ax + By = UCLN(A, B) x, y hai số nguyên Để tồn cặp số nguyên x, y thỏa mãn điều kiện điều kiện cần đủ UCLN(A,B) ước C 2.3.3 Định lý Lơgiăngđrơ Trong triển khai số n! (n số tự nhiên lớn 1) thừa số nguyên tố thừa số ngun tố p có số mũ là: Bài tốn: Tìm số mũ số nguyên tố p cách phân tích n! thừa số nguyên tố (n ≤ 231) Việc duyệt số nguyên bội p từ đến n để chia cho p tìm số mũ lấy tổng số mũ khơng thể thực Ví dụ: Nếu n=231 cịn p = ta phải duyệt qua (n div p) số, đại lượng 230 =1.073.741.824 tức tỷ số cần phải duyệt Nội việc cho biến i chạy qua 230 số mà chưa làm khoảng 10 giây Như ta cần phải tìm cách khác để tính số mũ p Gọi si số chia hết cho p i khoảng n Số tổng số số chia hết cho p, p2, p3… khoảng n Dễ thấy số mũ p s1+s2+…+sk với k lớn cho pk ≤ n Ví dụ: n=29 p =3 k=3, s1 =9, s2 =3, s3 =1 → Số mũ s1+s2+s3 =13 Mặt khác số chia hết cho p i khoảng n là: 1* p i, 2* pi, 3* pi, …,*pi → có số Đây nội dung định lý Lơgiăngđrơ: Số mũ số nguyên tố p phân tích n! thành thừa số nguyên tố là: Để ý (Số số chia hết cho p i+1 khoảng n số số chia hết cho pi khoảng (n div p)) function SoMu(p:longint;n:longint):integer; var count:integer; begin count:=0; while n0 begin n:=n div p; Count:=count + n; end; SoMu:=count; end; 10 Với k đủ lớn ta cóhay n < pk Vì hàm SoMu phải vào vòng lặp k lần với k số nguyên nhỏ cho n < pk Cụ thể trường hợp lớn n = 231; p = k = = 31 so với 230 (nhỏ 34 triệu lần) ! Ta áp dụng định lý Lơgiăngđrơ để giải toán sau: Bài tốn Tìm chữ số tận khác n! Yêu cầu: Em viết chương trình tìm chữ số tận khác n! (với n≤107) Input: Đọc liệu từ tệp CHUSO.INP gồm có nhiều dòng liên tiếp nhau, dòng chứa số nguyên không âm N Output: Ghi vào tệp CHUSO.OUT có số dịng số dịng tương ứng với liệu vào Trên dịng ghi chữ số khác khơng cuối n! Ví dụ: CHUSO.INP CHUSO.OU T 24 26 125 674 Thuật toán: Các chữ số cuối n giai thừa sinh khai triển thừa số ngun tố tích có chứa cặp thừa số Vậy trước hết ta đếm số lượng thừa số 2, kí hiệu d2 số lượng thừa số 5, kí hiệu d5 Ta sử dụng định lý Lơgiăngđrơ để tính số mũ Thí dụ, với n = 15 ta có dạng khai triển thừa số nguyên tố n giai thừa sau: n! = 1.2.3.(2.2).5.(2.3).7.(2.2.2).9.(2.5).11 (2.2.3).13.(2.7).(3.5) Do d2 = 11 d5 = Vậy ta có ba cặp 2.5 = 10 số mũ dôi thừa số so với thừa số d2 – d5 = 11 – = Khi đó, kết là: chữ số cuối khác 15! = chữ số cuối k.2 d2-d5 Trong k tích thừa số cịn lại Dễ thấy với n, ta ln có d2 > d5 hai số liên tiếp có số chẵn (chia hết cho 2), năm số liên tiếp có số chia hết cho Việc cịn lại lấy tích k số cịn lại Vì tích khơng tận ta cần giữ lại chữ số cuối cách lấy mod 10 Để tính chữ số tận 2m với m = d2 – d5 > ta để ý đến tính tuần hồn nó, cụ thể ta cần tính chữ số tận 2(m mod 4) với trường hợp: m mod = 0, 1, 11 Theo thí dụ ta có m mod = mod = 0, chữ số cuối m là m > Ta tính (những cặp gạch dưới) 15! = 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15 = = 1.2.3.(2.2).5.(2.3).7.(2.2.2).9.(2.5).11 (2.2.3).13.(2.7).(3.5) (3.3.7.9.11.3.13.7.3) 28 mod 10 = = ((k mod 10) (28 mod 10)) mod 10 = (3.6) mod 10 = Chữ số cuối khác 15! Lưu ý (a.b) mod m=((a mod m).(b mod m)) mod m ta lấy mod bước trung gian với số lần tùy ý Để tránh việc tràn số sử dụng biến dung lượng nhỏ kiểu word thay dùng longint tăng thêm phép tốn mod Chẳng hạn, tích luỹ kết quả, thay viết k := (k*c) mod 10; ta nên viết k := (k*(c mod 10)) mod 10; Chương trình: Program chu_so_tan_cung_khac_0; Var f1,f2:text; N:longint; function tim(n: longint): longint; var m: longint; i,k,x,d: longint; begin k := 1; m := 0; tim := k; if (n =0 then begin x1:=(r+sqrt(delta))/2; x2:=(r-sqrt(delta))/2; xuli(x1); xuli(x2); end else write(f2,r:0:5,' '); end; {*********************************} BEGIN clrscr; assign(f1,'SOTHUC.INP'); reset(f1); assign(f2,'SOTHUC.OUT'); rewrite(f2); readln(f1,r); xuli(r); close(f1); close(f2); END 2.3.5 Suy luận toán học Bài toán: Cho số nguyên dương N (N>1) Hãy viết tất phân số tối giản nhỏ có mẫu nhỏ N theo thứ tự tăng dần Input: Đọc liệu từ tệp Faray.inp gồm số nguyên N Output: Ghi liệu vào tệp Faray.out Gồm: Nhiều dòng, dòng gồm hai số nguyên dương biểu thị tử mẫu phân số Ví dụ: Faray.inp Faray.out 14 13 12 23 34 Thuật tốn Nếu dùng hai vịng lặp lồng để tìm tử mẫu phân số, sau xếp lại theo thứ tự tăng dần cách làm lâu tốn nhớ Do tơi giới thiệu thuật tốn nhà tốn học người Anh Faray tìm Với N=4 dãy phân số tìm Nhận thấy: Phân số có tử mẫu theo thứ tự tổng tử mẫu hai phân số hai bên Ví dụ: Từ nhận xét nhà tốn học người Anh đưa thuật tốn để tìm tất phân số sau: Bước 1: Bắt đầu hai phân số 14 Bước : Ta lấy tổng tử mẫu hai phân số kề dãy tử mẫu phân số Nếu mẫu phân số nhỏ N ta đặt phân số vào dãy hai phân số ban đầu Lặp lại Bước không làm Cuối ghi ta bỏ hai phân số dãy phân số cần tìm Dãy phân số thành lập dãy tăng ta kiểm tra tính tối giản phân số mà phân số thêm vào ln tối giản Ví dụ với N=4 Lúc đầu ta có hai phân số Lần thứ 1: Thêm phân số vào dãy 24 Lúc dãy là: Đến ta làm tiếp nữa,dãy phân số cần tìm là: Với thuật tốn ta cài đặt chương trình đệ quy để làm bước thứ Chương trình: Program Phan_so; uses crt; const fi='Faray.inp'; fo='Faray.out'; var t1,m1,t2,m2,n:word; g:text; {***************************************} procedure nhap; var f:text; begin assign(f,fi); reset(f); readln(f,n); close(f); assign(g,fo); rewrite(g); end; {***************************************} procedure viet(t1,m1:word); begin if t1>0 then writeln(g,t1,' ',m1); end; {***************************************} procedure xuli(t1,m1,t2,m2:word); begin if m1+m2100 khơng thể ghi file Để khắc phục điều ta viết nhiều phân số dịng Nhưng cách giải pháp tạm thời Bài toán hay khơng bắt viết hết tồn dãy phân số mà yêu cầu viết hay vài phân số dãy, lúc phải thêm vào biến dem để ghi nhận vị trí phân số dãy 2.3.6 Định lý số học Mọi số nguyên dương biểu diễn thành tích số nguyên tố Hệ quả: Mọi số tự nhiên N>1 biễu diễn dạng chuẩn tắc ki số nguyên dương pi số nguyên tố với p1 < p2 < … < ps Ta có kết luận sau: - Số ước N là: - Tổng ước số Bài toán: Cho số nguyên dương N (20 then writeln(f2,j,'^',a[j]); Close(f1); Close(f2); END 2.3.7 Nguyên lý Dirile Nếu xếp nhiều n+1 đối tượng vào n hộp tồn hộp chứa khơng hai đối tượng Bài toán: Cho số nguyên dương K chữ số a (a>0) Tìm số nguyên dương nhỏ gồm chữ số a chia hết cho K Input: Đọc liệu từ tệp CHIAHET.INP Gồm: K, a (K ≤ 30000) Output: Ghi liệu vào tệp CHIAHET.OUT Số cần tìm Ví dụ: CHIAHET.INP CHIAHET.OUT 31 111 Thuật toán: Với ta áp dụng nguyên lí Dirile để giải Ta thành lập K số số gồm 1,2,3,…,K số a Tức là: Số thứ a Số thứ hai aa Số thứ ba aaa… Nếu K số có số chia hết cho K ghi nhận kết thúc Nếu khơng K số chia cho K nhận K−1 số dư từ đến K−1 Như 17 theo ngun lí Dirile có hai K số có số dư chia cho K, hiệu chúng chia hết cho K đồng thời hiệu hai số gồm chữ số a Để giải tốn cách nhanh chóng ta phải nghĩ cách làm giảm bớt cơng sức tìm kiếm số dư số K số thành lập Dùng mảng du: array[1 max] of word để lưu số dư số chia cho K, biến du10 để lưu số dư 10 i chia cho K Ta cập nhật du10 sau lần tăng i sau: du10:=du10*10 mod k Do số dư số thứ i chia cho K là: du[sl]:=(du10*a mod k + du[sl-1]) mod k Chương trình: uses crt; const fi='CHIAHET.INP'; fo='CHIAHET.OUT'; max=32000; var du : array[1 max] of word; sl,k,a : word; {****************************************} procedure nhap; var f:text; begin fillchar(du,sizeof(du),0); assign(f,fi);reset(f); read(f,k,a); close(f); end; {****************************************} function kt(sl:word;var vt:word):boolean; var i:word; begin kt:=true; vt:=0; for i:=1 to sl-1 if du[i]=du[sl] then begin vt:=i; exit; end; kt:=false; end; {****************************************} procedure xuli; var vt:word; du10:longint; g:text; begin sl:=1; du[1]:=a mod k; du10:=1; if du[1]>0 then begin repeat inc(sl); du10:=du10*10 mod k; du[sl]:=(du10*a mod k + du[sl-1]) mod k; 18 if du[sl]=0 then begin vt:=0; break; end; until kt(sl,vt); end else vt:=0; assign(g,fo); rewrite(g); for du10:=vt+1 to sl write(g,a); for du10:=1 to vt write(g,0); close(g); end; {****************************************} procedure main; begin nhap; xuli; end; {*****************************************} BEGIN clrscr; main; END 2.4 Hiệu sáng kiến kinh nghiệm hoạt động giáo dục, với thân, đồng nghiệp nhà trường Sau trình áp dụng đề tài nghiên cứu việc bồi dưỡng học sinh giỏi môn tin học 11 trường THPT Nông Cống II thu kết khả quan Học sinh nâng cao tính tư sáng tạo, vận dụng linh hoạt lập trình tốt mối liên hệ giữ tốn học tin học Từ học sinh vận dụng tốt định lý suy luận toán học lập trình giải tốn máy tính Tơi áp dụng cách thức bồi dưỡng qua khóa học Tùy thuộc vào khả trình độ học sinh để sửa đổi bổ sung cho hợp lý Thực tơi thấy có hiệu việc học tập em, cụ thể năm hướng dẫn đội tuyển thi học sinh giỏi cấp tỉnh đạt giải 100%, cụ thể: Năm học 2013 – 2014: Đạt giải nhì giải ba Năm học 2014 – 2015: Đạt giải ba Năm học 2015 – 2016: Đạt giải ba Qua việc bồi dưỡng học sinh giỏi tơi thấy thân có nhiều kinh nghiệm, học quý báu chuyên môn Không ngừng đó, tơi phải tiếp tục học hỏi kinh nghiệm qua tài liệu học, qua đồng nghiệp bạn bè trường, tỉnh, qua lớp học Online để tiếp tục nâng cao chất lượng dạy học môn tin nhà trường, huyện tỉnh KẾT LUẬN, KIẾN NGHỊ 3.1 Kết luận Thông qua đề tài :“Sử dụng số định lý suy luận tốn học để lập trình giải số toán bồi dưỡng học sinh giỏi Tin học” 19 Các em bước hình thành kỹ lập trình thực việc thiết kế toán cách thành thạo hơn, làm tiền đề để học sinh lập trình tốt ngơn ngữ lập trình nâng cao khác Học sinh, giáo viên tạo liên hệ mơn tốn học tin học qua phát triển tư logic Việc áp dụng đề tài vào bồi dưỡng học sinh giúp học sinh có động lực u thích mơn học lập trình Qua giúp em có đam mê CNTT có định hướng tốt tương lai Qua tiết dạy bồi dưỡng học sinh giỏi giúp cho giáo viên nắm bắt nhược điểm học sinh hay mắc phải, phần kiến thức học sinh thường nhầm lẫn để củng cố, sửa đổi, bổ sung kịp thời cho em giúp em hiểu rõ vấn đề vướng mắc trình thực học tập 3.2 Kiến nghị Để giúp học sinh u thích lập trình có nhiều điều kiện mong quan tâm nhà trường ngành có liên quan giúp đỡ sở vật chất Nhà trường cần trang bị thêm số tranh ảnh, tài liệu phục vụ cho môn học để việc dạy học ngày hiệu Nhà trường cần tổ chức nhiều buổi trao đổi phương pháp giảng dạy cho toàn thể cán giáo viên Trên số kinh nghiệm, biện pháp mà rút trình dạy học, trao đổi với đồng nghiệp áp dụng để bồi dưỡng học sinh giỏi Tuy nhiên nhiều yếu tố khách quan, chủ quan nhiều mặt hạn chế Rất mong đóng góp ý kiến đồng nghiệp để tơi hồn chỉnh đề tài này, có thêm hành trang phục vụ chun mơn ngày tốt năm học tới, góp phần nâng cao chất lượng dạy học Xin chân thành cảm ơn! XÁC NHẬN CỦA THỦ TRƯỞNG Thanh Hóa, ngày 02 tháng Năm 2021 ĐƠN VỊ Tôi xin cam đoan SKKN viết, khơng chép nội dung người khác NGƯỜI THỰC HIỆN ĐỀ TÀI Hoàng Thị Yến 20 TÀI LIỆU THAM KHẢO Sách giáo khoa tin học 11 - Hồ Sĩ Đàm, NXB Giáo dục Sách giáo viên Tin học 11 - Hồ Sĩ Đàm, NXB Giáo dục Tài liệu bồi dưỡng cán quản lí giáo viên dạy học kiểm tra, đánh giá kết học tập học sinh theo định hướng lực Sáng tạo thuật tốn lập trình (Tập 1) – Nguyễn Xn Huy, NXB Giáo dục Giải toán máy tính (Tập 2) – Hồng Kiếm, NXB Giáo dục Tài liệu tập huấn bồi dưỡng học sinh giỏi Sở giáo dục đào tạo Thanh Hóa Tài liệu tốn học tin học nhà trường Một số tài liệu mạng Internet 21 ... giỏi tơi thấy nhiều tốn giải nhanh biết số định lý tốn học, tính chất số áp dụng hợp lý Với lý nên định chọn đề tài :? ?Sử dụng số định lý suy luận tốn học để lập trình giải số toán bồi dưỡng học. .. giữ tốn học tin học Từ học sinh vận dụng tốt định lý suy luận tốn học lập trình giải tốn máy tính Tơi áp dụng cách thức bồi dưỡng qua khóa học Tùy thuộc vào khả trình độ học sinh để sửa đổi bổ... dưỡng học sinh giỏi Tin học? ?? 1.2 Mục đích nghiên cứu Đưa số định lý tốn học, sử dụng định lý suy luận toán học để giải số toán trở nên tối ưu hơn, phát huy khả tư sáng tạo cho học sinh nâng cao

Ngày đăng: 19/05/2021, 20:56

Mục lục

  • Người thực hiện: Hoàng Thị Yến

  • 1. MỞ ĐẦU 2

  • 2. NỘI DUNG CỦA SÁNG KIẾN KINH NGHIỆM 3

  • 3. KẾT LUẬN, KIẾN NGHỊ 18

  • Bài tập áp dụng. Tính diện tích 2

    • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan