Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-教程

【Access小品】抽丝剥茧--算法及算法实现概述

时 间:2015-07-21 11:42:05
作 者:煮江品茶   ID:10802  城市:武汉
摘 要:【Access小品】抽丝剥茧 -- 算法及算法实现概述
正 文:

  版友lingjiang同志问了一个极其无聊的问题,大意是要随机产生两组结果相等且小于等于20的自然数加减法算式。说其无聊,是因为这个问题除了可以交小朋友算术外,没什么其他的大用。

  问题虽然无聊,但却可以用来概述一下算法及算法实现方面的问题。什么是算法?不知道权威的定义是什么,但可以通俗的理解问题实现某些功能的计算过程和计算方法,也就是说算法包括实现过程和实现方法。就本例来说,实现“随机产生两组结果相等且小于等于20的自然数加减法算式”这个功能,所需要的过程和方法就是算法。

  算法的描述可以是多样性的,你可以用几段话来描述,也可以用一组表来描述,还可以用一个流程图来描述。根据算法的复杂程度可以用各种手段来描述算法。描述的目的只有一个,那就是能让人清晰的理解算法。对于本例,我们可以这样来描述算法:

  第一步:随机产生一个加减号;
  第二步:根据加减号确定和(或差)的上下限,并由此随机产生一个和(或差);
  第三步:根据加减号以及和(或差),确定被加数(或被减数)的上下限,并由此随机产生一个被加数(或被减数);
  第四步:根据加减号、和(或差)以及被加数(或被减数)计算加数(或减数)。


  需要注意的是,对于一个功能来说,其算法不一定是唯一的。也就是说,实现同样的功能,会存在不同的算法,理解这一点十分重要。由此,你还可以猜想到,即使是相同的算法,其实现也不是唯一的。这就像读《王子复仇记》,一千个人会有一千个哈莫雷特。

  所谓算法的实现,就是用特定的语言特定的工具,写出一组代码来实现算法所描述的计算过程,并得到一个功能的实现。所以算法相对来说是抽象的,算法实现则是具象的。至于此例的实现在此不赘述,F11进入VB编辑试图便一目了然了。

  其实以上的算法并不严谨,这种不严谨存在于计算第二组算式中,当和为20和差为1时,第二组算式的运算符与第一组算式运算符相反时将会出错。这个问题的避免需要进一步增加算法的复杂性,至于怎么个搞法由同志们自己去想。

  版友杨雪同志最近对我所写的示例中缺少注释提出了批评,这个错误其实很难改正的。原因在于注释多少合适,并没有确定的衡量标准。太少了看不懂,太多了又杂乱。不过我还是接受杨雪同志的意见,尽可能的加些注释,以便初学者阅读。至于此例中注释的多寡是否恰当就不得而知了。


示例:点击下载此附件


视图:




Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助