Skkn sử dụng kiến thức toán học trong lập trình giải một số bài toán nhằm tạo hứng thú và nâng cao kết quả học tập cho học sinh

18 0 0
Skkn sử dụng kiến thức toán học trong lập trình giải một số bài toán nhằm tạo hứng thú và nâng cao kết quả học tập cho học sinh

Đ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 TRIỆU SƠN 3 SÁNG KIẾN KINH NGHIỆM SỬ DỤNG KIẾN THỨC TOÁN HỌC TRONG LẬP TRÌNH GIẢI MỘT SỐ BÀI TOÁN NHẰM TẠO HỨNG THÚ VÀ NÂNG CAO KẾT QUẢ HỌC TẬP CHO HỌC SIN[.]

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT TRIỆU SƠN SÁNG KIẾN KINH NGHIỆM SỬ DỤNG KIẾN THỨC TỐN HỌC TRONG LẬP TRÌNH GIẢI MỘT SỐ BÀI TOÁN NHẰM TẠO HỨNG THÚ VÀ NÂNG CAO KẾT QUẢ HỌC TẬP CHO HỌC SINH Người thực hiện: Lê Thị Quỳnh Chức vụ: Tổ phó chun mơn Đơn vị cơng tác: Trường THPT Triệu Sơn SKKN thuộc môn: Tin học THANH HOÁ NĂM 2021 skkn MỤC LỤC MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu .1 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu .2 NỘI DUNG 2.1 Thực trạng vấn đề cần giải .3 2.2 Các giải pháp giải vấn đề .3 2.2.1 Giải pháp 1: Sử dụng cơng thức tính tổng dãy số giải phương trình bậc hai 2.2.2 Giải pháp 2: Sử dụng hai đẳng thức 2.2.3 Giải pháp 3: Sử dụng cách tìm chu vi nhỏ hình chữ nhật có diện tích cho trước 2.2.4 Giải pháp 4: Sử dụng tổ hợp, nhóm phần tử thỏa mãn điều kiện 2.2.5 Giải pháp 5: Sử dụng công thức truy hồi, đệ quy KẾT LUẬN, KIẾN NGHỊ 13 3.1 Kết luận 13 3.2 Kiến nghị 13 TÀI LIỆU THAM KHẢO 14 DANH MỤC 15 skkn MỞ ĐẦU 1.1 Lý chọn đề tài Người ta thường nói Tốn Tin anh em thật không sai Để học tốt môn Tin học nói chung lập trình Tin học nói riêng định cần phải có tư tố chất Tốn học Có nhiều tốn Tin học (cấp THPT) giải cách sử dụng cơng thức tốn học liên quan, khơng có kiến thức Tốn học khó giải giải theo cách ‘lòng vòng’ nhiều Quá trình dạy lớp mũi nhọn ôn thi HSG cấp Tỉnh, vận dụng nhiều cách khác để tạo hứng thú, u thích mơn học cho học sinh, đồng thời cách để tìm học sinh có đam mê, có tố chất mơn Tin học, từ tìm kiếm học sinh dự nguồn tham gia thi học sinh giỏi cấp Tỉnh Một cách hướng dẫn cho em giải toán lập trình từ nhiều góc độ, có việc sử dụng kiến thức Toán học – kiến thức mà hầu hết em học sinh giỏi muốn vận dụng, thể giải vấn đề qua trình học tập mơn học Vì vậy, tơi chọn đề tài “Sử dụng kiến thức Tốn học lập trình giải số toán nhằm tạo hứng thú nâng cao kết học tập cho học sinh” làm sáng kiến kinh nghiệm năm học 2020 – 2021 để trao đổi với đồng nghiệp Đây phương pháp thực hiệu trường THPT Triệu Sơn 3, đồng thời hy vọng cách làm hoàn thiện, bổ sung nhân rộng trường THPT khác Tỉnh 1.2 Mục đích nghiên cứu Với lý chọn đề tài trình bày trên, tơi mong muốn đề tài giúp đồng nghiệp dễ dàng tạo hứng thú u thích mơn học cho học sinh giỏi (những học sinh định hướng học khoa học tự nhiên) - Giảm khó khăn tìm kiếm học sinh dự nguồn thi học sinh giỏi cấp Tỉnh - Nâng cao kết học tập cho học sinh định hướng học ban khoa học tự nhiên nói chung học sinh lớp 11 nói riêng - Nhìn nhận, giải số toán cách sử dụng kiến thức Toán học biết 1.3 Đối tượng nghiên cứu - Một số kiến thức Toán học - Một số tập Tin học lớp 11(THPT) thi HSG cấp - Sự hứng thú, ý thức học tập học sinh giỏi môn Tin học skkn 1.4 Phương pháp nghiên cứu Để thực đề tài này, sử dụng phương pháp: - Phương pháp nghiên cứu xây dựng sở lí thuyết: Cơ sở lý thuyết kiến thức Toán học mà học sinh biết học, số toán đề thi cấp; Sự hứng thú học môn Tin học ý thức học tập học sinh môn học - Phương pháp điều tra khảo sát thực tế, thu thập thông tin: Thông qua kết điều tra mức độ hứng thú, u thích tìm hiểu mơn Tin học học sinh lớp 11 trường THPT Triệu Sơn - Phương pháp thống kê, xử lý số liệu: Trên sở kết đạt được, thống kê số liệu, xử lí số liệu để so sánh nhóm thực nghiệm đối chứng skkn 2 NỘI DUNG 2.1 Thực trạng vấn đề cần giải Trong tập lập trình Tin học cấp THPT nội dung thi học sinh giỏi Tin học cấp, có nhiều thường giải với nhiều cách khác nhau, có nhiều giải hồn tồn kiến thức Tốn học Nhiều học sinh học Tốn môn khoa học tự nhiên tốt lại chưa biết vận dụng kiến thức tốn lập trình nào, nên em thường kêu ca học Tin khó Đối với nhóm học sinh giỏi việc học nội dung có liên quan đến Tốn học ln tạo tị mị, hứng thú thích khám phá tìm hiểu em Vì vậy, tiết dạy (nhất – Tin học 10, chương trình Tin học 11) tơi ln tìm kiếm liên quan Tin Tốn để tạo hứng thú, u thích tìm hiểu mơn Tin học cho em thơng qua tập mức độ phù hợp 2.2 Các giải pháp giải vấn đề Mỗi toán nêu đề tài ví dụ cho việc thực giải tốn nhiều cách, sử dụng kiến thức Toán học mà học sinh biết Các toán xếp thứ tự theo mức độ từ dễ đến khó Với giải pháp, tơi đưa hai toán minh họa, nội dung Toán học liên quan khác tiếp tục nghiên cứu trình bày đề tài Với tốn đưa ra, tơi nêu cách giải theo ý chủ quan, cịn cách làm khác mà thân chưa biết đến, với cách làm khác nêu ra, tơi nêu cách làm, cịn theo cách sử dụng kiến thức, cơng thức Tốn học nêu cách làm code ngôn ngữ lập trình C++ Dữ liệu vào/ra tốn để file dạng “ input.txt ” “output.txt” 2.2.1 Giải pháp 1: Sử dụng cơng thức tính tổng dãy số giải phương trình bậc hai Bài tốn : Số tam giác Một số gọi “số tam giác” ta biểu diễn dạng lưới hình tam giác gồm điểm cho điểm tạo thành tam giác đều, tức hàng có điểm, hàng thứ hai có hai điểm, hàng thứ ba có ba điểm, Các số tam giác bắt đầu 1, (12), (1+2+3), skkn Cho biết số nguyên dương N, cho biết N có phải số tam giác hay khơng? (N ≤107) Dữ liệu vào gồm dịng chứa số N, liệu số N số tam giác, số N số tam giác Cách Dùng tư toán học Nhận xét: Nếu N số tam giác N có dạng: 1+2+3+ +k = k(k+1)/2 Giả sử N số tam giác N = x(x-1)/2 hay ta có phương trình bậc ẩn x là: x2+x-2*N =0 Nếu phương trình có nghiệm ngun dương N số tam giác, ngược lại không Dưới code tham khảo theo cách #include using namespace std; int main() { ifstream cin("input.txt"); ofstream cout ("output.txt"); int n; cin >> n; int a = 1, b = 1, c = -2*n; double d = b*b - 4*a*c; double x1 = (-b+sqrt(d))/(2*a) ; double x2 = (-b-sqrt(d))/(2*a); if ((x1 > && floor(x1)==x1) or ( x2 > && floor(x2)==x2)) { cout > n; n1=(n % ? n-1 : n); lli a = (n1/2)*(n1/2)*2; lli b=n1/2*(n1+1); if (n % 2) a+=n; cout n; if (n==2) cout =cnt[3]) cnt[1]-=cnt[3]; else cnt[1]=0; cnt[2]= cnt[2]%2; kq+=(cnt[2]*2+cnt[1])/4; if (cnt[2]*2+cnt[1]%4 > 0) kq += 1; cout > n; cout

Ngày đăng: 21/02/2023, 09:29

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

Tài liệu liên quan