C课程设计教学大纲(共8页).doc
《C课程设计教学大纲(共8页).doc》由会员分享,可在线阅读,更多相关《C课程设计教学大纲(共8页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上C课程设计教学大纲一、目的与任务根据高教委的要求,高校学生必须具备扎实的计算机基础知识,具有较强的程序设计和软件开发能力,特别对计算机专业及相关专业(如电子信息工程、通信工程、土木工程等)的学生要求更高。安排课程设计的目的,就是要通过一次集中的强化训练,使学生能及时地巩固已学的基础知识,补充未学的但又是必要的内容,更进一步提高程序设计的能力。望同学们能珍惜此次课程设计的机会,不但要使自己的程序设计能力更上一个台阶,而且要提高与程序设计和软件开发相关的各种综合能力。二、时间安排1.课程设计以编程序上机为主,具体按教师每次下发的课程序设计内容进行。2.总学时为周20个学时
2、。三、评分标准课程设计结束后,由指导老师根据学生在课程设计中的表现及任务完成的数量与质量给每个学生评定成绩。总成绩由两部分组成。总成绩=课堂检查成绩*40%+设计报告成绩*60%1.课堂检查。在课程设计的每一次,由指导老师分别对每个学生的设计进行检查,检查的内容主要有以下三个方面。 每次课程设计完成的数量与质量,可采用学生先汇报并自我评价,然后老师作检查。 随机抽取题目对学生提问,从中判定学生的算法设计和程序设计的分析能力。 随机抽取学生地综合设计的模拟运算过程及结果,并作必要的提问,据此判别学生对综合练习的完成情况。2.课程设计报告指导教师认真阅读每个学生的课程设计报告,对其系统设计、数据结
3、构设计、算法设计、程序设计等的合理性和质量以及对报告的编写质量作认真的审核,以此作为评定综合练习成绩的主要依据四、设计报告格式(参考附件一)文档资料的统一要求:1、文档中的正文字体用五号宋体。2、每个问题均要有数据结构分析、算法思想描述、源代码和上机调试的过程及结果。3.工程名称:学号姓名任务;文件名称:学号姓名任务4、源代码是C+编辑正确且含有编译、连接的提示信息贴图、程序运行的结果用贴图方式表示。5、没有按要求做的同学则视为本课程设计不合格。6、每次上机所做的内容用移动磁盘带走。五、课程设计内容第1章 分支与循环1.1 算法与范例1.递推算法递推算法是循环程序设计的精华之一,在很多情况下使
4、用递推算法能使程序简练,同时还能节省计算时间。递推算法的基本思想:是利用前一项的值来推算出当前项的值,即利用前一项的值乘以(或加上)一系数得到当前项的值。使用递推算法的前堤,必须有一项的值(一般是最前项)是已知的。使用递推算法的关键地,是如何将多项式化成递推公式。示范:求(即1!+2!+3!+20!)的程序编程提示:n=1 to 20当n=1时,要做两件事: 实现t=t*n 注意t=1; 实现 sum=sum+t 注意sum=0。当n=2时,还是要做以上两件事。因此t=t*n,sum=sum+t是递推项是编程的核心。参考程序:#include void main()double sum=0,t
5、=1; int n; for (n=1;n=20;n+) t=t*n; sum=sum+t; printf(1!+2!+.+20!=%22.15en,sum);2.测试法在实际应用中,有许多问题是无法用解释方法实现的,这时采用测试法来求解是一种很有效的方法。测试法的基本思想是假设各种可能的解,让计算机进行测试,如果测试结果满足条件,则假设的解就是所要求的解。如果所要求的解是多值的,则假设的解也应是多值的,在程序设计中,实现多值解的假设往往使用多重循环进行组合。示范:百钱买百鸡问题已知公鸡每只5元,母鸡每只3元,小鸡1元买3只。要求用100元钱正好买100只鸡,问公鸡、母鸡、小鸡各多少只?编程提
6、示:设公鸡、母鸡、小鸡分别为a、b、c只,依据题目能列出下列两个方程: a+b+c=100 5a+3b+c/3=100这是个不定方程,无法用解释式求解。但可采用多重循环组合出各种可能的a、b、c的值。100元钱,全部买公鸡最多只能买20只,即公鸡的只数范围是:a=1 to 20100元钱,全部买母鸡最多只能买33只,即母鸡的只数范围是:b=1 to 33100元钱,全部买小鸡最多只能买100只,即公鸡的只数范围是:c=1 to 100参考程序:#includevoid main() int a,b,c; printf(公鸡 母鸡 小鸡n); for(a=1;a=20;a+) for(b=1;b
7、=33;b+) c=100-a-b;if(5*a+3*b+c/3=100) printf( %d %d %dn,a,b,c); 1.2 设计任务1.若一个口袋中放有12个球,其中有3个红色球,3个白色球和6个黑色球,从中任取8个球,问共有多少不同的颜色搭配。2. 输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月有28天。3. 简单计算器。请编写一个程序计算表达式:data1 op data2的值。其中op为运算符+、-、*、/。4. 猜数游戏。由计算机“想”一个数请人猜,如果猜对了,则游戏结束,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到猜对为止。计算机记录人猜的次
8、数,以此可以反映出猜数者“猜”的水平。1.3 实现过程1.3.1设计任务1的实现过程1.算法分析(用文字或流程图进行描述)2.编写的源程序代码3.程序运行的结果1.3.2 设计任务2的实现过程1.算法分析(用文字或流程图进行描述)2.编写的源程序代码3.程序运行的结果1.3.3 设计任务3的实现过程1.算法分析(用文字或流程图进行描述)2.编写的源程序代码3.程序运行的结果1.3.4 设计任务4的实现过程1.算法分析(用文字或流程图进行描述)2.编写的源程序代码3.程序运行的结果第2章 数组与函数2.1 启示与范例1.输入n个学生的成绩,并求出其中高于平均分的人数。编程提示:用程序来实现本题的
9、要求,首先有两个值得思考的问题:一是数据结构的选择;二是数组的长度。 数据结构的选择:n个学生的成绩是否有必要开辟数组来存放还是定义变量来存放?从任务要求分析知,两次用学生成绩,一次是求平均分;另一次是将每个学生的成绩与平均分比较,高于平均分要输出。因此有必要将其定义数组。 数组的长度定义:学生个数n的具体数值一般表示在编写程序时是未知的,而在程序执行时由使用者随意确定。即n是一个变量,其值需要用输入来确定。这样一来,存放n个分数的数组a,其长度的定义就必须注意,既不能定义为int an;因为数组长度要求是常量,而n是一个变量,又不能将n定义成符号常量,因为n的具体值是未知的。对于这种情况的处
10、理方法一般是:将数组的长度定义较大,让使用者在此范围内随意使用,当然这个长度的定义有其原则,那就是既不让使用者感到长度不够,又不至于定义过大而浪费内存,这种情况视应用情况而定。参考程序:#includevoid main()int i,a1000,num=0,n;float aver=0;printf(输入学生个数nn);scanf(%d,&n);printf(输入学生的成绩存放到数组a中n);for(i=0;in;i+)scanf(%d,&ai);aver=aver+ai;aver=aver/n;for(i=0;i=aver)num+;printf(高于平均分的人数是:%dn,num);2.
11、输入任意个学生的学号及成绩,然后按顺序输出高分的前十名。编程提示:依据设计任务的要求需要考虑几个问题:初始数据的数据结构选择;采用的算法如何实现及相关的数据结构;任意个数据的实现问题。 初始数据的数据结构选择问题:所谓任意个学生,应该是个数不限,因此,对于存放初始数据的数据结构不宜选择为数组。并且,从算法实现的角度考虑,每个学生的数据输入后只需使用一次,没有再保留的必要,因此可选择简单变量作数据结构来存放一个学生的数据,而且每个学生的初始数据都用同一个数据结构存放,即对一个学生的数据使用完后就将该数据结构让给下一个学生的数据使用。 算法的实现及相关的数据结构:本题核心的算法是排序,由设计任务可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 教学大纲
限制150内