灯塔与报数问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
灯塔与报数问题.doc

计算机与软件工程学院 课程设计说明书 课程名称: CX+单元实训 课程代码: 题 目: 灯塔与报数问题 年级帝业应: 2013级计科2班 学生姓名: 学 号: 开始时间: 2015 年—月 4 日 完成时间: 2015 年—月]8 口 课程设计成绩: 学习态度及平 时成绩(30) 技术水平与实际 能力(20) 创新(5) 说明书撰写质量(45) 总分 (100) 指导教师签名: 年 月 日 TOC \o 1-5 \h \z 摘要 1 HYPERLINK \l bookmark4 \o Current Document \h 1引言 2 2系统分析 5 1功能需求 12 1. 1总体要求 14 2.1.2本人所做模块 15 2.2数据需求 16 3详细设计与实现 17 1设计思路 18 3.2编码 20 3.3实现结果 21 4系统测试 22 4.1设计测试数据 23 4.2测试结果及分析 25 总结 27 HYPERLINK \l bookmark18 \o Current Document \h 致谢 28 HYPERLINK \l bookmark20 \o Current Document \h 参考文献 29 附录 30 有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总数是381 盏,求:塔底灯数?第儿层的灯数为48?随便输入一个数字,求它在地儿层? 25个人围成一个圈,从第1个人开始顺序报号(1,2,3……),凡报号为3和3 的倍数者退 出圈子,找岀最后留在圈子中的人原來的序号。 以上两个功能要求用类的形式实现 关键词:灯塔,报数,类 1引言 1问题的提出 以前的操作系统等系统软件主要是由汇编语言编写的(包括UN I X操作系统在 内)。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高 可读性和可移植性,最好改用高级语言,但一般高级语言难以实现汇编语言的某些功能 (汇编语言可以直接对硕件进行操作,例如,对内存地址的操作、位操作等)。人们设 想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点 于一身。于是,C语言就在这种情况下应运而生了,而乂从C发展到了 4+。 1 - 2 C++语言 C++支持面向对象的程序设计方法,特别适合中犬型的软件开发项目,从开发时间、 费用到软件的重用性、可扩充性、可维护性和可靠性等方面,C++具有很大的优越性。 同时C++乂是C语言的一个超集,是的许多C代码不经修改就可以被C++编译运行。 1 ? 3 C++语言发展过程 1973年,美国贝尔实验室的D. M. RITCHIE在B语言的基础上最终设计出了一种新的 语言,他取了 BCPL的第二个字母作为这种语言的名字,这就是C语言。 1983年,为了克服C语言的存在的缺点,贝尔实验室的Bjarnc Stroustroup博士 及其同事将“类”的概念引入c语言,构成了最早的C++语言。 1998年正式发布了 C++语言的国际标准TOS/TCE:98-14882o 1.4任务与分析 有一个7层灯塔,每层所点灯数都等于该层上一层的两倍,灯的总 数是381盏,通过对塔底的灯数进行穷举求出灯总数为381吋塔底灯数为 多少,同时也可求出第儿层的灯数为48。用一个数组将每一层垠后一个灯 的灯号存入数组,再将输入的数与数组中存入的灯号进行比较,以此来判 断该灯在灯塔的第几层。 定义一个一维数组存入25个0,再定义一个变量j來进行报数当报数为 3或3的倍数是就将该数组元素的值赋为-1,用if判断将元素值为-1的数 组元素排除在报数循环外,当数组中只剩下一个元素的值为0是结束循环, 输出其数组下标再加上一就是最后留在圈子屮的人的原来的号码。 2设计方案 2. 1整体设计方案 为了直观和方便,画出流程图如下图 7 int idx=O 结束 图1程序总的流程图 流程图很直观的描述了整个程序服务过程。 2.1.1设计方案 定义了一个number类,派生了三个函数分别来实现不同的功能,代码如下: #includeiostream #include cmath using namespace std; class number { public: void dengtal(); void dcngta2(); void baoshu(); }; void number::dengta 1() { int 是塔底灯数,j是灯塔层数 int n, sum;//n是每层的灯数,sum是灯总数 for (i = l;i381;i++) { sum = 0; n = i;〃塔底灯数 for (j = 0;j7, nl;j++) { sum = sum + n;〃计算灯总数 n = n / 2; } i

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档