- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 很多问题求解最后都转化为求解数学方程或数学方程组,即使是不需要用计算机求解的简单问题也需要一个数学模型来描述,例如,大家都熟悉的鸡兔同笼问题,可转化为对二元一次方程组进行求解。又如在房屋设计或桥梁设计中的结构应力分析计算可化解为线性代数方程组求解的问题,再如,天天看到的天气预报,它的数学模型是一个环流模式方程。 而当计算机进入非数值计算领域、特别是用在管理上的时候,计算机的操作对象之间的关系就无法用数学方程加以描述了。 * * 在酒店的客房房态管理中,希望同类房中各间客房的出借率机会均等,以保证维持一个平均的磨损率。为此,为分配客房采用的算法应该是”先退的房先被启用“。相应的,所有”空“的同类客房的管理模型应该是一个”队列“,即酒店前台每次接待客人入住时,从” 队头“分配客房;当客人结帐离开时,应将退掉的空客房排在”队尾“。队列时”排队“这样一类活动的模拟程序中经常用到的数学模型。 * 计算机之所以能和人对弈是因为有人将对弈的策略事先存入计算机。由于对弈的过程在一定规则下是随机进行的,所以,为使计算机能灵活对弈就必须对对弈过程中所有可能发生的情况以及相应的对策都考虑周全,并且,一个“好”的棋手在对弈时不仅要看棋盘当时的状态,还应能预测棋局发展的趋势,甚至最后结局。 若将从对弈开始到结束的过程中所有可能出现的格局都画在一张图上,则可得到一棵倒长的“树”。“树根”是对弈开始之前的棋盘格局,而所有的叶子就是可能出现的结局,对弈的过程就是从树根沿树杈到某个叶子的过程。“树”可以是某些非数值计算问题的数学模型,它也是一种数据结构。 * #includestdio.hvoid main(){int x,y,z,j=0;printf(“Following are possible plans to buy 100 fowls with 100 Yuan.\n);for(x=0;x=20;x++) /*外层循环控制鸡翁数*/for(y=0;y=33;y++) /*内层循环控制鸡母数y在0~33变化*/{z=100-x-y; /*内外层循环控制下,鸡雏数z的值受x,y的值的制约*/if(z%3==05*x+3*y+z/3==100)/*验证取z值的合理性及得到一组解的合理性*/printf(%2d:cock=%2d hen=%2d chicken=%2d\n,++j,x,y,z);}}*运行结果Following are possible plans to buy 100 fowls with 100 Yuan.1:cock=0 hen=25 chicken=752:cock=4 hen=18 chicken=783:cock=8 hen=11 chicken=814:cock=12 hen=4 chicken=84 * 为了保证在任何位置上都能沿原路退回,显然需要用一个后进先出的结构来保存从入口到当前位置的路径。因此在求解迷宫通路的算法中应用“栈”也就是自然而然的事了。 * 背包问题是一种组合优化问题。它的名字来源于在给定一组物品时,如何选择最合适的物品放置于给定背包中。相似问题经常出现在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中。 * * 左边是一段从MAPGIS内部函数库中截取的一段C风格代码。函数的作用是将矩形rc1在高度或者宽度上扩展,使得它与rc2具有相同的长宽比。 从C++ 程序设计的角度看,可以将第二个参数改为以下四种形式之一: 1、 D_RECT rc2 ——这种方式不好,因为调用时形参的D_RECT结构将被全部复制到形参,增大了时间和空间上的耗费。 2、const D_RECT rc2 ——效果与上与模式一样,不过限制rc2中的各个成员不能修改,避免函数实现代码书写中出现修改的错误 3、 const D_RECT *rc2 ——执行效果与原始代码没有什么区别,但是限制rc2中的各个成员不能修改,避免在函数实现代码中的错误地修改rc2所指内容 4、 const D_RECT rc2 ——执行效果与方式3相似,但是在书写代码是使用“rc2.xmax”的形式代替“rc2- xmax”,更加自然。这种方式是典型的C++风格 下面我们进一步考虑第一个参数,下面有三种修改方式: 1、 D_RECT rc1 ——错误,直接传值,将使得外部调用无法获得调整结果 2、 D_RECT rc1 ——正确,较好的C++风格 3、 const D_RECT rc1 ——错误,rc1需要传出调整结果,所以会被修改,不能使用const修饰符 * 左上角的函数对三个整型数进行算术运算,返回运算结果。浮点数的同样运算,则要另写一个函数来处理,
文档评论(0)