Bài Toán 8 Con Hậu

     
bài xích toán technology 8 quân hậu niên luận tin học technology thông tin mức sử dụng lập trình


Bạn đang xem: Bài toán 8 con hậu

*
pdf

bài bác giảng công nghệ thông tin căn bản: tế bào đun 2 - Ths. Lê Thanh Phúc


*
pdf

bài xích giảng công nghệ thông tin căn bản: tế bào đun 1 - Ths. Lê Thanh Phúc


*
pdf

bài bác giảng technology thông tin căn bản: tế bào đun 3 - Ths. Lê Thanh Phúc


*
doc

Đề thi xuất sắc nghiệp cao đẳng nghề khóa 3 (2009-2012) - Nghề: quản lí trị cơ sở dữ liệu - Môn thi: kim chỉ nan chuyên môn nghề -...


*
doc

Đề thi giỏi nghiệp cao đẳng nghề khóa 3 (2009-2012) - Nghề: cai quản trị cơ sở dữ liệu - Môn thi: triết lý chuyên môn nghề -...




Xem thêm: Đặc Điểm Nào Không Có Ở Thú Ăn Cỏ ? Đặc Điểm Nào Dưới Đây Không Có Ở Thú Ăn Cỏ

*
doc

Đề thi giỏi nghiệp cao đẳng nghề khóa 3 (2009-2012) - Nghề: cai quản trị cơ sở dữ liệu - Môn thi: lý thuyết chuyên môn nghề -...


*
doc

Đề thi xuất sắc nghiệp cđ nghề khóa 3 (2009-2012) - Nghề: cai quản trị cơ sở dữ liệu - Môn thi: lý thuyết chuyên môn nghề -...


*
doc

Đề thi tốt nghiệp cđ nghề khóa 3 (2009-2012) - Nghề: quản ngại trị cơ sở tài liệu - Môn thi: kim chỉ nan chuyên môn nghề -...


*
doc

Đề thi tốt nghiệp cđ nghề khóa 3 (2009-2012) - Nghề: quản lí trị cơ sở dữ liệu - Môn thi: triết lý chuyên môn nghề -...




Xem thêm: Công Thức Nào Sau Đây Biểu Thức Quan Hệ Nào Không Đúng, Giải Bài Tập Tin Học 11

Nội dung

