软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
穷举、递归、迭代

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

穷举、递归、迭代

            何志丹

1,需示分析

     本部分演示了穷举、递归、迭代。穷举的基本思想是:首先根据题目的部分条件预定答案的范围,然后对此范围内所有可能的情况进行逐一检验,直到全部情况均通过验证为止。若某种情况符合题目的全部条件,则该情况为本题的一个解,若全部情况的验证结果均不符合题目的全部条件,则说明该题无解。迭代指把一个复杂问题的求解方程转化成相对简单的迭代算式,然后重复运行这个算式,直到得到最终解。递归:如果一个过程直接或间接有限次的调用了它本身,则称这个过程是递归的。穷举以百鸡问题为例,递归以求阶乘为例,迭代以求一元五次方程为例。

      百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,问翁、母、雏各几何?

2,设计

   百鸡问题的题目由静态控件、编辑框组成,使得用户可以动态改变鸡的价格、总钱数、总鸡数,当用户点击“穷举”按钮时,分析过程及结果显示在列表框中。

   递归:用户输入一个数,按钮的标题变成n!(其中n是输入的数),分析过程与结果也显示在列表框中。

   迭代:用户可以通过编辑框改变系数与控制精度,过程与结果显示在列表框中。为了避免无解,迭代一定次数后作无解处理。

3,测试:

   百鸡问题,先测试原题再更改设置,注意:

   1),每个控件都用到。

   2),买不起一只鸡。

   3),无解。

   递归范围有限,可穷举,注意溢出。

   求一元五次方程,注意:

  1),无解,如:x*x+1=-1;

  2),6个系数中0的个数从0到6(一元五次方程到常数方程)。

  3),测试用例不要过于复杂。

 有关用户:

   1,编辑控件可更改设置。

   2,注意溢出与无解。

 




相关文章

相关软件