探索法的应用Word下载.docx

上传人:b****7 文档编号:22526762 上传时间:2023-02-04 格式:DOCX 页数:12 大小:59.81KB
下载 相关 举报
探索法的应用Word下载.docx_第1页
第1页 / 共12页
探索法的应用Word下载.docx_第2页
第2页 / 共12页
探索法的应用Word下载.docx_第3页
第3页 / 共12页
探索法的应用Word下载.docx_第4页
第4页 / 共12页
探索法的应用Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

探索法的应用Word下载.docx

《探索法的应用Word下载.docx》由会员分享,可在线阅读,更多相关《探索法的应用Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

探索法的应用Word下载.docx

学习态度及平时成绩(30)

技术水平与实际能力(20)

创新(5)

说明书撰写质量(45)

总分(100)

指导教师签名:

年月日

目录

1引言1

1.1问题的提出1

1.2国内外研究的现状1

1.3任务与分析1

2程序的主要功能2

2.1新建数组2

2.2判定数组2

2.3设定需要的界面2

3程序运行平台3

4总体设计4

5程序类的说明5

6模块分析7

6.1迷宫问题主函数模块7

6.2迷宫问题中,方位为上、下、左、右位置可到达7

6.3迷宫问题判断出口位置10

6.4预先设定迷宫12

6.5计算机进程调度全局数据结构和变量12

6.6计算机进程调度函数说明13

7系统测试14

8结论27

参考文献28

1引言

1.1问题的提出

在很多研究中,数学问题的形式千变万化,结构错综复杂,寻找正确有效的解题途径,以为着寻找一条摆脱困境,绕过障碍的途径。

在这些问题的解决过程中,探索法无疑成为了一种最有效的方法。

由此提出了迷宫问题等问题的探索法,要解决此类问题,向各个方向考虑,由此找到一条最有效的解决途径,由此来解决问题。

正是探索法的探索解决问题的优点,由此有很多问题需要用这种方法解决。

1.2国内外研究的现状

探索法在现代研究和学习中,起着非常重要的作用。

在各个科学、人文等领域占据着非常重要的作用,有很多科学研究需要在问题的提出时,探索问题的各种有效途径,由此来获得解决问题的最有效方法。

1.3任务与分析

本课题主要的目的是用探索法解决各类问题,由此获得各类问题的最有效途径。

探索法实现过程中,在对问题的解决过程中,先假设问题的各个解决途径,在对问题进行分析。

用探索法来研究发现和发明的规律和方法,解决迷宫问题时,分为4个方向去试探路径,如果遇到下一个路径为1,表示此路径不能行走,返回上一位置,再寻找其他路径;

如果不是1,继续向前行走,知道找到出口。

2程序的主要功能

2.1新建数组

1、在解决迷宫问题时,新建一个数组,用来判定迷宫问题的出口

2、对计算机作业调度问题,新建一个数组,对计算机各个正在运行的作业进行判定

2.2判定功能

1、对迷宫问题进行编译,分别编译判定迷宫中方位为上、下、左、右的位置可到达;

然后编译判定迷宫问题的入口,分别编译迷宫入口是否在上、下、左、右。

2、对计算机作业调度问题编译,编译能判定计算机正在调度的进程。

2.3设定需要的界面

1、设定一个已知的迷宫,由此能有前面的程序判定出迷宫的可以出行的路径。

2、设定计算机作业调度的界面,由此来运行计算机作业调度的程序。

3程序运行平台

VC++6.0。

具体操作如下:

新建win32ConsoleApplication工程,添加相应的源文件,再添加新建工程,再编译,链接,执行等。

4总体设计

图4.1迷宫问题系统总体框架图

图4.2计算机进程调度系统总体框架图

5程序类的说明

∙迷宫问题数据结构

intsearchNext(intc[3][4],intk,intl);

voidfindEnterence(intc[3][4],int*k,int*l);

voidsearchPath(intc[3][4])

{

intk=0,l=0;

findEnterence(c,&

k,&

l);

searchNext(c,k,l);

}

计算机进程管理数据结构

/*PCB结构*/

structPCB{

intpname;

intpri;

intruntime;

intwaittime;

structPCB*next;

}pcb[7];

/*运行指针*/

structPCB*running;

/*高优先级就绪队列头指针*/

structPCB*Hready;

/*低优先级队列头指针*/

structPCB*Lready;

/*等待队列头指针*/

structPCB*wait;

intsig=0;

6模块分析

6.1迷宫问题主函数模块

迷宫问题中,主要的头文件函数

6.2迷宫问题中,方位为上、右、下、左的位置可到达

现实迷宫问题中,方位为上、右、下、左的位置时,可到达的情况

if((k>

=0&

&

k<

m)||(l>

l<

m))

{

printf("

(%d,%d)"

k,l);

if(c[k][l]==3)//出口

return1;

}

else

if(k-1>

=0)//方位为“上”的位置可到达{

if((c[k-1][l]==0)||(c[k-1][l]==3))

if(searchNext(c,k-1,l))

//printf("

pass\n"

);

//break;

printf("

nopass"

return0;

6.3迷宫问题判断出口位置

判断迷宫问题的出口

inti;

//*k保存行,*l保存列

//入口是否在左边

for(i=0;

i<

m;

i++)

if(c[i][0]==2)

(*k)=i;

(*l)=0;

return;

6.4预先设定迷宫

预先设定固定的迷宫,修改迷宫,由此来设置迷宫的路径

intc[m][n]={{2,1,1,1},

{0,0,0,0},

{1,1,1,3}};

searchPath(c);

\n"

6.5计算机进程调度全局数据结构和变量

编写计算机进程调度全局数据结构,为运行程序做准备

/*运行指针*/

structPCB*running;

structPCB*Hready;

/*低优先级队列头指针*/

structPCB*Lready;

structPCB*wait;

6.6计算机进程调度函数说明

对程序中的函数进行说明

voiddelay();

/*模拟进程3-9*/

voidproc(structPCB*running);

/*将node插入到head所指示的队列的尾部*/

voidInsertIntoQueueTail(structPCB**head,structPCB*node);

/*进程调度函数*/

intproc_switch();

/*进程等待函数*/

voidproc_wait();

/*进程唤醒函数*/

intproc_wakeup();

7系统测试

首先进入VC++6.0,打开工程冯涛.cpp,然后进入源程序,接着编译、运行即可。

对迷宫问题进行运行,预先设置迷宫1,如下图:

图7.1迷宫1

8结论

探索法在对迷宫问题和计算机进程调度解决过程中有很大作用,在解决这类问题的过程中,探索法是一种性能卓越的方法,在迷宫问题中,通过设计迷宫的出口和各个方位,来解决获得迷宫的最好的出口。

通过探索法来探索迷宫问题的最好的路径,探索法在解决此类问题中效果明显优于其他算法。

通过此次课程设计,我对用探索法解决迷宫问题等问题有了深入的认识,并且更深入了解了C++的使用,对以后的学习有很大的帮助。

参考文献

[1]李建学等.数据结构课程设计案例精编(用C/C++描述).清华大学出版社.2007

[2]佐兹戴克.数据结构与算法(C++版影印版).清华大学出版社.2002

[3]严蔚敏.数据结构(C语言版).清华大学.2004

[4]耿国华.数据结构——C语言描述.高等教育出版社.2005

[5]徐孝凯.数据结构实用教程(第二版).清华大学出版社.2006

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1