Báo cáo dự án giữa kì Toán tổ hợp và đồ thị: Xây dựng câu đố SUDOKU có nội dung gồm 5 chương trình bày về mô tả bài toán, các bước giải bài toán, code, 5 test case, bảng đánh giá,... Mời các bạn cùng tham khảo!
TRƯỜNG ĐẠI HỌC TƠN ĐỨC THẮNG KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO DỰ ÁN GIỮA KÌ TỐN TỔ HỢP VÀ ĐỒ THỊ Xây dựng Câu đố SUDOKU Người hướng dẫn: GV. NGUYỄN CHÍ THIỆN Người thực hiện: NGUYỄN QUỐC THÁI – 51800930 Lớp: 18050301 LƯU QUANG THẮNG – 51800932 Lớp: 18050301 Khố : 22 THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021 LỜI CẢM ƠN Qua đây em xin được gửi lời cảm ơn thầy đã tận tình giúp đỡ, hướng dẫn em hồn thành dự án này. Tuy nhiên do trình độ và kiến thức cịn hạn hẹp nên trong chương trình khơng tránh khỏi những thiếu sót, em rất mong nhận được những góp ý và bổ sung của các thầy và các bạn để đề tài của em được hồn thiện ĐỒ ÁN ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC TƠN ĐỨC THẮNG Tơi xin cam đoan đây là sản phẩm đồ án của riêng chúng tơi và được sự hướng dẫn của GV. Nguyễn Chí Thiện. Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa cơng bố dưới bất kỳ hình thức nào trước đây. Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo Ngồi ra, trong đồ án cịn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc Nếu phát hiện có bất kỳ sự gian lận nào tơi xin hồn tồn chịu trách nhiệm về nội dung đồ án của mình. Trường đại học Tơn Đức Thắng khơng liên quan đến những vi phạm tác quyền, bản quyền do tơi gây ra trong q trình thực hiện (nếu có) TP. Hồ Chí Minh, ngày tháng năm Tác giả (ký tên và ghi rõ họ tên) Nguyễn Quốc Thái Lưu Quang Thắng PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN Phần xác nhận của GV hướng dẫn _ _ _ _ _ _ _ Tp. Hồ Chí Minh, ngày tháng năm (kí và ghi họ tên) Phần đánh giá của GV chấm bài _ _ _ _ _ _ _ Tp. Hồ Chí Minh, ngày tháng năm (kí và ghi họ tên) TĨM TẮT Xây dựng câu đố Sudoku sử dụng Latin Squares MỤC LỤC DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT 10 CHƯƠNG 2 – CÁC BƯỚC GIẢI BÀI TỐN Bước 1: Tạo ra 1 Latin Squares 3x3 gồm 3 số 0, 1 và 2 Một hình vng Latin là một mảng n × n sao cho các số xuất hiện trong một hàng khơng được trùng nhau và các số xuất hiện trong 1 cột khơng được trùng nhau Latin Squares 3x3 sau khi tạo Bước 2: Tạo ra thêm Latin Squares 3x3 gồm 3 số 0, 1 và 2 ứng với mỗi một số trong Latin Squares vừa tạo ở bước 1 Các Latin Squares 3x3 vừa tạo ở bước này khơng được trùng nhau Bước 3: Chuyển các số từ hệ 3 sang hệ 10 Coi các số 0,1,2 là các số hệ 3 và sẽ chuyển nó sang hệ 10 13 Xét trong 1 ơ Latin Squares 3x3 chúng ta sẽ chuyển nó sang hệ 10 như sau Mỗi ơ của Latin Squares tạo ở bước 2 sẽ được gán với số tương ứng của ơ Latin Squares vừa tạo ở bước thứ 1 Cơng thức: Số được gán vào ơ Latin Squares x 3 + số đang xét + 1 Dịng thứ 1: 2×3+0+1=7 2×3+2+1=9 2×3+1+1=8 Dịng thứ 2: 2×3+1+1=8 2×3+0+1=7 2×3+2+1=9 Dịng thứ 3: 2×3+2+1=9 2×3+1+1=8 14 2×3+0+1=7 Cuối cùng chúng ta có kết quả như sau: Bước 4: Chuyển các dịng với nhau để các số trong cùng 1 ơ 3x3 khơng bị trùng Sau khi làm xong 3 bước trên chúng ta sẽ có 1 bảng như sau: Chuyển dịng 2 và dịng 4 cho nhau Chuyển dịng 3 và dịng 7 cho nhau Chuyển dịng 6 và dịng 8 cho nhau 15 Chúng ta sẽ được: Bước 5: Đục lỗ Số lỗ sẽ do người chơi đưa ra Số lỗ phải là bội của 9 và được chia đều cho các ơ 3x3 Ví dụ: Người chơi cho số lỗ là 54 lỗ Có 9 ơ 3x3 thì số lỗ của mỗi ơ là 6 16 17 CHƯƠNG 3 – CODE Bước 1: Tạo ra 1 Latin Squares 3x3 gồm 3 số 0, 1 và 2 Bước 2: Tạo ra thêm Latin Squares 3x3 gồm 3 số 0, 1 và 2 ứng với mỗi một số trong Latin Squares vừa tạo ở bước 1 18 Bước 3: Chuyển các số từ hệ 3 sang hệ 10 Bước 4: Chuyển các dịng với nhau để các số trong cùng 1 ơ 3x3 khơng bị trùng Bước 5: Đục lỗ 19 20 CHƯƠNG 4 – 5 TEST CASE Test case 1 Test case 2 21 Test case 3 Test case 4 Test case 5 22 CHƯƠNG 5 – BẢNG ĐÁNH GIÁ Thang đánh giá Nội dung tiêu chí Điểm /10 1/ Hình thức Bài báo cáo ngắn nội dung bài tiểu luận (docx) 23 0 điểm 1/2 tổng điểm Trọn điểm Tự đánh giá 4.0 3.0 Thiếu bài báo cáo 3.0 Có báo cáo, Rõ ràng, nhưng cịn logic (0.5đ), chưa rõ ràng, chứa đầy đủ thiếu các các nội dung mục cơ bản bao gồm phát biểu bài tốn (0.5đ), mơ tả các Lý do Thang đánh giá Tự đánh giá bước giải bài toán (0.5đ), code (0.5đ), 5 test case (0.5đ), bảng sinh viên tự đánh giá (0.5đ) Nội dung tiêu chí Xuất nhập khơng theo định dạng Xuất nhập 1.0 theo định dạng 2.0 Không tạo được tất cả các ô Latin Squares đánh giá bằng cách xuất ra được kết Thực hiện được phần Digging hole 1.0 Không thực hiện được phần Digging hole đánh giá bằng cách xuất ra được kết quả Tạo được 2.0 tất cả các ô Latin Squares đánh giá bằng cách xuất ra được kết Thực hiện 1.0 được phần Digging hole đánh giá bằng cách xuất ra được kết quả Code 1.0 Xuất nhập đúng định dạng yêu cầu 1.0 2/ Nội dung 6.0 Tạo được tất cả các ô Latin Squares 24 Code không rõ ràng, thiết kế không theo một programmin g paradigm Theo một 0.0 programmin g paradigm nhất quán. Đầy đủ, rõ ràng, bao Lý do Thang đánh giá nhất quán Nội dung tiêu chí Vấn đáp 2.0 3/ Thái độ người học 0.0 Nộp bài đúng hạn, chủ động trong việc hoàn thành tiểu luận Tổng điểm 25 Tự đánh giá gồm các phần cơ bản như chức năng của hàm, mô tả đầu vào, đầu ra của mỗi hàm (kiểu dữ liệu, dùng để lưu trữ gì) Khơng trả Trả lời được Trả lời được lời được câu một số các tất cả các hỏi câu hỏi câu hỏi Nộp muộn ( 1đ) Nộp đúng hạn (0 đ) 2.0 0.0 10 Lý do Kết quả: 9.0 Phần này mặc định là 2.0 cho đến khi vấn đáp với thầy(nếu có) 26 Tài liệu tham khảo 27 ... Tp. Hồ Chí Minh, ngày tháng năm (kí? ?và? ?ghi họ tên) TĨM TẮT Xây? ?dựng? ?câu? ?đố? ?Sudoku? ?sử dụng Latin Squares MỤC LỤC DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT 10 DANH MỤC CÁC BẢNG BIỂU, HÌNH VẼ, ĐỒ THỊ DANH MỤC HÌNH... CHƯƠNG 5 – BẢNG ĐÁNH GIÁ Thang đánh giá Nội dung tiêu chí Điểm /10 1/ Hình thức Bài? ?báo? ?cáo? ? ngắn nội dung bài tiểu luận (docx) 23 0 điểm 1/2 tổng điểm Trọn điểm Tự đánh giá 4.0 3.0 Thiếu bài báo? ?cáo. .. giải. Tùy theo mức độ nhiều hay ít của manh mối, các? ?câu? ?đố? ?được xếp theo loại dễ, trung bình, khó Mục tiêu của? ?Câu? ?đố? ?Sudoku? ?là điền các chữ số vào một lưới 9×9 sao cho mỗi cột, mỗi hàng,? ?và? ?mỗi phần trong số chín lưới con 3×3 cấu tạo nên lưới chính (cũng gọi