知识大全 基于Delphi的“八皇后”问题动态实现[1]

Posted 皇后

篇首语:春衣少年当酒歌,起舞四顾以笑和。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 基于Delphi的“八皇后”问题动态实现[1]相关的知识,希望对你有一定的参考价值。

基于Delphi的“八皇后”问题动态实现[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

     摘要 对于八皇后问题的实现 如果结合动态的图形演示 则可以使算法的描述更形象 更生动 使教学能产生良好的效果   关键词 八皇后问题 冲突 数据结构 线程类  八皇后问题是一个古老而著名的问题 是回溯算法的典型例题 该问题是十九世纪著名的数学家高斯 年提出 在 X 格的国际象棋上摆放八个皇后 使其不能互相攻击 即任意两个皇后都不能处于同一行 同一列或同一斜线上 问有多少种摆法   下面用delphi 实现的八皇后问题的动态图形 程序 能够演示全部的 组解 八皇后问题动态图形的实现 主要应解决以下几个问题   冲突  包括行 列 两条对角线   ( )列 规定每一列放一个皇后 不会造成列上的冲突   ( )行 当第i行被某个皇后占领后 则同一行上的所有空格都不能再放皇后 要把以i  为下标的标记置为被占领状态   ( )对角线 对角线有两个方向 在同一对角线上的所有点(设下标为(i j)) 要么(i+j)是常数 要么(i j)是常数 因此 当第i个皇后占领了第j列后 要同时把以(i+j) (i j)为下标的标记置为被占领状态   数据结构  为了对该问题的执行过程进行控制 需将该问题中的主要数据及相应的操作定义成一个线程类 方法 在New菜单中单击Other选项 在对话框中选Thread object 在classs name中输线程类的类名 具体定义如下 type Tbhh = class(TThread)private a:array[ ]of integer; tt:integer; q c:Tbitmap; procedure prt; function pd(i j:integer):boolean; procedure hsu(i:integer);protected procedure Execute; override;public constructor create(flag:boolean);end;var dstep:boolean;   解决冲突的具体函数 function pd(i j:integer):boolean; var i j :integer;begin pd:=true; if i<>  then begin for i := to i do for j := to do  if a[i j ]=  then begin if j =j then pd:=false else if abs(i i)=abs(j j)then pd:=false end  end end;   棋盘与棋子的图片(需要用画图程序作出) 生成 装入及显示过程如下 procedure TForm PaintBox Click(Sender: TObject); var q:tbitmap;begin q:=tbitmap create; q loadfromfile( e:\\八皇后\\backimg bmp ); paintbox canvas Draw( q);end;end cha138/Article/program/Delphi/201311/8516

相关参考

知识大全 基于asp.net的web页面动态控件创建以及使用

 摘要web设计中有很多场合页面的控件要动态创建甚至只能动态创建这样可以增加页面的灵活性但是给程序员带来了一些麻烦比如要使用动态创建的控件怎么使用都是要求解决的问题本文基于aspnet简要介绍了页面的

知识大全 基于Delphi的组件设计之概念[1]

基于Delphi的组件设计之概念[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作为组件制

知识大全 Delphi 中动态链接库(dll)的建立和使用[1]

Delphi中动态链接库(dll)的建立和使用[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 数据结构之概念介绍篇[2]

  诸如此类的还有电话自动查号系统考试查分系统仓库库存管理系统等在这类文档管理的数学模型中计算机处理的对象之间通常存在着的是一种简单的线性关系这类数学模型可称为线性的数据结构  八皇后问题在八皇后问题

知识大全 基于Delphi的接口编程入门

基于Delphi的接口编程入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一为什么使用接口? 

知识大全 基于Delphi的异常处理技术探究

基于Delphi的异常处理技术探究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb

知识大全 基于Delphi的组件设计之概念[3]

基于Delphi的组件设计之概念[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Delph

知识大全 基于Delphi的组件设计之概念[2]

基于Delphi的组件设计之概念[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  属性可以有

知识大全 基于Delphi的组件设计之简单实例

基于Delphi的组件设计之简单实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这是一个可以计数

知识大全 基于Delphi的条码打印系统设计与实现

基于Delphi的条码打印系统设计与实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  引言