1. Trang chủ
  2. » Công Nghệ Thông Tin

BÁO CÁO ĐỒ ÁN HỌC PHẦN 1 KÈM SOURCECODE - XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG THUẬT TOÁN SẮP XẾP NỔI BỌT, SẮP XẾP TRỘN, SẮP XẾP VUN ĐỐNG, SẮP XẾP NHANH

34 2K 45

Đ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

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 539,04 KB
File đính kèm Source.rar (211 KB)

Nội dung

Tên đề tài: Xây dựng chương trình mô phỏng thuật toán sắp xếp nổi bọt, sắp xếp trộn, sắp xếp vun đống,sắp xếp nhanh. Yêu cầu: 1. Yêu cầu về kiến thức, kỹ năng: - Hiểu và viết được các giải thuật sắp xếp bằng phương pháp sắp xếp nổi bọt, sắp xếp trộn, sắp xếp vun đống, sắp xếp nhanh - Sử dụng được bộ công cụ phát triển Visual Studio 2005/2008/2010; - Biết lập trình bằng ngôn ngữ lập trình VB.NET/C# 2.Yêu cầu về sản phẩm, chương trình: - Chương trình viết băng ngôn ngữ VB.NETC; - Xây dựng được Form cho phép nhập vào dãy số có n số nguyên (Dùng mảng); - Sử dụng ComboBox để lựa chọn các phương pháp sắp xếp; - Quá trình sắp xếp được hiển thị trên một ListBox (Hiện thị từng bước sắp xếp).

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT – HUNG KHOA: CÔNG NGHỆ THƠNG TIN NGUYỄN VĂN HƯỞNG XÂY DỰNG CHƯƠNG TRÌNH PHỎNG THUẬT TỐN SẮP XẾP NỔI BỌT, SẮP XẾP TRỘN, SẮP XẾP VUN ĐỐNG, SẮP XẾP NHANH ĐỒ ÁN HỌC PHẦN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN HÀ NỘI, NĂM 2017 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT – HUNG KHOA: CƠNG NGHỆ THƠNG TIN XÂY DỰNG CHƯƠNG TRÌNH PHỎNG THUẬT TỐN SẮP XẾP NỔI BỌT, SẮP XẾP TRỘN, SẮP XẾP VUN ĐỐNG, SẮP XẾP NHANH ĐỒ ÁN HỌC PHẦN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN Giáo viên hướng dẫn Họ tên sinh viên Mã sinh viên Lớp : Ngô Thị Lan : Nguyễn Văn Hưởng : 1501076 : 3918CNT2 HÀ NỘI, NĂM 2017 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT-HUNG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN HỌC PHẦN Chuyên ngành: Công nghệ thông tin Hệ đào tạo: Cao đẳng, Đại học Đề tài số: 57 Tên đề tài: Xây dựng chương trình thuật toán xếp bọt, xếp trộn, xếp vun đống,sắp xếp nhanh Yêu cầu: Yêu cầu kiến thức, kỹ năng: - Hiểu viết giải thuật xếp phương pháp xếp bọt, xếp trộn, xếp vun đống, xếp nhanh - Sử dụng công cụ phát triển Visual Studio 2005/2008/2010; - Biết lập trình ngơn ngữ lập trình VB.NET/C# Yêu cầu sản phẩm, chương trình: - Chương trình viết băng ngơn ngữ VB.NET/C#; - Xây dựng Form cho phép nhập vào dãy số có n số nguyên (Dùng mảng); - Sử dụng ComboBox để lựa chọn phương pháp xếp; - Quá trình xếp hiển thị ListBox (Hiện thị bước xếp) Nộp kết - Báo cáo (theo mẫu môn) - Các công cụ phát triển, chương trình, file báo cáo Các yêu cầu khác: - Gửi lịch làm việc theo tuần cho giáo viên hướng dẫn - Mỗi tuần phải liên hệ với giáo viên hướng dẫn lần qua email, gặp trực tiếp Số lượng sinh viên tham gia tối đa: Thời gian thực hiện: Theo lịch môn Tài liệu tham khảo: [1] Giáo trình giáo viên cung cấp [2] Internet Thơng qua tổ môn Người biên soạn Ngô Thị Lan ĐT: 0982.010.510 Email: onebit.lannt@gmail.com TRƯỜNG ĐHCN VIỆT – HUNG KHOA:…………………… CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự – Hạnh phúc Mẫu DA02 NHẬN XÉT ĐỒ ÁN HỌC PHẦN Chuyên ngành : ………………………………… (Nhận xét GV hướng dẫn Nhận xét GV phản biện ) Họ tên sinh viên: …………………………………………………………….……… Tên đề tài: ………………………………………………………………… ……… ……………………………………………………………………………………… Người nhận xét (Họ tên, học hàm, học vị): ………………………………………… Đơn vị cơng tác (Nếu có): …………………… ………………………………… Ý KIẾN NHẬN XÉT Về nội dung & đánh giá thực nhiệm vụ nghiên cứu đề tài: ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… Về phương pháp nghiên cứu, độ tin cậy số liệu: ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… Về kết đề tài: ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… Những thiếu sót vấn đề cần làm rõ (Nếu có): ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… Ý kiến kết luận (Mức độ đáp ứng yêu cầu đồ án học phần 1) ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… Câu hỏi người nhận xét dành cho học viên (Nếu có): ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ………………………………………………………………………………………………………  Đánh giá điểm: Kết luận:  Đồng ý /  Không đồng ý cho phép sinh viên tham dự bảo vệ kết trước hội đồng Ngày………tháng…… năm…… NGƯỜI NHẬN XÉT (chữ ký & họ tên) LỜI NÓI ĐẦU Hiện hầu hết 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 (ví dụ : tra cứu từ điển, tìm sách thư viện ) muốn việc tìm kiếm cách nhanh chóng liệu cần phải xếp sẵn, ngăn nắp theo trật tự, hệ thống định cho phép tìm kiếm nhanh, xếp có ý nghĩa lớn việc quản lí lưu trữ Do xây dựng hệ 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 Hiện có nhiều giải thuật tìm kiếm xếp xây dựng, mức độ hiệu giải thuật phụ thuộc vào tính chất cấu trúc liệu cụ thể mà tác động đến mà ta lựa chọn phương pháp xếp cho phù hợp Trong khoa học máy tính tốn học, thuật toán xếp thuật toán xếp phần tử danh sách (hoặc mảng theo thứ tự tăng dần giảm dần) Người ta thường xét trường hợp phần tử cần xếp số Hầu hết tốn có nhiều thuật toán khác để giải chúng Nội dung giới thiệu trình bày thuật tốn xếp thơng dụng nội dung mà em nghiên cứu đề tài là: Phương pháp xếp bọt (Bubble sort); Phương pháp xếp trộn (Merge sort); Phương pháp xếp kiểu vun đống (Heap sort); Phương pháp xếp nhanh (Quick sort); Ngồi có nhiều thuật toán xếp khác như: Phương pháp xếp cải tiến (Shellsort), xếp đếm phân phối (distribution counting) Trong đề tài tìm hiểu khảo sát thuật tốn Thuật toán Bubble sort thuật toán đơn giản dễ cài đặt chi phí cao Các thuật toán Merge sort, Heap sort , Quick sort phức tạp hiệu suất cao Bubble Sort Các thuật tốn có điểm chung xây dựng dựa sở so sánh giá trị phần tử mảng (hay so sánh khóa tìm kiếm) Khi xây dựng thuật tốn xếp cần ý tìm cách giảm thiểu phép so sánh đổi chổ không cần thiết để tăng hiệu thuật toán Mặt dù em cố gắng nổ lực để làm đề tài kinh nghiệm hạn chế kiến thức em nắm chưa sâu nên em biết không tránh khỏi thiếu sót Em mong nhận thơng cảm đóng góp Thầy, Cơ để lần sau làm tốt Hoàn thành đề tài niềm vui lớn nên em biết ơn cô Ngô Thị Lan hướng dẫn em tận tình suốt thời gian em làm Một lần em xin gửi lời cám ơn chân thành đến cô Hà Nội, ngày tháng năm 2017 Sinh viên thực hiện: Nguyễn Văn Hưởng NHẬT KÝ THỰC HIỆN ĐỀ TÀI Thời gian Thực 11/10 /10 /10 /10 /11 /12 11/12 Nhận đề tài Đặt vấn đề Gặp trực tiếp cô làm theo hướng dẫn Làm báo cáo Xây dựng chương trình Hồn thành báo cáo, demo Nộp báo cáo Ghi MỤC LỤC LỜI NÓI ĐẦU i MỤC LỤC i MỞ ĐẦU I Đặt vấn đề .1 II Mục tiêu nghiên cứu đề tài .1 III Nhiệm vụ đề tài IV Kết đạt đề tài .1 V Bố cục đề tài .2 CHƯƠNG TÌM HIỂU VỀ THUẬT TOÁNSẮP XẾP 1.1 Thuật toán (giải thuật) – Algorithm 1.1.1 Định nghĩa thuật toán .3 1.1.2 Đặc trưng thuật toán 1.1.3 Biểu diễn thuật toán 1.1.3.1 tả bước thực 1.1.3.2 Sử dụngđồ (lưu đồ) giải thuật (flowchart) .5 1.1.4 Độ phức tạp thuật toán - Algorithm Complexity 1.1.4.1 Các tiêu chí đánh giá thuật tốn 1.2 Khái niệm xếp 1.3 Khái niệm nghịch 1.4 Các tiêu chuẩn đánh giá thuật toán xếp .8 CHƯƠNG NỘI DUNG CỦA CÁC PHƯƠNG PHÁP SẮP XẾP 2.1 Phương pháp xếp bọt (Bubble sort) 2.1.1 Giải thuật 2.1.2 Đánh giá giải thuật 2.1.3 Ví dụ 10 2.2 Phương pháp xếp trộn (Merge Sort) 11 2.2.1 Nguyên tắc xếp phép trộn 11 2.2.2 Giải thuật 11 2.2.3 Đánh giá giải thuật 12 2.2.4 Ví dụ 12 2.3 Phương pháp xếp vun đống (Heap Sort) 13 2.3.1 Định nghĩa Heap 13 2.3.2 Giải thuật 14 2.3.3 Đánh giá giải thuật 14 2.3.4 Ví dụ 14 2.4 Phương pháp xếp nhanh (Quick Sort) 16 2.4.1 Giải thuật 16 2.4.2 Đánh giá giải thuật 17 2.4.3 Ví dụ 18 CHƯƠNG CHƯƠNG TRÌNH DEMO 19 3.1 Microsoft Visual Studio 2010 19 3.2 Tại sử dụng Windows Forms .19 3.3 Chương trình demo 20 3.4 Kết luận 22 3.4.1 Kết đạt 22 3.4.2 Hạn chế .23 TÀI LIỆU THAM KHẢO .24 10 Nhận xét: Bubblesort có khuyết điểm sau : khơng nhận diện tình trạng dãy có thứ tự hay có thứ tự phần Các phần tử nhỏ đưa vị trí nhanh, phần tử lớn lại đưa vị trí chậm 2.1.3 Ví dụ Cho dãy số a gồm phần tử sau : 12 15 12 i=1 12 15 15 j=5 12 i=1 j=4 i=1 j=2 12 15 12 15 15 15 i=2 j=6 12 i=2 15 j=7 i=1 i=2 i=5 12 j=4 11 12 i=3 15 j=6 Hình 2.1.3 Sơ đồ ví dụ xếp bọt Cứ tiếp tục tăng dần i lên i > n-1 dừng dãy xếp xong Dãy xếp xong : 12 15 2.2 Phương pháp xếp trộn (Merge Sort) 2.2.1 Nguyên tắc xếp phép trộn Để xếp dãy a1, a2, ,an, giải thuật MergeSort dựa nhận xét sau: Mỗi dãy a1, a2, ,an coi tập hợp dãy liên tiếp mà dãy có thứ tự Ví dụ: 12, 2, 8, 5, 1, 6, 4, 15 coi gồm dãy khơng giảm (12); (2,8); (5); (1,6); (4,15) Dãy có thứ tự coi có dãy Như vậy, cách tiếp cận để xếp dãy tìm cách làm giảm dãy khơng giảm Đây hướng tiếp cận thuật tốn xếp theo phương pháp trộn Trong phương pháp MergeSort, mấu chốt vấn đề cách phân hoạch dãy ban đầu thành dãy Sau phân hoạch xong, dãy ban đầu tách thành dãy phụ theo nguyên tắc phân phối luân phiên Trộn cặp dãy hai dãy phụ thành dãy dãy ban đầu, ta nhận lại dãy ban đầu với số lượng dãy giảm nửa Lặp lại qui trình sau số bước, ta nhận lại dãy gồm dãy không giảm Nghĩa dãy ban đầu xếp 2.2.2 Giải thuật Giải thuật trộn trực tiếp phương pháp đơn giản Việc phân hoạch thành dãy đơn giản tách dãy n phẩn tử thành n dãy Đòi hỏi thuật tốn tính có thứ tự dãy thõa cách phân hoạch dãy gồm phần tử ln có thứ tự Cứ lần tách trộn, chiều dài dãy nhân đôi Các bước thực thuật toán sau: 12 Bước 1: // Chuẩn bị , k = 1; // k chiều dài dãy bước thực Bước 2: Tách dãy a1 , a2 ,…, an thành dãy b, c theo nguyên tắc luân phiên nhóm k phần tử: b= a1 , ak , a2k+1 ,…, a3k , c= ak+1 ,., a2k , a3k+1 ,…, a4k , Bước 3: Trộn cặp dãy gồm k phần tử dãy b, c vào a Bước : k = k*2; Nếu k < n trở lại bước Ngược lại : Dừng 2.2.3 Đánh giá giải thuật Ta thấy số lần lặp bước bước thuật toán MergeSort log2n sau lần lặp giá trị k tăng lên gấp đơi Dễ thấy, chi phí thực bước bước tỉ lệ thuận với n Như vậy, chi phí thực giải thuật MergeSort O(nlog2n) Do không sử dụng thông tin đặc tính dãy cần xếp, nên trường hợp thuật tốn chi phí khơng đổi Đây nhược điểm lớn thuật tốn 2.2.4 Ví dụ Cho dãy số a : 12 15 k=1; 12 15 Bước tách a thành b c 12 b= 12 c= 15 15 13 12 15 Bước tách a thành b c b= 12 c= 15 12 15 12 15 Bước tách a thành b c b= 12 c= 15 12 15 Hình 2.1.3 Sơ đồ ví dụ xếp bọt Dãy xếp xong : 12 15 2.3 Phương pháp xếp vun đống (Heap Sort) 2.3.1 Định nghĩa Heap Giả sử xét trường hợp xếp tăng dần, heap định nghĩa dãy phần tử a1, a2, …, ar thỏa quan hệ sau với i [l,r] : 14 1/ >= a2i 2/ >= a2i+1 {(ai, a2i), (ai, a2i+1) cặp phần tử liên đới} Heap có tính chất sau : Tính chất 1: Nếu a1, a2, …, ar heap cắt bỏ số phần tử hai đầu heap, dãy lại heap Tính chất 2: Nếu a1, a2, …, an heap phần tử a1 (đầu heap) ln phần tử lớn heap Tính chất 3: Mọi dãy a1, a2, …, ar với 2l > r heap 2.3.2 Giải thuật Giải thuật heapsort trải qua hai giai đoạn: Giai đoạn 1: Hiệu chỉnh dãy số ban đầu thành heap; Giai đoạn 2: Sắp xếp dãy số dựa heap : Bước 1: Đưa phần tử nhỏ vị trí cuối dãy : r : = n ; Hoán vị (a1, ar); Bước 2: Loại bỏ phần tử nhỏ khỏi heap : r : = r – 1; Hiệu chỉnh phần lại dãy từ a1, a2, …, ar thành heap Bước 3: Nếu r > (heap phần tử): Lặp lại bước Ngược lại :Dừng 2.3.3 Đánh giá giải thuật Việc đánh giá giải thuật heapsort phức tạp, chứng minh trường hợp xấu độ phức tạp O(nlog2n) 2.3.4 Ví dụ Cho dãy số a : 12 15 Giai đoạn : Hiệu chỉnh dãy ban đầu thành heap 12 8 i=3 15 15 Phần tử liên đới i=4 12 Phần tử liên đới 15 12 15 i=1 12 15 6 Lan truyền việc hiệu chỉnh i=1 12 Phần tử liên đới i=2 12 15 Phần tử liên đới 15 6 Giai đoạn 2: Sắp xếp dãy số dựa heap: 12 15 r=8 Hiệu chỉnh lại Heap 12 15 12 15 r=7 16 Hiệu chỉnh lại Heap: 12 15 12 15 r=6 Hiệu chỉnh lại Heap: 12 15 12 15 r=5 Hình 2.1.4 Sơ đồ ví dụ xếp bọt Thực tương tự cho r =5, 4, 3, ta kết dãy xếp: 2.4 12 15 Phương pháp xếp nhanh (Quick Sort) 2.4.1 Giải thuật Để xếp dãy a1, a2, …, an giải thuật Quick sort dựa việc phân hoạch dãy ban đầu thành phần: Dãy 1: Gồm phần tử a1 có giá trị khơng lớn x Dãy 2: Gồm phần tử an có giá trị khơng nhỏ x Với x giá trị phần tử tùy ý dãy ban đầu Sau thực phân hoạch, dãy ban đầu phân thành phần : ak < x , với k = i ak = x , với k = i j ak > x , với k = j n ak < x ak=x ak > x 17 Trong đó, dãy thứ có thứ tự, dãy có phần tử chúng có thứ tự, dãy ban đầu Ngược lại, dãy có nhiều phần tử dãy ban đầu có thứ tự dãy Để xếp dãy 3, ta tiến hành việc phân hoạch dãy theo phương pháp phân hoạch dãy ban đầu vừa trình bày Giải thuật phân hoạch dãy al, al+1, , ar thành hai dãy con: Bước 1: Chọn tùy ý phần tử a[k] dãy giá trị mốc, l < k < r: x : = a[k]; i:=l; j : = r ; Bước 2: Phát hiệu chỉnh cặp phần tử a[i], a[j] nằm sai chỗ : Bước 2a: Trong (a[i] < x) i : = i+1; Bước 2b: Trong (a[j] > x) j : = j-1; Bước 3: Nếu i < j : Lặp lại bước // chưa xét hết mảng Nếu i > j : Dừng Giải thuật phân hoạch dãy xếp dãy al , al+1, …, ar : Có thể phát biểu giải thuật xếp cách đệ quy sau : Bước 1: Phân hoạch dãy a1 ar thành dãy : Dãy : a1 aj x Bước 2: Nếu (l < j) // dãy có nhiều phần tử Phân hoạch dãy a1 aj Nếu (i < r) // dãy có nhiều phần tử Phân hoạch dãy ar 2.4.2 Đánh giá giải thuật Hiệu thực giải thuật Quicksort phụ thuộc vào việc chọn giá trị mốc Trường hợp tốt xảy lần phân hoạch chọn phần tử median (phần tử lớn (hay bằng) số phần tử, nhỏ (hay bằng) số phần tử lại) làm mốc, dãy phân chia thành hai phần cần log 2n lần phân hoạch xếp xong Nhưng lần phân hoạch lại chọn nhằnm phần tử có giá trị cực đại (hay cực tiểu) mốc, dãy bị phân chia thành hai phần khơng : phầnphần tử, phần lại gồm (n-1) phần tử, cần phân hoạch n lần xếp xong 18  Ta có bảng tổng kết sau: Trường hợp Độ phức tạp Tốt n*log(n) Trung bình n*log(n) Xấu n2 Hình 2.4.2 Bảng độ phức tạp phương pháp xếp nhanh 2.4.3 Ví dụ Cho dãy số a : 12 15 Phân hoạch đoạn l =5, r = 8, x =A[6]=6 83 12 l=5 r=8 5 15 12 15 66 12 15 Phân hoạch đoạn l =7, r = 8, x =A[7]=12 5 l=7 r=8 12 15 Hình 2.1.4 Sơ đồ ví dụ xếp bọt Ta kết dãy xếp: 12 15 19 CHƯƠNG CHƯƠNG TRÌNH DEMO 3.1 Microsoft Visual Studio 2010 Microsoft Visual Studio mơi trường phát triển tích hợp (IDE) từ Microsoft Nó sử dụng để phát triển chương trình máy tính cho Microsoft Windows, trang web, ứng dụng web dịch vụ web Visual Studio sử dụng tảng phát triển phần mềm Microsoft Windows API, Windows Forms, Windows Presentation Foundation, Windows Store Microsoft Silverlight Nó sản xuất hai ngôn ngữ máy mã số quản lý Visual Studio bao gồm trình soạn thảo mã hỗ trợ IntelliSense cải tiến mã nguồn Trình gỡ lỗi tích hợp hoạt động trình gỡ lỗi mức độ mã nguồn gỡ lỗi mức độ máy Công cụ tích hợp khác bao gồm mẫu thiết kế hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp thiết kế giản đồ sở liệu Nó chấp nhận plug-in nâng cao chức hầu hết cấp bao gồm thêm hỗ trợ cho hệ thống quản lý phiên (như Subversion) bổ sung thêm công cụ biên tập thiết kế trực quan cho miền ngôn ngữ cụ thể công cụ dành cho khía cạnh khác quy trình phát triển phần mềm Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác cho phép trình biên tập mã gỡ lỗi để hỗ trợ (mức độ khác nhau) ngơn ngữ lập trình Các ngơn ngữ tích hợp gồm có C, C++ C++/CLI (thơng qua Visual C++), VB.NET (thông qua Visual Basic.NET), C# (thông qua Visual C#) F# (như Visual Studio 2010) Hỗ trợ cho ngôn ngữ khác J++/J#, Python Ruby thông qua dịch vụ cài đặt riêng rẽ Nó hỗ trợ XML/XSLT, HTML/XHTML, JavaScript CSS Microsoft cung cấp phiên "Express" (đối với phiên Visual Studio 2013 trở trước) "Community" (đối với Visual Studio 2015) phiên miễn phí Visual Studio 3.2 Tại sử dụng Windows Forms Windows Forms ứng dụng Microsoft; Windows Forms cho phép lập trình viên tạo form cách dễ dàng, đồng thời hỗ trợ nhiều điều khiển (Controls) thành phần (Components) giúp lập trình viên xây dựng, tùy chỉnh giao diện form cách nhanh chóng Tạo form có kích thước hình dạng khác nhau, bố trí điều khiển thành phần form phù hợp với nhu cầu, mục đích người sử dụng Ngoài ra, điều khiển Windows Forms cung cấp nhiều kiện giúp tương tác với thiết bị Lập trình viên sử dụng cách đa dạng kiện thiết bị như: kiện ấn nút bàn phím, kiện nhấp chuột, kiện ấn tổ hợp phím 20 3.3 Chương trình demo Các chức chính: - Nút “Tạo mảng”: tạo mảng từ dãy nhập từ bàn phím ngăn cách dấu cách cho biết có phần tử nhập - Ô Combobox cho phép lựa chọn giải thuật cần xếp - Listbox bên trái hiển thị thứ tự phần tử nhập - Nút “Xóa” : Xóa liệu textbox dãy cần nhập - Nút “Sắp xếp”: lại bước xếp thuật toán chọn, bước hiển thị đầy đủ Listbox - Hai Label màu vàng xanh cho phép hiển thị dãy số trước sau xếp Hình 3.3.1 Giao diện chương trình 21 Ví dụ: Nhập dãy từ bàn phím nhấn nút tạo mảng Hình 3.3.2 Chương trình tiến hành tạo mảng Sau nhấn nút “Tạo mảng” chương trình phân tích dãy vừa nhập tạo mảng vào nhớ - Listbox bên trái hiển thị thứ tự phần tử vừa nhập có: A[1] = 12 A[2] = A[3] = A[4] = A[5] = A[6] = A[7] = A[8] = 15 - Label cho phép to biết dãy vừa nhập có phần tử, N =8 - Label trước xếp hiển thị mảng vừa nhập dạng ngang 22 Tiếp theo lựa chọn thuật toán để xếp cho dãy vừa nhập Hình 3.3.3 Chương trình thực - Ơ Combobox hiển thị thuật toán chọn Bubble Sort( xếp bọt) Label sau xếp hiển thị dãy xếp: 12 15 Phần bên Listbox hiển thị bước xếp thuật toán  Như chương trình thực thành cơng việc thuật toán 3.4 Kết luận 3.4.1 Kết đạt Hoàn tất tất yêu đề tài bao gồm: Xây dựng Form cho phép nhập vào dãy số có n số nguyên, sử dụng ComboBox để lựa chọn phương pháp xếp, trình xếp hiển thị ListBox (hiển thị bước xếp) Học cách sử dụng điều khiển window form, thao tác với mảng hiểu sâu thêm cách hoạt động thuật toán xếp 23 3.4.2 Hạn chế Giao diện chưa thực đẹp ấn tượng Còn thiếu số chức cần thiết chương trình xếp theo hướng tăng dần mà chưa có giảm dần 24 TÀI LIỆU THAM KHẢO Trong báo cáo sử dụng tài liệu tham khảo của: - Giáo trình Cấu trúc liệu giải thuật trường Đại học công nghiệp Việt Hung - Giáo trình Lập trình Windows Form với C# trường Đại học công nghiệp Việt Hung - Web Kteam: http://www.howkteam.vn - Web VietJack: - http://vietjack.com/csharp/hoc_c_sharp_co_ban_nang_cao.jsp

Ngày đăng: 03/01/2018, 22:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w