Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
235,55 KB
Nội dung
Tai lieu, luan van1 of 102 “Ứng dụng thuật toán loang để giải số toán cho học sinh giỏi tỉnh khối 12” Phần I: MỞ ĐẦU Lý chọn đề tài: Ngơn ngữ lập trình Pascal nội dung đưa vào chương trình học bậc THPT nội dung áp dụng cho kỳ thi chọn học sinh giỏi tỉnh, học sinh giỏi quốc gia môn tin học Chính cần nghiên cứu sâu giải thuật để hướng dẫn cho học sinh ôn tập cách tốt cho kỳ thi mục tiêu cần đạt người giáo viên Trong kỳ thi tuyển học sinh giỏi tỉnh khối 12 hầu hết đề thi có toán cần sử dụng giải thuật đệ loang để giải vấn đề Đó dạng tốn có ứng dụng phổ biến Vậy nên, có nhiều tài liệu viết nội dung Tuy nhiên, theo quan điểm, cách nhìn nhận tơi việc phân tích tốn cịn trừu tượng khiến người đọc khó hình dung, khó để hiểu khó viết chương trình Hiện nay, trường tơi việc hiểu sử dụng giải thuật loang cịn nhiều hạn chế, số học sinh tham gia bồi dưỡng hiểu sử dụng cịn mà giáo viên tham gia bồi dưỡng nhiều lúng túng giảng dạy phần nội dung Tôi giáo viên tham gia bồi dưỡng học sinh giỏi, nhận thấy cần nghiêm túc nghiên cứu nội dung để đưa cách trình bày, cách phân tích giúp người đọc dễ hiểu, dễ biết dễ viết chương trình Để tạo điều kiện thuận lợi trình bồi dưỡng qua trình bỗi dưỡng tơi đúc rút số kinh nghiệm việc trình bày, phân tích tốn, ứng dụng giải thuật loang cài đặt số toán đề thi học sinh giỏi khối 12 năm gần Với mong muốn người đọc dễ dàng tiếp cận vấn đề Vì tơi chọn đề tài “Ứng dụng thuật tốn loang việc giải số toán cho học sinh giỏi tỉnh khối 12” để nghiên cứu Hy vọng đề tài trở thành tài liệu quý cho học sinh tham gia bồi dưỡng tài liệu đáng tham khảo cho q thầy q trình khoa luan, tieu luan1 of 102 Tai lieu, luan van2 of 102 “Ứng dụng thuật toán loang để giải số toán cho học sinh giỏi tỉnh khối 12” tham gia bồi dưỡng đội tuyển học sinh giỏi tỉnh để góp phần đưa cho đội tuyển thành tích cao Mục đích nghiên cứu: Việc “Tìm hiểu thuật tốn loang” nhằm giúp hiểu rõ hơn, sâu sắc giải thuật loang, toán ứng dụng giải thuật cách viết chương trình phương pháp loang từ nâng cao khả nghiên cứu khoa học, khả tự học, tự bồi dưỡng, khả nhận biết, suy đốn khả lập trình thân Qua tạo nên tài liệu hỗ trợ học tập cho học sinh nâng cao kiến thức chuyên môn cho giáo viên Đối tượng nghiên cứu: Tôi phân công bồi dưỡng học sinh giỏi trường nên đối tượng nghiên cứu học sinh lớp chọn khối học sinh chọn bồi dưỡng học sinh giỏi trường môn tin học Phạm vi nghiên cứu: Để nghiên cứu đề tài này, phạm vi nghiên cứu ‘‘lý thuyết loang ứng dụng thuật toán loang để giải toán tin học ngơn ngữ lập trình Pascal’’ Giả thuyết khoa học: Lý thuyết loang, ứng dụng thuật tốn loang thực đóng vai trị quan trọng việc giúp học sinh định hướng, tìm phương pháp giải toán ứng dụng thuật toán loang đề thi học sinh giỏi cấp tỉnh, cấp quốc gia Bước đầu giúp học sinh nhận dạng, phân tích giải tốn liên quan cách hiệu Nhiệm vụ nghiên cứu: Nghiên cứu sở lí luận Nghiên cứu khái niệm, thuật toán số toán ứng dụng khoa luan, tieu luan2 of 102 Tai lieu, luan van3 of 102 “Ứng dụng thuật toán loang để giải số toán cho học sinh giỏi tỉnh khối 12” Nghiên cứu cú pháp, câu lệnh ngơn ngữ lập trình Pascal để cài đặt số toán loang Phương pháp nghiên cứu: Sử dụng phương pháp nghiên cứu lý thuyết, phương pháp tìm kiếm, thu thập thơng tin, tổng hợp, phân tích so sánh, thiết kế cài đặt chương trình Đóng góp đề tài: Về mặt khoa học: Đề tài trình bày cách logic khái niệm từ đơn giản đến trừu tượng, giới thiệu, phân tích tập giúp hiểu rõ chất vấn đề, từ vận dụng để giải toán phức tạp Về mặt thực tiễn: Đề tài trình bày tương đối đầy đủ khái niệm, ví dụ tốn loang – phân tích ưu điểm việc sử dụng thuật toán loang tập đa dạng giúp cho người đọc nắm bắt hiểu rõ ưu điểm thuật toán, cách viết sử dụng loang lập trình Pascal để giải tốn khoa luan, tieu luan3 of 102 Tai lieu, luan van4 of 102 “Ứng dụng thuật toán loang để giải số toán cho học sinh giỏi tỉnh khối 12” Phần II: GIẢI QUYẾT VẤN ĐỀ Cơ sở lí luận: Trong tin học tìm kiếm phương pháp phổ biến để giải toán Và tìm kiếm có nhiều phương pháp tìm kiếm Tuy nhiên, tìm kiếm đồ thị ta có hai cách tìm kiếm là: Tìm kiếm theo chiều sâu tìm kiếm theo chiều rộng Mỗi cách tìm có ưu điểm riêng Đối với tìm kiếm theo chiều sâu ta thường sử dụng giải thuật đệ quy Giải thuật tương đối dễ cài đặt, giải toán liệu bé Với tốn có liệu lớn tìm kiếm theo chiều rộng – cài đặt thuật toán loang giúp ta khắc phục hạn chế 1.1 Khái niệm loang Thuật toán Loang thực chất thuật tốn tìm kiếm theo chiều rộng đồ thị (Breadth First Search) Để hiểu rõ chất thuật toán này, ta xét toán “Thăm đỉnh đồ thị” sau: Cho đồ thị vô hướng G = (V,E), N đỉnh M cạnh (số hiệu đỉnh 1, 2, …,N) Bây ta đưa thứ tự duyệt đỉnh đồ thị cho theo thuật tốn tìm kiếm theo chiều rộng; thứ tự duyệt đỉnh v Tư tưởng thuật toán sử dụng cấu trúc liệu kiểu hàng đợi (QUEUE - vào trước trước) Phần tử nạp vào QUEUE đỉnh v Sau đỉnh p lấy khỏi QUEUE ta thăm đỉnh đồng thời nạp vào QUEUE đỉnh chung cạnh với p (chỉ nạp vào đỉnh chưa xét đến) Quá trình lặp lặp lại QUEUE rỗng dừng 1.2 Thuật tốn loang Thuật tốn tìm kiếm theo chiều rộng BFS thuật tốn tìm kiếm đồ thị cách tìm kiếm dựa thao tác là: cho trước đỉnh đồ khoa luan, tieu luan4 of 102 Tai lieu, luan van5 of 102 “Ứng dụng thuật toán loang để giải số toán cho học sinh giỏi tỉnh khối 12” thị thêm đỉnh kề với vào danh sách chờ duyệt Phương pháp cài đặt “lập lịch” để duyệt đỉnh theo thứ tự duyệt ưu tiên chiều rộng (đỉnh gần với đỉnh gốc duyệt trước) Vì nguyên tắc (đỉnh gần gốc duyệt trước) nên thuật tốn tìm kiếm theo chiều rộng BFS thường dùng để tìm đường ngắn đỉnh Chúng ta xây dựng danh sách chứa đỉnh chờ duyệt, bước thăm đỉnh đầu danh sách thêm đỉnh kề với chưa có danh sách chờ vào cuối danh sách Vì nguyên tắc nên tổ chức danh sách chờ cấu trúc liệu hàng đợi (Queue) Ban đầu tất đỉnh i (i = n) đặt cờ chuaxet[i] = True Nếu đỉnh xét ta đặt cờ đỉnh sang trạng thái False Procedure BFS(v); Tìm kiếm theo chiều rộng đỉnh v Begin QUEUE = ; {Khởi tạo QUEUE ban đầu rỗng} QUEUE cờ v False} While QUEUE ≠ Begin P