- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机程序设计算法巧谋略
文章摘要:
程序设计曾先需分析,确定所要解决问题的算法。而不同的问题将
采用不同的算法。各种各样的算法谋路过程中存在着共性的方法和个性
的技巧。本文通过三种程序设计中的算法。——枚举法、递归法、回溯法
的深讨、分析,旨在获得~些算法谋略的方法与技巧,以此启迪创造性
思维,拓宽解题视野,提高解决实际问题的应用编程能力。
计算机科学正前所未有、目新月并的速度向前发展。它有综合性强、
应用极其广泛等特点。作为二十一世纪的应用型人才,当代的职业学校
的学生应具备一专多能的本领,必须学习掌握计算机的一些基本知识与
技能,提高自身的素质,以适应未来发展的需要。且计算机程序设计方
法的学习,更是一种方法论的学习,是现代化思维模式的学习。通过程
序设计的学习可以启迪智力,增强能力,提高人才的素质。
程序设计首先基于所要解决问题的算法分析,算法也就是谋略,谋
略无模式可套用,但谋略可以从不断的实践中去创选、总结。}口用多年
A I
来B S C语言教学及培养学生参赛的实践经验中获得了一些谋略的
方法,借此与同仁们共同探讨。
一、枚举谋略法:
杖拳法也就是我们通常数学上所说的穷举法,它是将所有可能的方
案都一一蒯试,找出其中符舍指定要求的方案,这种方法在数学上因为
很笨而不可取。但计算机却有着高速运算的特点,因而一些无规律或公
式可循的I-q题,在计算机的编程中用救举的方法可以方便的得以解决。
1.用枝举法解决数学方面的问题:
例 百元买百鸡。这是一个很古老的数学题。说的是一个人用10
0元钱去要l00只鸡,已知公鸡每只5元,母鸡每只3元,小鸿一元
3只。}q有哪几种买法题意分析:设买公鸡X只,母鸡Y只,小鸡Z只。
依题意可列方程组
J X+Y+z=loo (1)
(2)
l 5x+3Y+Zf3=100
上述议程组中有三个未知数,却只有两个方程,是不定方程,有多
组解。我们从方程的定义出发,把所有可能的X,Y,Z代入方程组,
能使方程组成立的即为其解。所以必须事先确定可能解的范围,而X,
Y,Z的取值范围可通过以下的分析到得:
①鸡的只数应是正整数,所以X,Y,Z都是正整数。
00。
②此外,由方程(1)可知X,Y,Z的范围均1~1
9。
③再进一步分析方程(2).又发现X19,Y32,z9
这样,我们可以对X=1~32用双重循环逐次代入方程组
rz=100~x—Y
15。X+3,Y+Z/3:100
进行救拳最后求出满足方程组的X,Y,Z值,即为所求。
BASI forX-tto19
C程序:i0
20 for to32
y-1
30 Z-I
00一x—Y
40 if then
5女x+3+y+z/3=100printx,Y,z
50 next
Y
60nextz
70end
编程思路清晰;算法不难,易于掌握。但利用枚举法编写的程序一般运
算量大。因此,优化算法效率是投举法应用进一步值得考虑的问题。而
实际上许多的投举算法问题都可通过算以分析得到优化。优化的目的是
缩小杖举范围,减少验
文档评论(0)