ngôi trường Đại học Trà VinhKhoa Kỹ Thuật với Công NghệTRƯỜNG ĐẠI HỌC TRÀ VINHKHOA KỸ THUẬT VÀ CÔNG NGHỆBỘ MÔN CÔNG NGHỆ THÔNG TINNIÊN LUẬN I TIN HỌCĐề tài NL06_2009:BÀI TOÁN “8 QUÂN HẬU”Giáo viên lí giải :Thầy. Ngô Thanh HuyNhóm sinh viên cùng thực hiện:Phan Thị Ngọc Nhi210108064Nguyễn Thành Quang210108039Quách Nguyễn Diễm Thu 210108063Lớp Cao Đẳng Tin học tập 2008Năm học tập 2009-2010Niên Luận I : NL06_2009Trang 1 Trường Đại học tập Trà VinhKhoa Kỹ Thuật và Công NghệNHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN VÀ GIÁO VIÊN CHẤM----    ----........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Trà Vinh, ngày….. Tháng…. Năm 2010Niên Luận I : NL06_2009Trang 2 Trường Đại học tập Trà VinhKhoa Kỹ Thuật với Công NghệXin rất cảm ơn quý thầy cô ngôi trường Đại học Trà Vinh đãtạo điều kiện dễ dàng cho bọn chúng em triển khai niên luận này.Xin rất cảm ơn quý thầy cô cỗ môn technology ThôngTin sẽ trang bị cho cái đó em những kĩ năng lập trình cơ bản.Chúng em xin chân thành cảm ơn Thầy Ngô Thanh Huy vẫn tậntình hướng dẫn chúng em vào suốt thời gian thực hiện vật án niênluận .Mặc mặc dù đã gắng gắng hoàn thành trong phạm vi và tài năng chophép nhưng chắc chắn rằng sẽ ko tránh khỏi rất nhiều thiếu sót. Chúng emkính mong muốn nhận được sự cảm thông và góp ý của quý thầy cô với cácbạn.Niên Luận I : NL06_2009Trang 3 Trường Đại học Trà VinhKhoa Kỹ Thuật với Công NghệMỤC LỤCPhần 1 :1.11.21.31.4Phần 2 :2.12.2Phần 3 :3.13.2GIỚI THIỆU ĐỀ TÀI...........................................................................................5Giới Thiệu Tổng quan lại :............................................................................................5Giới Hạn lịch trình :.........................................................................................5Mục Tiêu cần Đạt :...................................................................................................5Hướng xử lý :...................................................................................................6CƠ SỞ LÝ THUYẾT.............................................................................................6Các Định Nghĩa :.......................................................................................................6Thuật Toán :...............................................................................................................7PHÂN TÍCH - HIỆN THỰC................................................................................8Công vậy Lập Trình :.................................................................................................8Giới Thiệu chương trình :.......................................................................................83.2.13.2.23.3Giao diện chương trình :........................................................................8Các modules chương trình nhỏ :..........................................................10Chương Trình với Lưu Đồ giải thuật :.................................................................113.3.1Hàm addQueen()...................................................................................113.3.1.1Chương trình:................................................................................113.3.1.2Lưu đồ:...........................................................................................123.3.2Hàm writeBroad().................................................................................123.3.2.1Chương trình:................................................................................123.3.2.2Lưu đồ:...........................................................................................133.3.3Hàm main()...........................................................................................133.3.3.1Chương trình:................................................................................133.3.3.2Lưu đồ:...........................................................................................13Phần 4 : KẾT LUẬN – ĐÁNH GIÁ..................................................................................154.1Kết quả Đạt Được :.................................................................................................154.2Hạn Chế :..................................................................................................................154.3Hướng cải tiến và phát triển :..................................................................................................15TÀI LIỆU THAM KHẢO.......................................................................................................16HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH..................................................................16TÀI LIỆU THAM KHẢO...................................................................................................16Niên Luận I : NL06_2009Trang 4 Trường Đại học Trà VinhPhần 1 :Khoa Kỹ Thuật cùng Công NghệGIỚI THIỆU ĐỀ TÀI1.1 ra mắt Tổng quan lại :Đặt 8 quân hậu bên trên bàn cờ vua 8x8 sao cho không tồn tại quân hậu nào gồm thểtấn công được bé khác (theo biện pháp cờ vua) không nói đến màu sắc, tức thị phảiđặt các quân hậu sao cho không có hàng, cột hoặc đường chéo cánh nào bên trên bàn cờcó hơn 1 quân hậu.1.2 giới hạn Chương Trình :Chương trình được thiết kế theo phong cách giới hạn bên trên bàn cờ 8x8 ô, giao diện Dos đơngiản không tồn tại sử dụng trang bị họa.1.3 phương châm Cần Đạt :Phải để được 8 nhỏ hậu lên bàn cờ và đảm bảo an toàn chúng cấp thiết ănlẫn nhau theo qui định cờ vua quốc tế.Hiển thị bàn cờ cùng với số quân bài đã được sắp đến xếp. Hiển thị lần lượctừng ván một để dễ xem, với kiểm tra.Phải tìm thấy đủ giải đáp của bài xích toán. Phải thiết yếu xác, thời hạn thực thichương trình nhanh.Niên Luận I : NL06_2009Trang 5 Trường Đại học Trà VinhKhoa Kỹ Thuật và Công Nghệ1.4 Hướng giải quyết :Theo pháp luật cờ vua, một hoàng hậu rất có thể chiếm các quân khác nằm ở cùngdòng, hay thuộc cột, hay cùng con đường chéo; vì thế suy ra rằng mỗi cột chỉ chứamột hoàng hậu, và việc chọn địa điểm cho bà xã thứ j hoàn toàn có thể giới hạn được ngơi nghỉ cộtthứ j, và quy trình chọn vị trí cho bà xã thứ j sẻ được thực hiện tìm kiếm từdòng 0 đến dòng 7 của cột j.Dùng những hàm để dễ dàng hóa bài toán lặp lại quá trình tìm vị trí Hậu.Phần 2 :CƠ SỞ LÝ THUYẾT2.1 những Định Nghĩa :Bàn cờ là 1 trong bảng vuông 8x8, cần ta dung một mảng 2d vớikích thước <8,8> để tổ chức bàn cờ.Các ô ở theo chiều ngang là những dòng, những ô ở dọc hotline la cáccột.Đường chéo chính là đường chéo cánh mà những hiệu số mẫu và cột bằngnhau.Đường chéo phụ là đường chéo mà những tổng số cái và cột bằngnhau.Đường chéo Trừ là đường chéo song tuy vậy với đường chéo chính.Đường chéo Cộng là đường chéo song tuy nhiên với đường chéo phụ.Hình ảnh minh họa đường chéo cánh Trừ và đường chéo CộngĐường chéo cánh Trừ của ô a là đường chéo cánh chứa các phần tử akhi k tăng ban đầu từ 1. Ví dụ như hình bên dưới ta bao gồm ô a là a<4><3>với k=1 thì ta được ô a<3><2> tựa như khi k tăng lên nữa thì ta được cácô nằm trên thuộc đường chéo cánh với ô a<4><3> là: a<3><2>,a<2><1>,a<1><0>.Niên Luận I : NL06_2009Trang 6 Trường Đại học Trà VinhKhoa Kỹ Thuật cùng Công Nghệđường chéo cánh Trừ01234567012X34567đường chéo CộngĐường chéo cánh Cộng của ô a là đường chéo cánh chứa các thành phần a lúc k tăng ban đầu từ 1. Ví như hình trên ta bao gồm ô a là a<4><3> với k=1 thì ta được ô a<5><2> giống như khi k tăng lên nữa thì ta đượccác ô ở trên thuộc đường chéo với ô a<4><3> là: a<5><2>,a<6><1>,a<7><0>.2.2 Thuật Toán :Đệ qui là phương thức tính toán phụ thuộc việc hotline lại hàm nhiềulần. Trong các số ấy mỗi lần call hàm thì những đối số trong hàm sẽ sụt giảm vàNiên Luận I : NL06_2009Trang 7 Trường Đại học Trà VinhKhoa Kỹ Thuật cùng Công Nghệcuối thuộc là dứt hàm khi không còn giá trị như thế nào để hotline nửa tức hàmđã tối giản.Phần 3 :PHÂN TÍCH - HIỆN THỰC3.1 luật pháp Lập Trình :Ngôn ngữ lập trình C, cùng với các ứng dụng :Visual C++Borland C++ 3.1Turbo C++ 3.0Nhưng chúng em đã chọn Turbo C++ 3.0 nhằm viết công tác này.3.2 trình làng Chương Trình :3.2.1 bối cảnh chương trình :Chương trình có giao diện Dos đối kháng giản, thân thiện, dễ dùng.Niên Luận I : NL06_2009Trang 8 Trường Đại học Trà VinhKhoa Kỹ Thuật cùng Công NghệCó đều phím tắt giúp cho quá trình sử dụng được dễ ợt với những phímtắt :Bấm ESC để né chương trình.Bấm phím bất kể để hiện các bàn cờ sẽ được sắp xếp.Bấm phím bất kì để theo lần lượt hiện những bàn cờ vẫn được sắp xếp.3.2.2 những modules chương trình bé :Các ký hiệu được tư tưởng trong chương trình:TRUE: có giá trị là 1FALSE : có mức giá trị là 0BOARDSIZE : có giá trị là 8DIAGONAL (2*BOARDSIZE-1) : cách tính đường chéoqueenCol : địa điểm thẳng đứng của con HậucolFree : xét chiều trực tiếp đứng có miễn phí (rỗng) tốt khôngupFree : xét đường chéo lên có free (rỗng) giỏi khôngNiên Luận I : NL06_2009Trang 9 Trường Đại học tập Trà VinhKhoa Kỹ Thuật cùng Công NghệdownFree : xét đường chéo xuống có không tính phí (rỗng) xuất xắc khôngCác hàm được định nghĩa trong chương trình:void addQueen() : để hậu vào vị trí, bình chọn hậu gồm đặt được haykhông giả dụ được thì call hàm xuất hậu (writeBoard), trái lại thì gọi lạichính nó. Cách gọi lại hàm addQueen là cấu trúc đệ qui của bài. Kết quảtrả về bên dưới dạng tọa độ.void writeBoard() : là hàm xuất kết quả ra screen bằng thao tácchuyển từ tọa độ của addQueen sang vật dụng họa dựa vào cấu trúcSwitch...Case, với từng tọa độ là 1 trong những dòng, tương xứng với số nhỏ hậu đangđặt.3.3 lịch trình và lưu lại Đồ lời giải :3.3.1 Hàm addQueen()3.3.1.1Chương trình:Hàm nhận quý giá là địa điểm của một phần tử vào bàn cờ vua vì cấutrúc coi sóc mảng trong thân chương trình chính đã tạo ra ra. Đầu tiên tăng sốdòng đựng hậu lên một, tiếp theo dùng vòng lặp để để mắt tới từng bộ phận cộttrong hàng hiện tại. Nếu kiếm được vị trí phù hợp để đặt hậu thì biến đổi giátrị của những hàm xét mặt đường chéo, ngang, dọc thành đang tồn trên một hậu (false).Kế tiếp xét nếu như số bé hậu vẫn đủ tám con thì sẻ thực hiện gọi hàmwriteBoard() để in bàn cờ, ngược lại số hậu không đủ thì sẽ thường xuyên tìm thêmsố hậu không đủ bằng bài toán gọi lại hàm addQueen().Việc hotline lại hàm addQueen vẫn được tiến hành n lần. Đây cũng làphần đệ quy của câu hỏi này.Trong trường vừa lòng hậu vừa đặt chưa hợp yêu cầu, tức là hậu ănnhau thì ta đề nghị hủy vị trí vừa để hậu, quay về một bước đồng thời cũng trừra một con hậu hiện tại tại.Niên Luận I : NL06_2009Trang 10 Trường Đại học Trà Vinh3.3.1.2Khoa Kỹ Thuật với Công NghệLưu đồ:BEGIN addQueenfor (col=0;col