计算机编程能力培养课程设计题目_2014new

计算机编程能力培养课程设计题目_2014new

ID:34394699

大小:168.84 KB

页数:5页

时间:2019-03-05

计算机编程能力培养课程设计题目_2014new_第1页
计算机编程能力培养课程设计题目_2014new_第2页
计算机编程能力培养课程设计题目_2014new_第3页
计算机编程能力培养课程设计题目_2014new_第4页
计算机编程能力培养课程设计题目_2014new_第5页
资源描述:

《计算机编程能力培养课程设计题目_2014new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2014年通信工程学院计算机能力培养课程设计题目题目一:计算圆周率读懂下面著名的C语言“天书”,这段代码只用了四行代码(include预编译命令不算)就计算了800位圆周率,其算法自有其高明这处,所以本题更重要的是要论述清楚背后的数学原理。#includelonga=10000,b,c=2800,d,e,f[2801],g;voidmain(){for(;b-c;)f[b++]=a/5;for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f[b]*a,f[b]

2、=d%--g,d/=g--,--b;d*=b);scanf("%s");return;}题目二:稳定伴侣问题有n个男孩m1,m2,…,mn与n个女孩w1,w2,wn。每一个男孩mi都依照喜爱这n个女孩的程度列成一张表,最喜欢的女孩排在第1位,最不喜爱的女孩排在第n位;同样地,每一个女孩wi也依照她喜爱n个男孩的程度列成一张表。请写一个程序,把每一个男孩与女孩的喜爱表格读入,并且把男孩与女孩一一配对,使得:如果mp与wq是一对的话,那么第一:对mp的喜爱表格中排在wq之前的女孩而言,她的伴侣在她的表格中一定排在mp之前;第二:对wq的喜爱表格中

3、排在mp之前的男孩而言,他的伴侣在他的表格中一定排在wq之前。这就是稳定伴侣(StableMarriage)问题。【说明】这个问题恐怕要多说一些才能讲得明白。先讲不稳定(Unstable)的情况;如果m的女伴记成PM(m),而w的男伴记成PW(w)。如果有一对男孩与女孩m与w,他们不是伴侣(用上面的记号,m的伴侣是PM(m),w的伴侣是PW(w)),但m比较中意w而不是PM(m),则同时w比较中意m而不是PW(w)的时候,m与w就一定心不甘情不愿了。例如,如果A与B是男孩,X与Y是女孩,A比较中意X,B比较中意Y,A与Y、B与X结伴,那么A与

4、Y心目中的情人都不是对方,B与X亦然,这就是不稳定的状况。稳定伴侣的问题,就是要在喜爱的表格中配出最合适、稳定的伴侣,而不是“乔太守乱点鸳鸯谱”制造对对怨偶。看一个完整的例子。假设男孩与女孩都用编号1,2,3,4,其喜爱表格如表1所示。表1男孩女孩1:24131:21432:31422:43123:23143:14324:41324:21431表格中指出,男孩1最中意的女孩是2,其次是4与1,最后是3;对于女孩3而言,她最中意1,其次是4与3,最后是2,对于这两份喜欢表格而言,稳定伴侣是如表2所示。表2男孩女孩14233241第1号男孩与第4

5、号女孩配对,他们是不是怨偶?在第1号男孩喜欢表格中,排在第4号女孩之前的是第2号;再看第4号女孩,在她的喜爱表格中排在1之前的是第2号男孩,于是都符合了稳定条件。用同样的方法可以查证其他的3对伴侣。在编写程序时,可以用男孩为主,对女孩求婚,而由女孩由她的喜爱表格来决定接受还是不接受;如果可以接受,就不妨先接受,等到有更中意的男孩求婚了,就中止上一个约定,另结新欢(不是现实世界,不必太拘泥)。数据证明,一定可以找出稳定伴侣的结果的。在常见的问题中,计算机择友就是一个类似的问题,但要求却比较松些,因为男友双方不必列出对“所有”对象的喜爱程度,而且

6、也有可能出现喜爱程度相同的情形,当然解题的方法就复杂了。题目三:生命游戏请写一个模拟生命游戏(GameofLife)的程序;如果不知道所谓生命游戏,请看下面的说明。【说明】生命游戏是一个很简单,但却是很有趣的程序习题。在一个四周都可以延伸到无限的棋盘上的某个格子中会有一个有机体。每一个有机体在时间t时,会依照环绕着它的8个邻居的特性而决定在时间t+1时是否能生存下去。如果某一格在时间t时:(1)有一个有机体,但是它的邻居少于或等于1个,或者是大于3个,那就会因为不够稠密或太过稠密,这个有机体在时间t+1时就会死亡;换言之,在t+1时间,那一格

7、中不会存在有机体。下面就是几个在时间t+1时会死亡的例子,如图1所示。●●●●●●●●太少太少太多图1(2)有有机体在该处,当只有2个或3个邻居时,就可以继续生存。下面就是几个可以生存的例子,如图2所示。2●●●●●●●●●●●图2(3)如果没有有机体,而那一格恰好有3个邻居时,当时间为t+1时,那一格就会生出一个有机体。下面就是几个可以从“无”到“有”的例子,如图3所示。●●●●●●●●●图3(4)其他情形不会造成新的有机体出生。程序要输入棋盘的大小(毕竟内存有限,不能表示无限的棋盘,不是吗?),并且输入最大的时间值,比如N,然后输入一个在

8、开始时有机体分布情况,最后显示出时间为2,3,…,N时棋盘上的状态。一般而言,最终的结果不外乎4种。第一种是不到时间N时,所有有机体全都死光;第二种是到了某个时间,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。