




免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
攀枝花学院学生课程设计(论文)题 目: 纸牌游戏 学生姓名: 李 珑 学 号:200810801029所在院(系): 计算机学院 专 业: 计算机科学与技术 班 级: 08级2班 指 导 教 师: 李艳华 职称: 助 教 2010年 12月 27日攀枝花学院教务处制攀枝花学院本科学生课程设计任务书题目纸牌游戏1、课程设计的目的1) 使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。2) 使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。3) 使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。2、课程设计的内容和要求(包括原始数据、技术要求、工作要求等)一、基本要求任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;.再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,输出:这时正面向上的牌有哪些? 要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5) 程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。二、撰写课程设计报告或课程设计总结课程设计报告要求:总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。3、主要参考文献1C语言程序设计教程, 谭浩强, 清华大学出版社2数据结构课程实验, 徐孝凯,清华大学出版社,20013数据结构(C语言版),严蔚敏等,清华大学出版社 ,20014数据结构(C语言版)例题详解与课程设计指导, 秦锋等,中国科学技术大学出版社5数据结构(C语言版), 秦锋,中国科学技术大学出版社4、课程设计工作进度计划时间(天)内容安排1分析设计准备3编程调试阶段1 编写课程设计报告指导教师(签字)日期年 月 日教研室意见:年 月 日学生(签字): 接受任务时间: 年 月 日 课程设计(论文)指导教师成绩评定表题目名称纸牌游戏评分项目分值得分评价内涵工作表现20%01学习态度6遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02科学实践、调研7通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03课题工作量7按期圆满完成规定的任务,工作量饱满。能力水平35%04综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05应用文献的能力5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07计算及计算机应用能力5具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10具有较强的数据收集、分析、处理、综合的能力。成果质量45%09插图(或图纸)质量、篇幅、设计(论文)规范化程度5符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10设计说明书(论文)质量30综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。11创新10对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名: 年月日攀枝花学院(论文) 数据结构课程设计摘 要数据结构课程是计算机专业中必修的核心课程之一,也是一门理论性很强的一门课程,同时也是一门锻炼程序涉及能力的实践课程,此次课程设计从数据结构的基本特点出发,结合数据结构中经常涉及到的指针、数组以及链表循环结构等。纸牌游戏课程设计包括纸牌信息的建立、了解其翻拍的原理、并简明阐述翻牌的具体步骤与流程、最后输出与打印翻牌结果,整个过程使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。掌握一般软件设计的基本内容和设计方法,培养学生进行规范化软件设计的能力。而且使学生掌握使用各种计算机资料和有关参考资料的方法,提高学生进行程序设计的基本能力。关键词 数据结构,纸牌游戏,C语言,代码目 录摘要第一章 题目与要求11.1 问题提出11.2 涉及知识点11.3 功能要求1第二章 功能设计22.1 算法设计22. 2流程图3第三章 程序代码设计4第四章 程序测试与结果分析7程序调试情况7程序结果分析7第五章 总结8参考文献 9附录:程序清单10攀枝花学院(论文) 数据结构课程设计第一章 题目与要求1.1 问题提出“数据结构”旨在使学生学会分析研究数据对象的特性,学会数据的组织方法,以便选择合适的数据逻辑结构和存储结构,以及相应的运算,把现实世界中的问题转化为计算机内部的表示和处理,这是一个良好的程序设计技能训练的过程。“数据结构”课程设计不仅可以帮助学生充分理解、巩固所学的基本概念、原理和方法,更重要的是能够针对实际问题来选择数据结构,设计相应的存储结构并加以实现,从而最终解决问题。结合数据结构所学知识,要求学生用C语言编程实现一个简单的纸牌游戏设计。纸牌游戏程序通过测试,能够正常运行,任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;.再依次5的倍数的牌翻一次,6的,7的 直到 以52为基数的 翻过,输出:这时正面向上的牌有哪些? 输出的纸牌号为:1 4 9 16 25 36 491.2 涉及的知识点结构、数组、循环、函数、分支、指针1.3 功能要求纸牌游戏基本内容具体要求包扩:(1)建立纸牌信息完成对编号为1-52张牌编码,假定正面向上;(2)从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;(3)然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;(4)然后从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌,再依次5的倍数的牌翻一次,6的,7的 直到 以52为基数的 翻过,(5)输出。 第二章 功能设计2.1 算法设计1. 程序设计内容功能实现分析当每个号码每次遇到是某个数的倍数时,都会相应的翻一次,这样,每张牌会翻的次数就各不一样,可能很多次,也可能只有一两次,结果就只是要输出在经过各个不同次数的翻牌后,正面向上的牌都有哪几个。举例说明一下,比如24,第一次它是2的倍数时要从正面翻到背面,当进行到3时,就又要从背面翻回来,而到4时还要在翻,同理呢,到6.8.12它都要来回的翻。如果它在多次的翻牌后,正面还向上了,那么它就是要输出的结果之一。2. 程序设计内容功能实现与打印用#define OPPOSITE(i) i = i?0:1这个宏将牌的状态标志求反,也即为翻牌操作。将所有的牌建立一个数组,运用for的循环嵌套执行以下操作:把52张牌初始化成正面朝上、控制基数和翻牌次数,判断最终的纸牌朝向并打印出结果,具体实现算法参看详细设计。2.2 程序流程图开始设一个一维数组card52,并将所有变量赋初值为0,表示牌正面朝上2=jj52j=kk52k%j=0翻牌,如果cardk-1为0,则变为1;如果为1,则变为0k+输出card数组中正面朝上的牌的序号结束j+第三章 程序代码设计首先需要宏定义,可以随便修改它的范围,定义可以修改的初始化数组p_intMAX,用1表示正面向下,0表示反面向下;void Cscanf(int p_intMAX) MAX最大取52 int i;printf (初始化数组p_intMAX,定义1表示正面向上,0表示反面向下nn);for (i=0;i=MAX;i+) p_inti=1; 其次第二部分包扩计算2到52的约数个数,规定奇数为反面向上,偶数位正面向上void Cdivisor(int p_intMAX) int flag=0; int i,j;for (i=2;i=MAX;i+,flag=0) for (j=2;j=i;j+)if (i%j=0)flag+;/printf (%d ,flag);if (flag%2!=0)p_inti=0;输出部分,即奇数位为反面的值为1表示正面向上的牌,并输出其值void Cprintf(int p_intMAX) int i;int flag=0;printf (正面向上的牌有n);for (i=1;i=MAX;i+)if (p_inti=1)printf (*number);printf (%d,i);printf (张牌*n); /flag+; /if (flag%5=0) 表示其输出格式printf (n);主函数部分,首先要有分配内存,函数主体部分调用Cdivisor(p_card);void main ()int *p_card; p_card=(int*) malloc(MAX+1)*sizeof(int); Cscanf(p_card);Cdivisor(p_card); Cprintf(p_card); printf(n);第四章 程序测试与结果分析程序调试情况:结果分析:1.这题的时间复杂度是O(52)。2虽然本次程序的题目难度与其他问题相比不是很高,但仍有很多问题我们是很容易忽视的,其一:在理解题目的要求时,注意翻牌的次数可能有多次;其二:for循环的嵌套使用在书写时很容易漏掉大括弧。3运用更多的基础算法,使得程序和算法思想得到更好的表现,可增强算法的可读性第五章 总结这个学期是我第一次接触数据结构,也是我第一次接触“课程设计”,在完成设计的过程中,我遇到了一系列的问题,能明显感觉到自己在很多方面的不足,但另一方面,问题是要分析解决的,找出问题以便为完善学习计划,改变学习内容与方法提供实践依据。所以在整个过程中,我不断加深了对数据结构的理解与一些程序写书时要注意的事项,体会了数据结构这门课程在解决现实生活问题上的可行性,也更进一步地激发了我的学习热情。 做一个课程设计要注意很多方面,无论是格式,还是书写的内容和要表达的思想都得严格要求自己,所以做起来真的不算容易。本次课程设计涉及了很多知识,由于往日没有学得很扎实,对某些问题仍然比较疑惑,所以要进行充足的补习。期间,我翻阅了很多书籍,知识总是联系很紧密的,解决完这个问题又发现了新的问题,之后,为了解决新问题又发现了更多的问题,就这样,我得等到一个一个把问题处理完。问题越多,明白的也就会越来越多,做一次课程设计就像从头到尾做了一次系统的复习,从基础到难点,从轮廓到每个知识点,数据结构的研究内容在我的脑海里就再也不像以前那么模糊了。设计程序来解决现在存在的问题,把理论知识付诸于实践,对于我们这些计算机专业的本科生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践,这也是我们学习的目的。做完设计,我已深刻体会到了学习这门课程的重要性与必要性了,同时,它留给我很多思考:学习是思考一个的过程,我们应该主动去想学习一门知识后怎么去运用,而不是一味地被动地接受。数据结构及其算法在解决现实生活中的常见问题和书写软件设计方面上都有着重要的意义,我们应该好好掌握它的相关知识,在以后的学习过程中,更多的去学会如何运用知识。参 考 文 献1C语言程序设计教程, 谭浩强, 清华大学出版社2数据结构课程实验, 徐孝凯,清华大学出版社,20013数据结构(C语言版),严蔚敏等,清华大学出版社 ,20014数据结构(C语言版)例题详解与课程设计指导, 秦锋等,中国科学技术大学出版社5数据结构(C语言版), 秦锋,中国科学技术大学出版社附录:程序清单内容:#include #include #include #include #define MAX 52 /宏定义,可以随便修改它的范围void Cscanf(int p_intMAX) /初始化数组p_intMAX,1表示正面向上,0表示反面向上int i;printf (初始化数组p_intMAX,定义1表示正面向上,0表示反面向上nn);for (i=0;i=MAX;i+) p_inti=1; /初识化定义开始时所有牌均正面向上void Cdivisor(int p_intMAX) /计算2到52的约数个数,奇数为反面向上,偶数位正面向上int flag=0; /奇数个数int i,j;for (i=2;i=MAX;i+,flag=0) /求i的约数个数for (j=2;j=i;j+)if (i%j=0)flag+;printf (%d ,flag);if (flag%2!=0)p_inti=0;void Cprintf(int p_intMAX) /输出正面向上的纸牌int i;int fla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社交媒体广告创意自动生成创新创业项目商业计划书
- 六年级数学基础薄弱学生辅差计划
- 村文书考试题及答案
- 九年级下学期班主任学生互助小组计划
- 急诊科医师岗位轮换培训计划
- 五年级上册语文知识点系统复习计划
- 2025版汽车维修中心员工劳动合同规范
- 2025版酒店客房设施维修保养及售后服务协议
- 2025版健康医疗居间服务合同
- 2025版山场租赁与农村生态旅游合同
- 迎中秋庆国庆主题班会
- 初高中衔接数学教学的心得
- 2023-2024学年湖南省耒阳市小学语文六年级下册期末自测测试题
- 12YJ4-1 常用门窗标准图集
- GB/T 12190-1990高性能屏蔽室屏蔽效能的测量方法
- 高血压的危害-课件
- ISO15189医学实验室认可概况课件
- 轻钢龙骨、双层石膏板吊顶施工方案
- 安全网(平网)张挂安全技术要求
- 危险品管理台帐
- 政务云收费标准 云托管收费标准
评论
0/150
提交评论