Sáng kiến kinh nghiệm sử dụng thuật toán “lùa bò vào chuồng” để giải các bài toán đếm

19 7 0
Sáng kiến kinh nghiệm sử dụng thuật toán “lùa bò vào chuồng” để giải các bài toán đếm

Đ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 Đề tài Sử dụng thuật toán “lùa bò vào chuồng” để giải các bài toán đếm Hà Tĩnh, tháng 09 năm 2019 I ĐẠT VẤN ĐÉ 1 1 Lý do chọn đề tài Sự phát triển như vũ bào cùa Công nghệ Thông[.]

SÁNG KIÊN KINH NGHIỆM Đề tài: Sử dụng thuật toán “lùa bị vào chuồng” để giải tốn đếm Hà Tĩnh, tháng 09 năm 2019 I ĐẠT VẤN ĐÉ 1.1 Lý chọn đề tài Sự phát triển vũ bào cùa Cơng nghệ Thơng tin Truyền thịng đóng vai trị khơng nhị phát triển chung cùa nhân loại Đâng nhà nước đà xác định rồ ý nghía tầm quan trọng cùa tin học, Cơng nghệ Thơng tin Truyền thịng u cầu đầy mạnh cùa ứng dụng Công nghệ Thông tin, đào tạo thể hệ trẻ động, sáng tạo, nắm vừng tri thức khoa học công nghệ đề làm chủ hồn cảnh cịng tác hoạt động xà hội thời kỳ cơng nghiệp hóa đại hóa đất nước Chính xác định đtrợc tầm quan trọng nên nhà nước đà đưa mịn tin học vào nhà trường từ tiểu học học sinh đtrợc tiếp xúc mòn tin học đế làm quen dần với lình vực cơng nghệ thơng tin, tạo móng ban đầu để học phần nâng cao Đối với em học sinh, nói hành trang để giúp em vững bước tới tương lai - tương lai cùa thời đại cơng nghệ thịng tin bùng nổ! Trong chương trình Tin học THPT lớp 10 học sinh giới thiệu kiến thức đại cương tin học, lớp 11 học sinh giới thiệu lập trinh, lớp 12 học sinh học sờ dừ liệu Đặc biệt, chương trình Tin học lớp 11 phần cho khó cho Thầy Cơ giáo học sinh, phải làm thể đề học sinh hiểu ngơn ngừ lập trinh, đề từ lựa chọn thiết kế thuật tốn Chương trình tin học lớp 11 nhằm rèn luyện tư thuật tốn cho học sinh, rèn luyện kì lập trình, tính kiên tri, ti mi cẩn thận Đối với học sinh phải làm quen với lối suy nghi logic với hoạt động máy tính, mà lại lối suy nghi hoàn toàn khác với môn học khác Từ thực tiền giảng dạy học sinh đại trà học sinh đội tuyển học sinh giói Tin học cùa trường THPT tơi thấy rằng, học sinh gặp khó khăn chuyền lời giải tốn tìr tốn sang ngơn ngừ lập trinh Đặc biệt việc phàn tích tốn, nhận biết tốn giải phương pháp nào, có lời grâi tối mi hay khơng? Để hệ thống lại chuyên đề bồi dường học sinh giói (HSG) Tin học mà tòi dạy nhiều năm qua, đồng thời qua trinh nghiên cứu giảng dạy, tham khảo ý kiến đồng nghiệp, thấy số tốn tin học có hên quan đến việc đếm Chính vi tịi chọn viết đề tài chun đề “Sử dụng thuật tốn “lùa bị vào chuồng” đê giải toán đếm” 1.2 Mục tiêu nghiên cứu "Đếm" còng việc quan trọng đơn giản mà làm thường ngày, điều thi khơng cần phâi bàn đến làm gi? Điều đáng nói cơng việc nhàm chán lại chứa bao điều thú vị, gặp nhùng toán yêu cầu ta phải "đếm" "Đếm" không phài đơn đếm 1, 2, 3, mà cần người đếm khéo léo có chút kỳ thuật Bèn cạnh để giúp em học sinh có kiến thức khoa học bân, đại, tiến tiến, có tính tự lập sáng tạo, nhận thức mức độ cao, tir tốt lập trình Các phương pháp đếm đơn giản nhừng vấn đề mà người lập trình tin học cần phài nắm vừng 1.3 Nhiệm vụ nghiên cứu Trước hết thực đổi phương pháp giảng dạy Tin học làm cho học sinh tim kết qưà sáng tạo, lời giãi hay số “dạng tốn tin có liên quan đến việc đếm”; giúp bân thân nắm vừng nừa tư dưy thuật tốn, khâ lập trình, đồng thời để trao đổi học tập kinh nghiệm với quý thầy cô giáo nhóm Tin học nhà trường nói riêng qưý thầy cô giảng dạy môn Tin học ngành nói chưng 1.4 Đối tượng nghiên cứu Trong nghiên cứư này, học sinh đtrợc chọn em học sinh học môn Tin học khối 10, khối 11, học sinh thành viên đội tuyển HSG môn Tin học, số giáo viên đứng lớp dạy Tin học trường THPT địa bàn 1.5 Các phương pháp nghiên cứu * Phương pháp sưy luận, tổng hợp: kết hợp n'r nhiều nguồn tài liệu tham khảo tác già tra cửu mạng internet với đề thi HSG rút kinh nghiệm, hệ thống lại kiến thức, mở hướng * Phương pháp trò chuyện - vấn: trao đổi tâm tinh với nhiều HSG để nắm tinh hình việc giải tốn tin dày số (mãng) * Phương pháp khâo sát: bân thân tham gia giảng dạy lớp, đội tuyển HSG, kỳ tập huấn; tham khảo thầy cô, đồng nghiệp giảng dạy đội tuyển nhiều năm nên có tim hiểu thêm phương pháp làm em học sinh * Phương pháp phân tích lý luận: phân tích giúp học sinh nắm thật rồ bàn chất vấn đề, lựa chọn phương pháp giải cho phù hợp II NỘI DUNG ĐẺ TÀI II Lịch sử van đề nghiên cứu Trong năm liên tiếp dạy bồi dường HSG môn Tin Học lớp 10, 11, 12 thi HSG cấp Tinh, tham khảo ý kiến đồng nghiệp chuyên dạy bồi dường đội tuyển trường, ngành Tinh bạn trường THPT Chuyên, lút điều “cơng việc đếm quan trọng dạy lập trình”, vi mạnh dạn chọn viết đề tài: Sử dụng thuật tốn “lùa bị vào chuồng” đê giải toán đem II Cơ sờ lý luận đề tài Kết hợp giảng chuyên đề bồi dường HSG cá nhân tài liệu tham khảo đề phàn tích, tổng hợp hệ thống II Thực trạng vấn đề nghiên cứu Đa số HSG tin ngại, sợ giãi toán tin có hên quan đến việc đếm; lúng túng q trình phân tích, tổ chức dừ liệu, tim thuật toán hiệu quâ để hiểu bàn chất vận dụng kiến thức cách thích hợp II Nội dung nghiên cứu kết quâ nghiên cứu A NỘI DUNG NGHIÊN cứu Tư tường cùa thuật toán xây dựng dựa suy nghi thực tế đề đếm số lượng bò vùng xác định thi người ta phải tìm cách lùa chứng vào chuồng (đế chúng khói chạy rơng) cho dề đếm Đương nhiên bò loại phải lùa vào chuồng đề dề phàn biệt lùa vào chuồng tốt Tương ựr vậy, muốn giãi toán đếm đối tượng thi ta dùng cấu trác dừ liệu hợp lý (thường dùng kiểu màng kiều trị) với ý nghía giống “chuồng” để hni đối tượng mồi phần tử mảng tương ứng với chuồng Trên sờ ta dề dàng thực mục đích cùa thực thao tác đếm Để hiểu rị thuật tốn ta xét ví dụ sau: “Viết chương trinh nhập từ bàn phún xâu ký tự s thịng báo hình số lần xuất mồi chừ tiếng Anh s (không phân biệt chừ hoa hay chừ thường)” - Bời Bài tập thực hành sách Tin học 11 - trang 73 Rị ràng với tốn ta duyệt tồn xâu s lần duyệt ta thực thao tác đếm chừ Sau 26 lần duyệt tương ứng với 26 chừ thi ta thư toàn kết quâ Tuy nhiên, vi việc duyệt xâu tương đối chậm xâu văn bân đà cho dài nên thời gian không chấp nhận Ta vận dụng thuật tốn “lùa bị vào chuồng” cách sử dụng mảng tình A:array['A' 'Z'] of Longint; với ý nghía saư: giá trị A[c] c thuộc ['A' 'Z'] hm số lần xuất cùa ký tự c file văn bân Màng A khời tạo với tất câ giá trị kill dưyệt xâư ta đọc ký tự xâu biến tiling gian ch đó, tăng giá trị mảng vị trí tương ứng có chì số ch lên đơn vị qua câu lệnh: A[ch]:=A[ch] - Như vậy, toán giãi chi với lần duyệt xàư Sau chứng ta khào sát số ví dụ điền hình vận dụng thuật tốn Bài 1: Đem bị Tên chương trình: DEMBO.* Bài tốn đặt giả sù cánh đồng rộng nhiều bị (N con), bị đeo thẻ có số hiệu nguyên dương (là số tháng tuổi cùa nó) Tất nhiên, hai bò tháng tuổi thi đeo thẻ có số hiệu Lảm thể đề đếm loại bị có nhiều nhất? Bài tốn phát biểu lại sau: + Nhập từ bàn phím số nguyên dương N (0 < N < 200) phần tử cùa mảng chiều A(N) có giá trị nguyên dương (0 < A[i] < 100) + Giá trị xuất nhiều A xuất hiên lần? + Ví dụ: A(12) = {2, 3, 2, 4, 5, 6, 2, 6, 7, 1, 6, 2} A(12) có số phần tử giá trị nhiều nhất, số lượng phần tử Thuật tốn “Lùa bị vào chuồng” Để giải toán người ta dùng thuật toán “lùa bò vào chuồng” gồm bước: - Bước 1: Đóng dày chuồng bị đánh số chuồng số tự nhiên hên tiếp từ đến max (max số tháng tuổi bò già nhất), ban đầu chuồng chưa có bị - Bước 2: Lùa bị vào chuồng có số hiệu số thẻ - Bước 3: Duyệt dày chuồng bị tìm chuồng có nhiều bị Áp dụng thuật toán vào tập: - Bước 1: Giã sử bị thứ i có tháng tuổi a[i] (1 < i < n) Coi mảng b(n) dày chuồng bị, b[x] số lượng bị (có X tháng tuổi) chuồng có số hiệu X, ban đầu phần từ mảng b(n) - Bước 2: Con bị có tháng tuổi a[i] phải vào chuồng bị có số hiệu a[i] Thêm bị vào chuồng a[i] tương ứng với lệnh mc(b[a[i]]) - Btĩớc 3: Duyệt màng b, tìm chi số phần tử lớn Chương trình tham kháo: Code Pascal Code C++ Const max = 200; //include VarN: integer; using namespace std; A: arrayfl max] of byte; B: arrayfl max] of byte; mt i, j, 11, a[200], b[200], maxsl; mt main() maxsl, i, li: integer; { BEGIN WriteCNhap N = '); Readln(N); For i := to N Begin WritefAf, i,' ] = '); Readln(A[i]); End; Fillchar(B, sizeof(B), 0); maxsl := 0; {Tao day chuông bo rong chưa co bo} For i := to N inc(B[A[i]]); cout« " Nhap n = cin»n; for(i=l;i

Ngày đăng: 19/04/2023, 10:28

Tài liệu liên quan