论坛首页 海阔天空论坛

数学和软件

浏览 19350 次
锁定老帖子 主题:数学和软件
该帖已经被评为良好帖
作者 正文
   发表时间:2007-03-22  
数学和软件

在我个人的软件开发过程中,自认为得益于数学基础训练较多,但具体有何联系,又感觉说不太明白。
正好论坛中有人提及,借此机会整理一下自己的思路,和大家共享。


  用户说:金额大于50万的合同,需要部门经理审批,金额大于100万的合同,需要总经理审批。
  用数学语言表述,可以相当于这样一个函数
处理流程=F(合同金额),根据合同金额的差异进行不同的处理

  一般情况下,合同金额可以视为一个自然数集合(从1到无穷),很明显的,<大于50万>和<大于100万>不是这个自然数集合的完备划分。
  第一:这两个集合有交叉,大于50万的集合显然包括大于100万的集合
  第二:这两个集合不能覆盖整个自然数集合,也就是有漏洞

  所以,需要给出一个互不冲突的完整划分,使其覆盖整个问题集合。
 
  在本例中,[1,500000),[500000,1000000),[1000000,无穷)就是这样的一个互不冲突的完整划分。
 
  由于软件实现的限制,事实上不可能对无穷大的数进行处理,因此需要确定该数的上限,以便于软件实现。
  而且无论是int、long还是其他的数据类型,其范围总是不能和用户所需求的数的范围完全一致。例如是否允许输入负的合同金额?如果不允许,该限制应当由哪部分程序负责?

   所有的数学函数都是必须定义变量所在的范围的
   y=f(x),x∈N,X>=1,
   y=g(x),x为实数,X<>0
   ……


要点一:输入参数必须定义其所在范围,并且确保所有输入参数的可能性都可以被处理(包括正常处理和异常处理)。


   发表时间:2007-03-22  
呵呵,基本上所有的计算机大牛,数学都很牛,

比如 冯诺依曼:6岁时能心算八位数除法,8岁掌握微积分,12岁就能读懂波莱尔的“函数论”。
0 请登录后投票
   发表时间:2007-03-22  
hurricane1026 写道
simohayha 写道
呵呵,基本上所有的计算机大牛,数学都很牛,

比如 冯诺依曼:6岁时能心算八位数除法,8岁掌握微积分,12岁就能读懂波莱尔的“函数论”。


冯诺依曼是数学家。。。。。他很多地方都是变态的。根本不用很多我们用的技巧,完全靠 彪悍。。


哈哈,彪悍的人生不需要解释.
0 请登录后投票
   发表时间:2007-03-22  
数学好,说明这人的思维能力比较好,并不是说把软件当成数学模型来解决问题,而是提供一种思维方式或者说是角度来思考,从而得到解决。
0 请登录后投票
   发表时间:2007-03-22  
哇,楼上是mm的说.
0 请登录后投票
   发表时间:2007-03-22  
是的,有啥子问题?
0 请登录后投票
   发表时间:2007-03-22  
软件是反映你怎么去看待这个世界。
0 请登录后投票
   发表时间:2007-03-22  
还是个川妹子
0 请登录后投票
   发表时间:2007-03-22  
这次怪我,又一次华丽的跑题.
0 请登录后投票
   发表时间:2007-03-22  
说我吗,如果是的话,偶郑重声明,我不是四川人哈
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics