您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 逆波兰表达式-计算器-实验报告
计算机科学与工程学院综合设计报告说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。答辩小组成员应由2人及以上教师组成。5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。6、平时表现成绩低于6分的学生,其综合设计成绩按不及格处理。7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的答辩记录表一、综合设计目的、条件、任务和内容要求:本次综合设计的目的是让学生单独完成一个小型软件的设计和开发过程,包括最初的方案和算法设计、功能和细节的详细设计、图形界面的设计和处理、程序的开发和调试,以及最终设计报告的撰写。设计的编程语言为C/C++,环境可用VisualC++6.0或其他C/C++编译器。操作系统为Windows或Linux。设计的主要任务是要求在运行界面下输入包括+、-、*、/、^(乘方)、%(求余)、(、)的混合运算表达式(一般意义上的中缀表达式),将其转换成逆序波兰表达式(后缀表达式)并计算输出结果。设计的过程中要求清楚理解以下细节:中缀表达式到后缀表达式的转换算法,对操作数栈和操作符栈的进栈和出栈处理,多种运算符的优先级排序、以及根据转换后的逆波兰表达式计算整个表达式结果的处理。逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,所以,这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法。按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。后缀表达式的优点是显而易见的,编译器在处理时候按照从左至右的顺序读取逆波兰表达式,遇到运算对象直接压入堆栈,遇到运算符就从堆栈提取后进的两个对象进行计算,这个过程正好符合了计算机计算的原理。后缀表达式比前缀表达式更加易于转换,并且它的最左面一定为数字,这一点在实际编程的时候就会体会到它的好处了。逆波兰表达式有一个更大的优点,就是拆括号,根据运算符的级别将中缀表达式转换成逆波兰表达式后,运算顺序就已经替代了运算符的级别,这样也避免了括号提高运算级别的特殊处理。指导教师签字:年月日二、进度安排:需求分析和功能分析1天算法设计(进栈出栈处理、优先级处理、表达式转换)2天模块设计和功能设计2天程序编码和调试2天设计报告撰写与修改3天三、应收集资料及主要参考文献:1.《C语言程序设计》谭浩强著,清华大学出版社2.《VC技术内幕》(第五版)3.《数据结构》(第二版),清华大学出版社4.《c++面向对象程序设计》,中国铁道出版社5.《程序设计基础》李晓林,张俊四、综合设计(课程设计)摘要(中文):逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,所以,这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929年提出了另一种表示表达式的方法。按此方法,每一运算符都置于其运算对象之后,故称为后缀表示。后缀表达式的优点是显而易见的,编译器在处理时候按照从左至右的顺序读取逆波兰表达式,遇到运算对象直接压入堆栈,遇到运算符就从堆栈提取后进的两个对象进行计算,这个过程正好符合了计算机计算的原理。后缀表达式比前缀表达式更加易于转换,并且它的最左面一定为数字,这一点在实际编程的时候就会体会到它的好处了。逆波兰表达式有一个更大的优点,就是拆括号,根据运算符的级别将中缀表达式转换成逆波兰表达式后,运算顺序就已经替代了运算符的级别,这样也避免了括号提高运算级别的特殊处理。五、综合设计(课程设计)Abstract(英文):ReversePolishNotationisalsocalledsuffixexpressions.Intheusualexpressions,binaryoperatorsarealwaysplacedinthetwooperationsassociatedwithobjects,sothisrepresentationisalsoknownasinfixsaid.PolishlogicianJ.Lukasiewiczin1929thatproposedanalternativemethodofexpression.Clickmethod,eachoperatorisplacedafteritsoperand,socalledsuffix.Theadvantagesofpostfixexpressionisobvious,thecompilerhandlingtheorderwhenreadfromlefttorightreversePolishexpressions,facedirectlyontotheoperandstack,thestackexperiencedoperatortoextractfromthebackwardofthetwoobjectscalculated,theprocessservestomeettheprinciplesofcomputercalculations.Postfixexpressioneasiertoconvertthantheprefixexpression,andcertainlyitsmostleftforthefigures,thistimeintheactualprogrammingwillappreciateitsbenefits.RPNhasabiggeradvantageisthatdemolitionbrackets,accordingtotheleveloftheoperatortoconvertinfixexpressionsinReversePolishNotation,theorderofoperationshasreplacedthelevelofoperators,thisalsoavoidstheincreaseinparenthesesOperationallevelofspecialtreatment.武汉工程大学计算机科学与工程学院综合设计报告-I-目录摘要................................................IIAbstract...............................................II第一章课题背景.........................................11.1课题背景.................................................................................................11.2课程设计目的.........................................................................................1第二章设计简介及设计方案论述...........................22.1工作原理.................................................................................................22.2.1要求................................................................................................22.2.2任务................................................................................................3第三章详细设计.........................................43.1流程图......................................................................................................43.2设计的细节.............................................................................................43.3由后缀表达式计算中缀表达式原理.....................................................63.4算法描述.................................................................................................6第四章设计结果及分析...................................74.1输入不同表达式验证程序的正确性......................................................7致谢................................................10参考文献...............................................11武汉工程大学计算机科学与工程学院综合设计报告-II-摘要本课程设计将实现一个简单计算器。在功能上尽量模仿windows的计算器。系统界面不做牵制要求。该程序能实现标准型中+、-、*、/、^(乘方)、%(求余)、(、)的混合运算表达式(一般意义上的中缀表达式),将其转换成逆序波兰表达式(后缀表达式)并计算输出结果。在进行运算后可以选择继续运算或者结束当前运算。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。在课程设计中,系统开发平台为WindowsXP,程序设计设计语言采用VisualC++,在程序设计中,采用了结构化与面向对象两种解决问题的方法。设计的过程中通过把中缀表达式转化到后缀表达式,对操作数栈和操作符栈的进栈和出栈处理,多种运算符的优先级排序、以及根据转换后的逆波兰表达式计算整个表达式结果的处理,来实现程序的顺利运行。关键词:程序设计;逆波兰表达式;出栈、入栈;优先级AbstractThecourseisdesignedtoimplementasimplecalculator.Trytoimitatewindowsinthefunctionsofthecalculator.Systeminterfacedoescontainrequirements.Theprogramcanachievein+,-,*,/,^(standardpower),%(remainder),(,)hybridcomputingexpressions(ageneralsenseoftheinfixexpression),toconvertReversePolishNotation(postfixexpression)andcalculatetheoutput.Duringtheoperationcancontinueaftertheoperatorortheendofthecurrentoperation.Immediateandaccurateaccesstotheresultsofthecalculationn
本文标题:逆波兰表达式-计算器-实验报告
链接地址:https://www.777doc.com/doc-7399376 .html