Sáng kiến kinh nghiệm: Hướng dẫn học sinh giải bài toán sắp xếp - Tin học 8

31 7 0
Sáng kiến kinh nghiệm: Hướng dẫn học sinh giải bài toán sắp xếp - Tin học 8

Đ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

Khi xây dựng một hệ thống quản lý thông tin trên máy tính, bên cạnh các thuật toán tìm kiếm, các thuật toán sắp xếp dữ liệu cũng là một trong các chủ đề được quan tâm hàng đầu. Vậy là thế nào để hướng dẫn học sinh giải bài toán sắp xếp, mời các bạn cùng tham khảo sáng kiến kinh nghiệm Hướng dẫn học sinh giải bài toán sắp xếp - Tin học 8 dưới đây để hiểu hơn về vấn đề này.

Hớng dẫn học sinh giải toán xếp - Tin học Nguyễn Thị Lan đGiáo án Tin học Ngun ThÞ Lan Họ tên : Nguyễn Thị Lan Chức vụ : Giáo viên Trường : Trung học sở Trần Cao Tên đề tài SKKN: HƯỚNG DẪN HỌC SINH GIẢI BÀI TOÁN SẮP XẾP TIN HỌC Phần I PHẦN MỞ ĐẦU I ĐẶT VẤN ĐỀ Lí chọn đề tài Hiện hầu hết lĩnh vực hệ lưu trữ, quản lý liệu, thao tác tìm kiếm thường thực nhiều để khai thác thơng tin cách nhanh chóng xác (ví dụ như: tra cứu từ điển, tìm sách thư viện, tra cứu thông tin nhân viên quan, tra cứu điểm thi học sinh trường học,…) Để đạt mục tiêu tìm kiếm cách nhanh chóng liệu cần phải xếp sẵn, ngăn nắp, khoa học theo trật tự, hệ thống định Khi xây dựng hệ thống quản lý thông tin máy tính, bên cạnh thuật tốn tìm kiếm, thuật toán xếp liệu chủ đề quan tâm hàng đầu Trong đó, với học sinh bậc THCS, việc lập trình giải toán, đặc biệt tốn xếp cịn lúng túng, phương pháp cịn nghèo nàn, thuật tốn cịn đơn điệu, điều dẫn đến việc giải tốn xếp cịn rt nhiu hn ch Năm học 2014 - 2015 Trang: Hớng dẫn học sinh giải toán xếp - Tin học đGiáo án Tin học Nguyễn ThÞ Lan Ngun Xuất phát từ thực trạng vấn đề trên,ThÞ sau mộtLan thời gian dài tìm hiểu, nghiên cứu xây dựng chuyên đề: “Hướng dẫn học sinh giải toán xếp” với mong muốn mang lại cho em nhìn tổng thể tốn xếp nói chung, thuật tốn xếp nói riêng, từ tiếp cận với tốn quản lý thơng tin sau Đối tượng nghiên cứu phạm vi nghiên cứu a) Đối tượng nghiên cứu - Học sinh lớp trường THCS Trần Cao b) Phạm vi nghiên cứu: Tìm hiểu vận dụng lý thuyết số phương pháp xếp như: phương pháp chọn trực tiếp (Selection Sort), chèn trực tiếp (Insertion Sort), xếp bọt (Bubble Sort), xếp kiểu vun đống (Heap Sort), xếp nhanh (Quick Sort), xếp với độ dài bước giảm dần (Shell Sort),… Áp dụng đối với: - Phần: Câu lệnh lặp (xác định); Lặp với số lần chưa biết trước; Làm việc với dãy số; Kiểu liệu mảng - Bộ môn Tin học lớp II PHƯƠNG PHÁP TIẾN HÀNH Chuyên đề chủ yếu sử dụng phương pháp nghiên cứu sau: - Phương pháp nghiên cứu lí luận: Nghiên cứu vấn đề mang tính lí luận có liên quan đến đề tài (Muốn học tốt lập trình phải có thuật tốn tốt, muốn có thuật tốn tốt địi hỏi học sinh phải tiếp cận với nhiều dạng toán, nhiều cách giải toán, ) - Phương pháp điều tra: Với phương pháp tiến hành điều tra học sinh phiếu trắc nghiệm (chỉ rõ tính đúng, sai thuật toán, dự đoán kết thuật toán), thực hành phịng máy để nắm trình độ nhận thức, kỹ thực hành đối tượng học sinh Trên sở làm tảng đối chiếu kết trước sau thực chuyờn Năm học 2014 - 2015 Trang: Hớng dẫn học sinh giải toán xếp - Tin học Nguyễn Thị Lan đGiáo án Tin học Ngun ThÞ - Phương pháp vấn: Thơng qua việc trao Lan đổi trực tiếp thẳng thắn với học sinh biện pháp giúp em thực hành tốt môn, nhận mong muốn, băn khoăn, , ý kiến đóng góp em Cũng từ tơi hình thành nên giải pháp cho chuyên đề - Phương pháp tạo tình huống: Thơng qua tập tạo tình huống, tập có tính chất minh chứng tơi dẫn em vào vấn đề hướng dẫn em tìm cách giải - Phương pháp quan sát, đánh giá, tổng hợp: Thơng qua q trình quan sát học sinh thực hành, đánh giá, tổng hợp kết thực hành giúp tơi có giải pháp để thực điều chỉnh chuyên đề cho phù hợp có hiệu Phần II NỘI DUNG I MỤC TIÊU CỦA ĐỀ TÀI - Trình bày ý tưởng, thuật giải (thuật toán) số phương pháp xếp thông dụng - Giới thiệu Code diễn đạt thuật giải - Mơ tả thuật tốn phương pháp ví dụ cụ thể II CÁC GIẢI PHÁP THỰC HIỆN Một số thuật toán xếp: Sắp xếp chọn trực tiếp (Selection Sort) Sắp xếp chèn trực tiếp (Insertion Sort) Sắp xếp bọt (Bubble Sort) Sắp xếp phân hoạch (Quick Sort) Sắp xếp với bước giảm dần (Shell Sort) Sắp xếp vun đống (Heap Sort) Sắp xếp chọn trc tip (Selection Sort) í tng: Năm học 2014 - 2015 Trang: Hớng dẫn học sinh giải toán xếp - Tin học đGiáo án Tin häc Ngun ThÞ Lan Ngun ThÞ - Chọn phần tử nhỏ n phần tử đầu, đưa Lan phần tử vị trí đầu dãy Tiếp tục q trình với n-1 phần tử cịn lại vị trí thứ Lặp lại trình cho dãy gồm n-1 phần tử cịn lại - Thuật toán thực n-1 lần để đưa phần tử nhỏ dãy hành vị trí dẫn đầu  Thuật tốn: Đầu vào: n – số phần tử mảng a – mảng chứa phần tử Đầu ra: a- mảng xếp tăng dần Bước 1: i = Bước 2: Tìm phần tử a[min] nhỏ dãy hành từ a[i] đến a[n-1] Bước 3: Hoán vị a[i] với a[min] Bước 4: • i Dừng thuật toán  Cài đặt (code): … Type mang:array[1 20] of integer; Function SelectionSort(a:mang, n:integer): integer; Var i, j, vtmin, tam: integer; Begin Writeln(‘ SAP XEP CHON TRUC TIEP ); For i1 to n-1 Begin Năm häc 2014 - 2015 Trang: Híng dÉn häc sinh giải toán xếp - Tin học Nguyễn Thị Lan đGiáo án Tin học Vtmini; Nguyễn Thị Lan For j≔i+1 to n If a[vtmin]>a[j] then vtmin≔j; {Hoan doi vi tri cua a[i] va a[vtmin]} Tam≔a[i]; A[i]≔a[vtmin]; A[vtmin]≔tam; End; Writeln(‘Day so sau sap xep la:’); For i≔1 to n Write(a[i],’ ’); End; …  Ví dụ minh họa: Cho dãy số (mảng a): 12 15 Yêu cầu: Sắp xếp dãy số tăng dần Mô tả bước chạy thực thuật toán với dãy trên: i=0 => j =  vtmin = => Hoán i a[0] v a[4] Năm học 2014 - 2015 Trang: Hớng dẫn học sinh giải toán xếp - Tin học đGiáo án Tin học Năm häc 2014 - 2015 Trang: Ngun ThÞ Lan Ngun Thị Lan Hớng dẫn học sinh giải toán xếp - Tin học đGiáo án Tin học Ngun ThÞ Lan Ngun ThÞ Lan Sắp xếp chèn trc tip (Insertion Sort) í tng: Năm học 2014 - 2015 Trang: Hớng dẫn học sinh giải toán xếp - Tin học đGiáo án Tin häc Ngun ThÞ Lan ThÞ Lan Giả sử có dãy a0, a1,…,aNguyÔn i-1 xếp Ý tưởng thuật toán chèn thêm phần tử vào vị trí thích hợp đoạn a 1…ai-1 cho dãy a1…ai xếp Nguyên tắc xếp sau: đoạn gồm phần tử a0 xếp, thêm a1 vào a0,a1 xếp, tiếp tục thêm a2 vào a0, a1, a2 xếp…tiếp tục để thêm an vào để a0,a1,…,an xếp  Thuật toán: Đầu vào: n – số phần tử mảng a – mảng chứa phần tử Đầu ra: a- mảng xếp tăng dần Bước 1: i=1 //giả sử a[0] xếp Bước 2: x=a[i], tìm vị trí pos thích hợp đoạn từ a[0] đến a[i-1] để chèn a[i] vào Bước 3: đổi chỗ phần tử từ a[pos] đến a[i-1] sang phải vị trí để vị trí chèn a[i] vào Bước 4: chèn a[i] vào vị trí pos tìm cách gán a[pos]=a[i] Bước 5: i=i+1 Nếu i lặp lại bước Ngược lại => Dừng thuật toán  Cài đặt: … Type mang:array[1 20] of integer; Function InsertionSort(a:mang, n:integer): integer; Var i, j, pos, x: integer; Begin Writeln(‘ SAP XEP CHEN TRUC TIEP ); Năm häc 2014 - 2015 Trang: 10 Híng dÉn häc sinh giải toán xếp - Tin học Nguyễn Thị Lan đGiáo án Tin học For i2 to n Ngun ThÞ Lan Begin X≔a[i]; {Luu gia tri cua phan tu a[i] de tranh de roi cho} Pos≔i-1; While (pos >= 1) and (a[pos]>x) Begin A[pos+1]≔a[pos]; Pos≔pos-1; End; A[pos+1]≔x; {chen x vao day} End; Writeln(‘Day so sau sap xep la:’); For i≔1 to n Write(a[i],’ ’); End;  Ví dụ minh họa:  Cho dãy số a: a = 12 15 Sắp xếp dãy tăng dần Mô tả bước chạy thực thuật toán với dóy trờn: Năm học 2014 - 2015 Trang: 11 Hớng dẫn học sinh giải toán xếp - Tin học đGiáo án Tin học Năm học 2014 - 2015 Trang: 12 Ngun ThÞ Lan Ngun ThÞ Lan Hớng dẫn học sinh giải toán xếp - Tin học Nguyễn Thị Lan đGiáo án Tin học Ngun ThÞ Lan Var tam:integer; Begin Tam≔x; X≔y; Y≔tam; End; { Ham QuickSort -} Function QuickSort(a:mang; l,r:integer):integer; Var I, j, x, n:integer; Begin Writeln(‘ SAP XEP PHAN HOACH ’); X≔a[(l+r) div 2]; I≔l; J≔r; Repeat While a[i]x dec(j); If (i

Ngày đăng: 28/04/2021, 10:40

Từ khóa liên quan

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

Tài liệu liên quan