Kĩ thuật sử dụng mảng đánh dấu trong lập trình qua một số ví dụ

20 55 0
Kĩ thuật sử dụng mảng đánh dấu trong lập trình qua một số ví dụ

Đ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áng kiến kinh nghiệm năm học 2020-2021 MỞ ĐẦU 1.1 Lí chọn đề tài Mơn tin học môn học không thi THPT Quốc Gia, học sinh không trọng đầu tư thời gian cho môn học Số học sinh có hứng thú u thích mơn học Để thu hút em tham gia vào đội tuyển giáo viên phải ln tìm giải pháp giúp nâng cao chất lượng, hệ thống theo kỹ thuật tập từ dễ đến khó, giúp em nắm bắt phương pháp áp dụng vào giải toán cách tốt Những giải pháp kỹ thuật có nhiều Tuy nhiên, trình sâu tìm hiểu tài liệu, tham khảo đồng nghiệp, phát kĩ thuật mà chưa thấy tài liệu viết đến, mà sử dụng nhiều đề thi học sinh giỏi Đó sử dụng “Mảng đánh dấu” để lập trình Vì tơi chọn vấn đề để viết Sáng kiến kinh nghiệm “Kĩ thuật sử dụng mảng đánh dấu lập trình qua số ví dụ” 1.2 Mục đích nghiên cứu: Nhằm nâng cao chất lượng học sinh khá, giỏi có niềm đam mê tin học, giúp em nắm vững kĩ thuật Từ hình thành tư logic, chắn, xác để phục vụ cho giải tốn lớn cơng việc phức tạp sau 1.3 Đối tượng nghiên cứu: Đề tài nhằm nghiên cứu việc sử dụng kĩ thuật mảng đánh dấu để tối ưu toán đặc trưng, tin học 1.4 Phương pháp nghiên cứu + Lấy tốn, thuật tốn điển hình áp dụng nhiều vào toán khác + Tìm hiểu thực tế đề thi học sinh giỏi qua năm + Tổng hợp lại đề, xem xét liệu tốn u cầu, tìm thuật tốn sử dụng mảng đánh dấu + Thống kê, tập hợp lại toán, xây dựng thuật toán, viết code Giáo viên: Nguyễn Thị Huyền Tổ: TD – QP- Tin Trường THPT Nông Cống Sáng kiến kinh nghiệm năm học 2020-2021 1.5 Những điểm SKKN: Để nâng cao chất lượng học sinh giỏi có niềm đam mê tin học, giúp em nắm vững kỹ lập trình, hình thành tư logic Tơi hệ thống tập theo kỹ thuật từ dễ đến khó, từ em dễ dàng nắm bắt kĩ thuật để áp dụng giải toán phù hợp Nội dung sáng kiến kinh nghiệm tơi xin trình bày phần đây: NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lí luận sáng kiến kinh nghiệm Khi tiếp cận với “tài liệu chuyên tin học” tác giả Hồ Sĩ Đàm (chủ biên), Đỗ Đức Đông, Lê Minh Hồng, Nguyễn Thanh Hùng, Trong có thuật tốn sàng ngun tố, hay cịn gọi thuật tốn sàng nguyên tố Eratosthenes để tìm tất số nguyên tố đoạn từ tới N Đó Bước 1: sử dụng mảng để đánh dấu phần từ từ 2-> N tất nguyên tố, p = số nguyên tố Bước 2: Tất bội p: 2p, 3p, 4p….sẽ bị đánh dấu khơng ngun tố, Bước 3: Tìm số cịn lại danh sách chưa đánh dấu > p Nếu khơng cịn số , dừng lại tìm kiếm Nếu cịn gán x lặp lại bước Bước Khi kết thúc giải thuật, số không bị đánh dấu số nguyên tố Theo webside http://www.Wikipedia.org, Sau tìm giải thuật, nhà toán học Eratosthenes lấy cọ ghi lại tất số từ 2-100 Ông chọc thủng hợp số giữ nguyên số ngun tố Tơi bắt đầu hình thành ý tưởng dùng kĩ thuật mảng đánh dấu để giải tốn khác Và tơi tìm thêm tài liệu, đề thi học sinh giỏi qua năm thấy sử dụng nhiều kĩ thuật Và tơi bắt đầu tìm tịi, nghiên cứu kĩ thuật 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Trước áp dụng sáng kiến kinh nghiệm kĩ thuật “Mảng đánh dấu”, gặp nhiều toán cần xử lý số liệu lớn, áp dụng thuật tốn thơng Giáo viên: Nguyễn Thị Huyền Tổ: TD – QP- Tin Trường THPT Nông Cống Sáng kiến kinh nghiệm năm học 2020-2021 thường giải phần test có liệu nhỏ, không full test Khiến điểm thường thấp, không cao 2.3 Các sáng kiến kinh nghiệm giải pháp sử dụng để giải vấn đề Sau số ví dụ cụ thể Tơi sử dụng giúp học sinh nắm vững kỹ thuật dùng mảng đánh dấu trong lập trình Trong q trình nghiên cứu, tơi sử dụng ngơn ngữ lập trình Pascal để thể thuật tốn Vì ngơn ngữ lập trình Pascal ngơn ngữ phổ thơng, sử dụng để giảng dạy chương trình hành, để giúp em học sinh, đồng nghiệp nắm rõ hơn, sâu sắc vấn đề cần chuyển tải Bài Dãy dài ( Kì thi chọn HSG cấp tỉnh lớp 12 THPT năm học 20172018 tỉnh Hải Dương) Cho dãy số nguyên dương số nguyên dương Hãy tìm dãy dài (là dãy có nhiều số nhất) gồm số liên tiếp A mà tổng tất số dãy chia hết cho Dữ liệu: Nhập từ file văn DAYDAINHAT.INP  Dòng ghi hai số nguyên dương ghi cách dấu trống  Dịng thứ hai ghi số ngun dương mơ tả dãy , hai số nguyên liên tiếp ghi cách dấu trống Giá trị số nguyên không vượt 109 Kết quả: Ghi file văn DAYDAINHAT.OUT độ dài dãy dài tìm Ví dụ: DAYDAINHAT.INP 63 DAYDAINHAT.OUT 324637 Ghi chú: Kết chấm qua test, test 0,25 điểm, đó:  test có N≤500 Giáo viên: Nguyễn Thị Huyền Tổ: TD – QP- Tin Trường THPT Nông Cống Sáng kiến kinh nghiệm năm học 2020-2021  test có N≤5000  test có N≤105 Ý tưởng: Lập mảng tiền tố S với s[i] tổng phần tử từ từ phần từ đầu tiên1 tới phần tử thứ i, tổng đoạn a[i], a[i+1], ,a[j] tính s[j]-s[i-1] ta có thuật tốn với độ phức tạp O(n2) chương trình minh họa đây: var n,k: longint; a,s:array[0 100000] of longint; i,j,T,res:longint; begin read(n,k); for i:=1 to n read(a[i]); s[0]:=0; for i:=1 to n s[i]:=s[i-1]+a[i]; res := 0; for i:=1 to n for j:=1 to n begin t:=s[j]-s[i-1]; if (t mod k =0 ) and (res

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

Mục lục

    Bài 2: Nghiên cứu gen (Đề thi HSG Bình Phước 2016-2017)

    Bài 4: Đếm số lượng ( Đề thi học sinh giỏi Bình Phước 2012-2013)

    Yêu cầu: Cho số nguyên N, Tìm số bé hơn n có độ bền lớn nhất

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

Tài liệu liên quan