课程设计报告

上传人:re****.1 文档编号:486474277 上传时间:2023-12-21 格式:DOC 页数:7 大小:378KB
返回 下载 相关 举报
课程设计报告_第1页
第1页 / 共7页
课程设计报告_第2页
第2页 / 共7页
课程设计报告_第3页
第3页 / 共7页
课程设计报告_第4页
第4页 / 共7页
课程设计报告_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《课程设计报告》由会员分享,可在线阅读,更多相关《课程设计报告(7页珍藏版)》请在金锄头文库上搜索。

1、1. 设计目的1、能根据实际问题的具体情况,结合数据结构课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。2、提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。3、初步掌握软件开发过程中问题分析、系统设计、程序编码、测试等基本方法和技能。4、训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。5、培养根据选题需要选择学习书籍,查阅文献资料的自学能力。设计内容2.1系统名称括号匹配问题:括号匹配问题就是给定任意判

2、别式,然后检验括号的配对出现的情况。2.2要求假设一个算术表达式中可包含三种括号:圆括号、中括号、花括号且这三种括号可按任意次序嵌套使用。试利用栈的运算,编写判别给定式中所含括号是否正确配对出现的算法。任意运用一种计算机语言,分析问题,写出具体程序,要求能够在对应的系统中实现该问题的,实验通过计算机来完成。独立完成,可通过查阅资料来解决自己不会的问题,提高自己查阅文献的能力级独立思考的能力。程序设计步骤3.1程序流程分析图图3-1程序流程图3.2主要的数据结构类型typedefstructinttop;charSzstackMaxSize;(1) Text;3.3程序功能模块函数检验栈是否为空

3、boollsEmpty(TextG)if(G.top=_1)returntrue;elsereturnfalse;检验栈是否为满boolIsFull(TextG)if(G.top=MaxSize-1)returntrue;elsereturnfalse;弹出栈顶元素charPop(TextG)charn=G.SzstackG.top;returnn;检验括号是否配对intCheck(char*A)inti;TextG;G.top=-1;intL=strlen(A);charc;for(i=0;iL;i+)c=Ai;switch(c)case(:G.Szstack+(G.top)=c;nn,G.

4、top);printf(压入(top=%dbreak;case:G.Szstack+(G.top)=c;printf(”压入top=%dnn,G.top);break;case:G.Szstack+(G.top)=c;printf(压入top=%dnn,G.top);break;case):if(Pop(G)!=()return0;elseGSzstackG.top-;printf(当遇)出栈(top=%dnn,G.top);break;case:if(Pop(G)!=T)return0;elseG.SzstackG.top-;printf(当遇出栈top=%dnn”,G.top);break

5、;case:if(Pop(G)!=)return0;elseG.SzstackG.top-;printf(当遇出栈top=%dnn,G.top);break;default:break;if(!lsEmpty(G)return0;return1;3.4程序实现中函数之间的调用先进行函数声明,在定义函数,再在功能函数及主函数中调用函数,实现检验括号匹配的问题。主函数:2. intmain()TextG;system(color1f);charAMaxSize;printf(请输入需要检验的括号:nn);scanf(%s,A);if(Check(A)=1)printf(-括号匹配-nnn);els

6、eprintf(nnn);printf(”-括号不匹配-nnn);return0;调试分析输入检验的表达式中的括号是否匹配,将进栈出栈过程在调试中显示出来方便观察。现在输入各种表达式及括号,都能正确判别其中括号是否匹配。主要是通过栈来实现检验功能,栈在很多方面都可以用到的,用途广泛。测试结果进入演示程序后,即显示主界面为:图5-1主界面输入判别式,界面显示结果为:匹配情况:图5-2括号匹配图图5-3括号匹配图不匹配的情况:图5-4括号不匹配图图5-5括号不匹配图3. 课程设计小结这次课程设计是运用C语言以及这学期所学习的数据结构的知识完成的。数据结构是由某一数据元素的集合和该集合中的数据元素之

7、间的关系组成。当拿到一个问题时,首先要分析问题,确定算法遇到的资源限制;然后确定必须支持的基本运算,度量每个运算所受到的资源限制。基本运算包括向数据结构插入一个新数据项,从数据结构中删除一个数据项和搜索指定的数据项;最后选择最接近这些资源开销的数据结构。然后运用所学的语言将算法思想通过程序表现出来,最后解决一个问题。本实验,我做的是检验括号匹配的问题。首先分析问题,理解题目意思。想出具体解决该问题的算法。通过栈的思想来解决问题。此次实验遇到困难不多,算法比较简单。通过一个数组和一个栈就可以解决问题了。只是在刚开始时,直接把判别式读入栈中,导致调试出现错误,一时无法解决,通过多次调试检查得以解决。还有在该程序中遇到的问题是,将遇到的左括号压入栈中时,调用Push()函数时,它的顶部top值不变,还不清楚为什么,所以此程序没有写Push()函数,直接在检验函数中将括号压入栈中。通过此次实验,也了解到自己的语言知识还很匮乏,缺乏独立设计程序的能力,容易产生思维定式。在今后,一定要把语言学好,基础打牢,多进行实践,独立思考,取得进步。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号