您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言程序设计课程设计计划及实施方案
自动化与电气工程学院2012级C语言程序设计课程设计计划及实施方案一、设计安排1、时间安排课程设计安排在本学期第20周(7月8日—7月12日)和第21周(7月13日—7月17日)。第20周(7月8日—7月12日):给学生布置设计任务、讲解要求。让学生做第一类基础题和第二类改错题,画出其流程图,写出源代码,并上机调试得出运行结果。根据情况检查学生的完成情况。第21周(7月13日—7月17日):要求学生做第三类综合题,首先要分析出该题的需求和功能;其次画出各个模块及总程序的流程图;然后编写源代码;最后上机调试得出运行结果。根据情况检查学生的完成情况(要求每个学生做不同的模块)。7月17日,要求学生完成课程设计报告并参加课程设计检查和小组答辩。7月17日下午18点前各指导教师完成小组内答辩,并收齐所有课程设计报告。报告按照统一格式完成,课程设计的最终成绩由各指导教师根据学生平时的学习情况、课程设计报告及答辩情况综合考虑给出。2、答疑时间7月8日(学院楼406):学生确定所选题目;7月10日下午15:00(学院楼406):检查第一类基础题的流程图、源代码及调试运行结果;7月12日上午10:00(学院楼406):检查第一类基础题和第二类改错题的流程图、源代码及调试运行结果;7月16日下午15:00(学院楼406):检查第三类综合题各模块及总程序的流程图、源代码及调试运行结果。二、设计内容与要求1、课程设计的基本内容课程设计题目分成三类,第一类为技巧性强的基础题目,第二类为程序改错题目,第三类为综合题目。第一类及第二类题目要求每人一题,不得重复,第三类题目可依据题目难度,2-3人为一小组合作完成。每个学生均提交课程设计报告,以此作为主要评分依据。2、设计基本步骤设计步骤的规范不但可以培养学生科学的工作方法和作风,而且还能有效地减少错误,提高工作效率。因此必须严格执行良好的设计规范。本课程设计的基本步骤是:(1)问题分析及解决方案框架确定充分地分析和理解问题本身,弄清要求做什么(Whattodo?)。在确定解决方案框架过程中(Howtodo?),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。(2)详细设计确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。(3)上机调试上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑,把程序中的明显错误事先排除。(4)完成课程设计说明书课程设计说明书内容应有如下几部分组成:1)引言:说明设计目的,要求和设计方法;2)设计设计思路:主要算法思想分析设计表示:每个函数或过程的功能,列出每个过程或函数所调用的过程或函数流程图:画出清晰的主程序及各模块流程图源代码:编写主程序及各模块函数的源代码实现注释:各项功能的实现程度、在完成基本要求的基础上还实现了什么功能3)调试报告:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等。4)运行及测试结果。如果题目规定了测试数据,则结果要包含这些测试数据和运行输出,当然还可以含其他测试数据和运行输出。5)总结:对设计方法,结果等进行总结;6)参考文献:给出设计中主要参考的文献;3、课程设计报告形式要求(1)设计报告仅是对设计目的、设计任务及自己所做设计的说明,不允许对原理内容描述过多。(2)设计报告形式1.纸型:A4纸,单面打印;2.封面填写内容格式:中文,宋体,四号;数字及英文字符,TimesNewRoman,四号。3.页边距:上2.5cm,下2.5cm,右2.5cm,左:3.5CM,左侧装订。4.页眉页码:页码居中,底部,TimesNewRoman,小五,正文起始页页码为1。封面不允许出现页眉页码。页眉页码由正文开始,一律用阿拉伯数字连续编页码。页码必须标注在每页页脚底部居中位置,宋体,小五。行距为最小值9磅,段前为30磅、段后为0。页眉宋体,五号,居中。填写内容是“c语言程序设计课程设计报告”。行距为最小值9磅,段前为0、段后为30磅。5.正文格式:(a)章节标题格式:一级标题:中文,宋体,加粗,英文,TimesNewRoman,加粗,小三,1.5倍行距,居左;二级标题:中文,宋体,加粗,英文,TimesNewRoman,加粗,四号,1.5倍行距,居左。(b)正文格式:中文:宋体,小四;英文:TimesNewRoman,小四;多倍行距1.25,间距:段前、段后均为0行,取消网格对齐选项。设计(论文)中文字之间不允许有空行,文字与图之间不允许有多行空白。(c)源程序代码格式:TimesNewRoman,小四,单倍行距。三、设计大纲1、目的进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。为了使学生从课程设计中尽可能取得比较大的收获,对课程设计题目分成2类,第一类为技巧性强的基础要求题目,第二类为综合题目。学生从第一类中选择1个题目,从第二类中选择1个题目进行设计。2、课程设计的要求和过程管理设计步骤的规范不但可以培养学生科学的工作方法和作风,而且还能有效地减少错误,提高工作效率。因此必须严格执行良好的实验步骤规范(包括上级操作规范)。本课程设计的基本步骤是:1.问题分析及解决方案框架确定充分地分析和理解问题本身,弄清要求做什么(Whattodo?)。在确定解决方案框架过程中(Howtodo?),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系。2.详细设计和编码确定算法的主要流程,在此基础上进行代码设计(Coding),每个明确的功能模块程序一般不超过60行,否则要进一步划分。3.上机前程序静态检查上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。把程序中的明显错误事先排除。4.上机调试程序5.完成课程设计报告①需求和规格说明:问题描述:题目要解决的问题是什么②设计设计思路:主要算法思想设计表示:每个函数或过程的功能,列出每个过程或函数所调用的过程或函数实现注释:各项功能的实现程度、在完成基本要求的基础上还实现了什么功能详细设计:主要算法的伪代码。这部分不作强制性要求③调试报告:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等④附录:源程序清单和结果。如果题目规定了测试数据,则结果要包含这些测试数据和运行输出,当然还可以含其他测试数据和运行输出。3、考核评估通过程序实现、总结报告和学习态度综合考评,并结合学生的动手能力,独立分析解决问题的能力和创新精神。成绩分优、良、中、及格和不及格五等。考核标准包括:1、程序设计的正确性,程序结构是否合理、编程风格。2、学生的工作态度、动手能力、创新精神。3、总结报告。总成绩评定:满分为100分,总分=第一项成绩×50%+第二项成绩×20%+第三项成绩×30%90-100分为优秀,80-89分为良好,70-79分为中等,60-69分为及格,60分以下为不及格。成绩单上按优秀、良好、中等、及格和不及格填写。4、课程设计实习题(一)基本要求题目1、一司机出车祸后驾车逃离现场,第一位目击者记得车牌号前两位数字相同,且后两位数字也相同;第二位目击者是一位数学家,他看出车牌号是四位完全平方数。试编程推算肇事车的车牌号。2、有17个人围成一圈,从0号的人开始报数,凡报到3的倍数的人离开圈子,然后再数下去。直到最后只剩下一个人为止。问此人原来的位置是多少号。3、编写一个程序,求3X4数组的转置矩阵。要求在main函数里读数,在change函数里把矩阵转置。4、用条件编译方法实现以下功能:输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下一字母(如’a’变成’b’……….’z’变成’a’。其他字符不变)。用#define命令来控制是否要译成密码。例如:#definechange1,则输出密码。若#definechange0,则不译成密码,按原码输出。5、用指向指针的方法对n个字符串排序并输出。6、用指向指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。N个整数在主函数中输入。最后在主函数中输出。7、有n个学生,每个学生的数据包括学号、姓名、年龄和两科成绩。请编程用结构类型的数据处理方式实现如下目标:(1)在main函数中输入原始数据;(2)在count函数中输出各学生的总分和平均分;(3)输出总分最高的学生;(4)编写sort函数将各学生的数据按总分降序输出。8、用链表方式建立5个学生的成绩统计表,每个学生的信息包括学号和一门课成绩。要求:(1)程序执行前只含头结点;(2)从键盘输入各学生的成绩时,按学号输入,但各学生在链表中所占接点的位置按成绩的高低排列;(3)程序要能删除特定分数线以下的学生所占的结点,并释放相应的内存。9、编写文件拷贝程序,执行格式:HCOPYfile_name1file_name210、编写对C源程序加行号的程序,执行格式:ADDfile_name11、编写求Xn函数12、编写求以下函数13、编写求子串函数substr(s,n1,n2),在串s中从n1位置开始取n2个字符的子串14、文本文件连接程序:FCATfile_name1file_name215、超文本文件转换成文本文件程序:TRANfile_name1file_name216、文件分割程序:FGfile_nameSIZE,如FGXSDOS.LHP360K17、文件加密程序:将待加密文件以二进制打开,读入32个字节,分别与口令异或,在将4、5、6三个字分别与0xaaaa异或,即完成加密,执行第二次就解密18、求矩阵a、b乘积,结果存入矩阵c中并按矩阵形式输出。矩阵相乘的前提:矩阵A(m×p)的列数p=矩阵B(p×n)。即:C(m×n)=A·B要求A=B=C=3其计算公式是:(i=1,2,…,mj=1,2,…,n)Σ==pkkjikbacij119、编写字串str1中找出所有小写字母转成大写字母,大写字母转成小写字母后,结果依次存入字符数组str2中,str1不变仍为原字串的程序。例如,字符串str1为91A2BC.a1bc,调用函数fun后,字符数组str2将存入91a2bc.A1BC,str1仍然是91A2BC.a1bc。20、编写一个将某个范围在-32768~32767之间的整数转换为R进制(R=2,5,8,16)的通用程序。(二)程序改错题程序1:#includestdio.h#includeconio.hmain(){inti,j;charch;while(ch=getch()!='\r'){i++;printf(%c,ch);}printf(youtype%dcharacters\n,i);}程序2:#includestdio.h#includeconio.hmain(){inti,j;intsum,k=0;for(i=0;i5;i++);{printf(inputanumber:);scanf(%d,k);sum+=k;}printf(thesumis%d,sum);}程序3:#includeconio.h#includestdio.hmain(){inti,j;clrscr();for(i=0;i10;i++)for(j=0;j10;j++){if(i=j)break;printf(*);}printf(\n);}程序4:#includestdio.hintfun(){inta[3][3],
本文标题:C语言程序设计课程设计计划及实施方案
链接地址:https://www.777doc.com/doc-2908350 .html