|
|
你的位置:课程设计大纲 |
1.目的要求
在教师指导下,学生根据选定的课题,综合运用所学程序设计的知识,完成问题分析、模块设计、代码编写、程序调试和运行等训练任务。 通过课程设计,初步锻炼运用所学基础知识解决实际问题的能力,掌握软件开发的基本过程和基本方法以及良好的编程风格,培养在软件开发中相互合作的团队意识。 2.设计内容
(1)
设计过程 课程设计分为以下五个阶段进行,其中分析设计和编程调试各占40%左右的工作量: 1)
选题:可以一个人独立完成一个课题,也可以2~3人组成一个设计小组合作完成一个课题,但同一个课题选题人数不得超过10人。 2)
分析设计:课题选定后,收集相关资料,对系统需求进行分析,设计功能模块,写出函数原型。 3)
编程调试:根据函数原型及功能,设计相应算法,填写程序代码,并上机调试和测试,排除程序语法和逻辑错误,直至运行通过。 4)
撰写课程设计报告:按要求撰写出完整规范的课程设计报告并打印。报告中的模块图、流程图要标注清楚,语句要通顺不能有错别字。 5)
考核:指导教师根据课程设计结果进行检查、提问,最后给定成绩。 (2)
设计选题 以下是部分课程设计的选题,可以根据实际情况在此基础上进行选题的扩充或删减。 题目1:通讯录管理系统 1) 每条记录包括:学号、姓名、专业、家庭住址、联系电话; 2) 能够实现添加、删除、修改功能; 3)
能够实现按学号、姓名、专业等内容进行查找。 题目2:学生成绩管理系统 1)
每条记录包括:学号、姓名、专业和5门课程的成绩; 2)
能够实现添加、删除、修改功能; 3)
能够计算某学生的总分和平均分; 4)
能按照总分排序输出。 题目3:计算器软件 1)
能够实现加减乘除功能; 2)
要求单字符输入,即输入的数字或符号不需要按回车键; 3)
具有一定的容错能力; 4)
按回车键或等号键则显示计算结果。 题目4:字符串处理 1)
从键盘输入一个英文句子并保存在字符数组中; 2)
能删除多余的空格:单词之间只留一个空格,句子前后无空格; 3)
能统计某单词出现的频度; 4)
能替换某个单词。 题目5:矩阵的构造与打印 1)
矩阵为n阶方阵,n由键盘输入; 2) 可在螺旋方阵和蛇形方阵中选择(如下图所示)。 题目6:打印月历 1)
年份和月份由键盘输入,打印的月历按星期一到星期日排列; 2)
注意大小月、闰年等问题。 题目7:大数乘法运算 1)
用一个整型数组表示一个大数,数组的每个元素存储大数的一位数字,则实际的大数d表示为: d = a[k]×10k-1+a[k-1]×10k-2+…+a[2]×10+a[1] 其中a[0]保存该大数的位数。 2)
实现两个大数相乘; 3)
在此基础上实现两个大数相除。 题目8:字符文件处理 1)
统计英文文本文件中单词的个数; 2)
统计某一个特定单词出现的频度。 题目9:宾馆客房管理软件 1)
某宾馆有301、302、303、304、305五个标准间,每个标准间可住2人; 2)
链表存储结构:姓名、性别、房号、后续指针,按房间号有序; 3)
能实现入住(注意性别)和退房,能按给定姓名、房号查询; 4)
建议采用链表结构,但用其它方法实现也可。 题目10:小学生数学测试软件 1)
可选择题型(+,-,×); 2)
两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数; 3)
每次在输入答案后应判断对错,若答案错误,应给出正确答案; 4)
最后给出评分。
题目11:仿LED数码的显示 1)
输入任意数字和一个字母,能够以该字母显示该数字,右图是输入6和字母A的显示结果; 2)
在此基础上使数码能从0到9动态变化。 题目12:猜数游戏 1)
随机产生一个五位数,且没有重复数字; 2)
猜数时给出大小提示; 3)
记录猜数的次数,最后给出评分。 题目13:数据的加密与解密 1)
采用换位法进行加密和解密; 2)
输入英文句子后,再输入换位位数(密钥),即可输出密文; 3)
输入密文后再输入换位位数则可输出明文; 4)
在此基础上,可进行文件操作。 注:换位法加密的原理是将英文句子中的空格去除,然后将句子排成若干行,每行的字符数为换位位数,再按列输出即为密文,不足部分填入随机字母。例如英文Can
you come here若换位位数取4,则密文为comraueenchayoeb,如右图所示。 题目14:元音字母的统计 1)
输入英文短文后,统计短文中元音字母a,e,i,o,u出现的次数; 2)
以分布图的形式输出结果,如右图所示; 3)
在此基础上,可进行文件操作。 题目15:身份证信息管理软件 1)
具备添加、删除功能; 2)
具备多种查询功能:按年龄、出生日期等; 3)
具备统计功能,能统计某年龄段的人数; 4)
在此基础上,可进行文件操作。
题目16:学生成绩统计软件 1)
每条记录由学号、姓名、若干门课程的成绩组成; 2) 能计算每个学生的总分和平均分并显示; 3)
能按平均分统计各分数段的人数,并以分布图显示,如右图所示。 4) 在此基础上,可进行文件操作。 题目17:用户输入数据的验证 1)
对用户输入的日期型数据进行有效性验证; 2)
正确的输入应改为:yyyy-m-d,其中yyyy为4位数字表示的年份,m为1~2位数字表示的月份,d为1~2位数字表示的日; 3)
程序能够对任意输入的数据进行正确性判断,保证日期的正确,并考虑到大小月、闰年等情况。 题目18:简谐振动实验的模拟 1)
能够实现简谐振动的模拟; 2)
简谐振动的振幅、频率以及相位由键盘输入; 3)
能够实现动画效果。 题目19:振动合成原理的模拟 1)
能够实现用计算机模拟直接利用两个简谐振动及其合振动的表达式模拟振动合成原理; 2)
简谐振动的振幅、频率以及相位由键盘输入; 3)
能够实现用不同颜色在同一屏幕上显示两个分振动及其合振动的振动曲线; 4)
振动曲线采用画线的方法实现。 题目20:驻波的模拟 1)
能够模拟沿正、反方向传播的两列波和驻波; 2)
正向波和反向波的振幅、频率和波长由键盘输入; 3)
能够实现从动态图形中直观的看出三波之间的关系,并验证驻波的表达式所表示出的规律性。 3.完成形式
本课程设计必须有经过调试可以运行的程序代码及软件说明书,多人合作的课题要求每人必须有明确的分工,每人均需撰写并打印课程设计报告。 课程设计报告封面包括:课程设计题目、学号、姓名、年级专业、指导教师、完成日期。 课程设计正文一般应包括:问题描述、基本要求、系统分析和设计、结构图、流程图、程序清单、测试数据、小结及收获和体会、参考资料等。 提交报告时必须同时将电子文档和软件一并上交。 4.成绩考核
根据学生在课程设计中的表现、课程设计报告完成的情况以及软件的质量综合考核,按优、良、中、及格、不及格五级评分。其中平时表现占20%,课程设计报告占30%,软件占50%。 5.参考书目
[1]
谭浩强,C程序设计教程,清华大学出版社,2007年 [2]
Gary J. Bronson, A First Book of ANSI C (Fourth Edition),
Publishing House of Electronics Industry, 2006. [3]
谭浩强,张基温,唐永炎,C语言程序设计教程,高等教育出版社,1998年(第二版) [4]
赵永哲,李雄飞,戴秀英编著,C语言程序设计,科学出版社,2003年 [5]
夏宽理,赵子正编著,C语言程序设计,中国铁道出版社,2006年 [6]
谭浩强编著,C程序设计,清华大学出版社,1991年 [7]
Al Kelley, Ira Pohl, A Book on C: Programming in C (Fourth
Edition), China Machine Press, 2004. [8]
Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language,
China Machine Press, 2006. [9] Eric S. Roberts,The Art and Science of C,China Machine Press,2004年
|
安徽师范大学物理与电子信息学院
Copyright © 2007 All Rights
Reserved