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

25 203 0
SKKN: 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Ở GIÁO DỤC VÀ ĐÀO TẠO HÀ TĨNH  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 ĐỀ I.1 Lý chọn đề tài Sự phát triển vũ bão Cơng nghệ Thơng tin Truyền thơng đóng vai trị khơng nhỏ phát triển chung nhân loại Đảng nhà nước xác định rõ ý nghĩa tầm quan trọng tin học, Công nghệ Thông tin Truyền thông yêu cầu đẩy mạnh ứng dụng Công nghệ Thông tin, đào tạo 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 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 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 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 trình, lớp 12 học sinh học sở 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 để học sinh hiểu ngơn ngữ lập trình, để 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 toán cho học sinh, rèn luyện kĩ lập trình, tính kiên trì, tỉ mỉ cẩn thận Đối với học sinh phải làm quen với lối suy nghĩ logic với hoạt động máy tính, mà lại lối suy nghĩ 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 trường THPT thấy rằng, học sinh gặp khó khăn chuyển lời giải tốn từ tốn sang ngơn ngữ lập trình Đặ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 giải tối ưu hay không? Để hệ thống lại chuyên đề bồi dưỡng học sinh giỏi (HSG) Tin học mà dạy nhiều năm qua, đồng thời qua trình 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ó liên quan đến việc đếm Chính 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” I.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 khơng cần phải bàn đến làm gì? Điều đáng nói cơng việc nhàm chán lại chứa bao điều thú vị, gặp toán yêu cầu ta phải "đếm" "Đếm" đơ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 khả sáng tạo, nhận thức mức độ cao, tư tốt lập trình Các phương pháp đếm đơn giản vấn đề mà người lập trình tin học cần phải nắm vững I.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 tìm kết 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 thân nắm vững tư 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 quý thầy cô giảng dạy môn Tin học ngành nói chung I.4 Đối tượng nghiên cứu Trong nghiên cứu này, học sinh 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 I.5 Các phương pháp nghiên cứu * Phương pháp suy luận, tổng hợp: kết hợp từ 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 tình với nhiều HSG để nắm tình hình việc giải tốn tin dãy số (mảng) * Phương pháp khảo sát: 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ó tìm 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õ 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ử vấn đề 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 Tỉnh, tham khảo ý kiến đồng nghiệp chuyên dạy bồi dưỡng đội tuyển trường, ngành Tỉnh bạn, trường THPT Chuyên, rút điều “công việc đếm quan trọng dạy lập trình”, tơi 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 đếm 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 tốn tin có liên quan đến việc đếm; lúng túng q trình phân tích, tổ chức liệu, tìm thuật tốn hiệu để hiểu 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 nghiên cứu A NỘI DUNG NGHIÊN CỨU Tư tưởng thuật toán xây dựng dựa suy nghĩ thực tế để đếm số lượng bò vùng xác định 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 tự vậy, muốn giải toán đếm đối tượng ta dùng cấu trúc liệu hợp lý (thường dùng kiểu mảng kiểu trỏ) với ý nghĩa giống “chuồng” để lưu đối tượng, phần tử mảng tương ứng với chuồng Trên sở ta dễ dàng thực mục đích thực thao tác đếm Để hiểu rõ thuật tốn ta xét ví dụ sau: “Viết chương trình nhập từ bàn phím xâu ký tự S thơng báo hình số lần xuất 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 toá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ữ ta thu tồn kết Tuy nhiên, việc duyệt xâu tương đối chậm xâu vă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 sau: giá trị A[c] c thuộc [′A′ ′Z′] lưu số lần xuất ký tự c file văn Mảng A khởi tạo với tất giá trị 0, duyệt xâu ta đọc ký tự xâu biến trung gian ch đó, tăng giá trị mảng vị trí tương ứng có số ch lên đơn vị qua câu lệnh: A[ch]:=A[ch] + Như vậy, toán giải với lần duyệt xâu Sau khảo sát số ví dụ điển hình vận dụng thuật tốn Bài 1: Đếm bị Tên chương trình: DEMBO.* Bài tốn đặt giả sử cánh đồng rộng thả nhiều bò (N con), bò đeo thẻ có số hiệu nguyên dương (là số tháng tuổi nó) Tất nhiên, hai bị tháng tuổi đeo thẻ có số hiệu Làm để đế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ử 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 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 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 tố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 liê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 inc(b[a[i]]) + Bước 3: Duyệt mảng b, tìm số phần tử lớn Chương trình tham khảo: Const max = 200; Code Pascal Code C++ #include Var N: integer; using namespace std; A: array[1 max] of byte; int i, j, n, a[200], b[200], maxsl; B: array[1 max] of byte; int main() maxsl, i, li: integer; { BEGIN cout >n; For i := to N for(i=1;i

Ngày đăng: 14/07/2020, 11:37

Từ khóa liên quan

Mục lục

  • I. ĐẶT VẤN ĐỀ

  • I.1. Lý do chọn đề tài

  • I.2. Mục tiêu nghiên cứu

  • I.3. Nhiệm vụ nghiên cứu

  • I.4. Đối tượng nghiên cứu

  • I.5. Các phương pháp nghiên cứu

  • II. NỘI DUNG ĐỀ TÀI

  • II. 1. Lịch sử của vấn đề nghiên cứu

  • II. 2. Cơ sở lý luận của đề tài

  • II. 3. Thực trạng của vấn đề nghiên cứu

  • II. 4. Nội dung nghiên cứu và kết quả nghiên cứu

    • A. NỘI DUNG NGHIÊN CỨU

    • B. KẾT QUẢ NGHIÊN CỨU

    • III. KẾT LUẬN VÀ KIẾN NGHỊ

      • 1. Kết luận

      • 2. Kiến nghị, đề xuất

      • TÀI LIỆU THAM KHẢO

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

  • Đang cập nhật ...

Tài liệu liên quan