编辑: wtshxd 2014-12-30

另一方面,能使书上的知识变"活",起到深化理解和灵活掌握教学内容的目的.平时的练习较偏重于如何编写功能单一的小算法,而设计题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以致一整套软件工作规范的训练和科学作风的培养.设计题采取了统一的格式,由问题描述、基本要求、测试数据、实现提示、和选做内容五个部分组成. 3.数据结构设计 1.以"带行逻辑链接信息"的三元组顺序表表示稀疏矩阵,实现两个矩阵相加、相减和相乘的运算. 2.稀疏矩阵的输入形式采用三元组表示,而运算结果的矩阵则通常以阵列形式列出. 3.首先应输入矩阵的行数和列数,并判别给出的两个矩阵的行、列数对于所要求作的运算是否相匹配.可设矩阵的行数和列数均不超过20. 4.程序可以对三元组的输入顺序加以限制,例如,按行优先.注意研究教材的算法,以便提高计算效率. 5.在用三元组表示稀疏矩阵时,相加或相减所得结果矩阵应该另生成,乘积矩阵也可用二维数组存放. 4.算法设计 1.主函数设置循环和选择语句进行运算循环和选择,设置A,B,C,Y,N进行稀疏矩阵的加法,减法,乘法,是否继续运算5个分支开关进行运算选择. 2.设置5个功能函数分别实现稀疏矩阵的输入,输出,加法,减法,乘法. 3.在数组结构体中设置存放每行第一个非零元在其数组存储结构单元的位置的存储单元,若该行无非零元,则存为0. 5.有关技术的讨论 5.1系统调试出现的问题 调试中没有出现问题 5.2系统运行结果 6.设计体会 在这次课程设计期间,经过长时间的修改与调试,发现了自己的许多不足之处,由于对以前学习的知识还有些地方不太熟练,所以程序在调试初期有很多错误.比如说指针部分,稍有不注意就弄错了,还有输出格式部分,程序判断部分,在调试过程中都先后出现了些小小的问题,在此期间,通过查看相关资料,寻求老师和同学们的帮助,通过反复修改调试,最后终于调试成功.并起到了很好的查漏补缺作用.由于调试时过程的反复与修改,不便做记录,故在此没写调试记录.由于时间有限,所遍程序没有经过特别的优化,代码可能有些重复、烦琐、纰漏,所编程序难免存在一些问题,比如说,本程序没有对多字符构成的运算符和界符作为单独的单词进行分析. 通过这次课程设计,我深深的认识到,如果仅仅只是运用理论知识,是远远不够的.我们必须将理论知识学好,然后理论联系实际,才能很好的将《编译原理》等课程学好,并用于实际案例中.同时,经过这次课程设计,我发觉自己对以前所学的《C》、《C++》、《数据结构》等课程的理解加深了,知识巩固了,动手操作能力也变强了,也为今后后的科研、工作打下了良好的基础.此次数据结构课程设计这一教学环节中,我的思维能力、获取及应用新知识的能力以及理论联系实际、勇于创新的意识都得到了提高,达到了教学相长的目的,为今后计算机基础课程的教学改革提供了一条新的途径. ? 7.参考书目 教材: 严蔚敏,吴伟民编著:《数据结构习题集(C语言版)》,清华大学出版社,1999年2月出版. 参考书: [1] 谭浩强主编:《C程序设计题解与上机指导(第二版)》,清华大学出版社,2000年9月出版. [2] H.M.Deitel, P.J.Deitel: C How To Program, Second Edition. 薛万鹏等译,机械工业出版社,2000年7月出版 [3] 赵逢禹,罗道昆,路玲,杜光耀编著:《数据结构与C语言高级程序设计》,北京航空航天大学出版社,1998年4月出版. 8.源程序清单 ? #include #define MAXSIZE

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题