《计算机程式设计基础(C语言)》(学时)课程设计任务书.docVIP

《计算机程式设计基础(C语言)》(学时)课程设计任务书.doc

  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文档。上传文档
查看更多
《计算机程序设计基础(C语言)》课程设计任务书 院长(主任) 教研室主任 执笔人 许建仁 杨忠宝 李波 一、实习目的和要求 通过课程设计的实践环节的教学,可以加深学生对课堂所学基础知识的掌握与理解,提高学生对所学内容的综合运用能力;同时也可以通过查询相关资料,培养学生自学能力、接受新知识的能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧,并可培养学生实际上机调试程序的能力。“理论与实践”相结合,使学生得到很好的锻炼,为以后学习、工作打下坚实的基础。每个学生需要独立完成教师安排的设计题目或由学生自拟实际的设计题目,但是自拟题目需要经过指导教师批准方可生效。 二、实习内容 (一)数据结构类题目 1、用梯形法或辛普森法求解定积分的值 题目详述: 求一个函数f(x)在[a,b]上的定积分,其几何意义是求f(x)曲线和直线x=a,y=0,x=b所围成的曲边梯形面积。为了近似求出此面积,可将[a,b]区间分成若干个小区间,每个区间的宽度为(b-a)/n,n为区间个数。近似求出每个小的曲边梯形面积,然后将n个小面积加起来,就近似的到总的面积,既定积分的近似值。当n越大(即区间分的越小),近似程度越高。 算法分析: 数值积分常用的算法有: 梯形法:用小梯形代替小曲边梯形。 辛普森(Sinpson)法:在小区间范围内,用一条抛物线代替该区间的f(x),将(a,b)区间分成2n个小区间。 2、二分法求解非线性方程的根 题目详述: 用二分法求解非线性方程f(x)=0在指定区间[a,b]内的实根的功能。 算法分析: 从端点x0=a开始,以h为步长,逐步往后进行搜索。对于每一个子区间[xi,xi+h],如果f(xi)=0,那么xi为一个实根,并且从xi+h/2开始往后搜索。如果f(xi+1)=0,那么xi+1为一个实根,并且从xi+1+h/2开始往后搜索。如果f(xi)f(xi+1)0,那么说明当前子区间内无实根,从xi+1开始往后搜索。如果f(xi)f(xi+1)0,则说明当前子区间内有实根,这时要反复将子区间减半,直到发现一个实根,或者子区间长度划分到了小于预先给定的精度为止。 3、迷宫问题 题目详述: 迷宫用二维数组表示即可,其中0表示通路,1表示不通。如果有通路,要求找到至少一条从入口到出口的简单路径。 算法分析: 求解迷宫问题的简单方法是,从入口出发,沿某一方向进行搜索,若能走通,则继续向前走;否则沿原路返回,换一个方向再进行搜索,直到所有可能的通路都搜索到为止。如图3.6: 图3.6 迷宫图例 4、八皇后问题 题目详解: 八皇后问题是指求解如何在国际象棋棋盘上无冲突地放置八个皇后棋子。因为在国际象棋里,皇后的移动方式是横竖及交叉,所以在任意一个皇后所在位置的水平、竖直和斜45度线上都不能有其他皇后棋子的存在。一个完整无冲突的八皇后棋子分布成为八皇后问题的一个解如图3.7。 算法分析: 可用回溯法,逐次试探解决八皇后问题,调用函数在棋盘第一行第一列上放置棋子开始向下一行递归。每一步递归中,首先检测待放位置有没有冲突出现。如果没有冲突就放下棋子并进入下一层递归,否则检测该行的下一个位置。如果一行中都没有可以放置的位置,就退回上一层递归。最后如果本次放置成功,并且递归调用深度为7,就打印输出结果。 图3.7 八皇后图例 5、汉诺塔问题 题目详解: 汉诺塔是根据一个传说形成的一个问题:有三根杆子A,B,C。A杆上有N个(N1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须遵循上述两条规则。问:如何移?最少要移动多少次?如图3.8。 算法分析: 3个步骤:第一,把A上的N-1个盘通过C移动到B;第二,把A上的最下面的盘移到C;第三,因为N-1个盘全在B上了,所以把B当做A;重复以上步骤。 图3.8 汉诺塔图例 6、约瑟夫环问题 题目详解: n个小孩围成一圈,从第一个人开始报数,报到k的人退出圈子,下面的人继续从1开始报数……直到圈里空无一人为止。 算法分析: 这是一个典型的单循环链表问题。先建立链表,接着从第一个结点开始计数,将第k个结点删除,然后再从下一个节点开始计数,第k个结点删除……,直到链表为空为止。 7、一元多项式求和 题目详解: 把任意给定的两个一元多项式P(x),Q(x)输入计算机,计算它们的和并输出计算结果。 算法分析: 用单链表存储多项式的结构,每个结点存储一项的系数和指数,所以链表的结点结构应该含有三个成员:系数、指数、和后继的指针。先比较,再求和。 8、建立单向链表,实现增、删、改、查等操作 9、建立双向链表,实现增、删、改、查等操作 10、哈夫曼编码问题 题目详解: 哈夫曼编码是根据字符出现的频率对数据进行编码解码,以便于对文件

文档评论(0)

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

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

1亿VIP精品文档

相关文档