计算机软件技术实习预习日志
目录
实验项目
支持算术表达式求解的计算器
一、实验要求
- 能通过设计的按钮控件输入并实现算术表达式,表达式在文本框中显示,运算结果输出显示;
- 保存和浏览历史运算记录; 能够检验算术表达式的合法性
- 能够实现混合运算的求解,算术表达式中包括加、减、乘、除、括号等运算符;
- 要求交互界面友好,程序健壮
二、开发工具
- 编程语言:java
- 开发工具:IDEA
- 类库:javaGUI
三、实验原理
1.后缀表达式计算法
前缀表达式
即是所有运算符在操作数前面。
中缀表达式
中缀表达式就是常见的运算表达式
中缀表达式对人来说是最熟悉的,但是对应计算机来说,是比较难算的,因为要比较运算符的优先级,所以一般将中缀表达式转化为后缀表达式。
后缀表达式
运算符在操作数后面
中缀表达式转换为后缀表达式
从左向右依次读取算术表达式的元素X,分以下情况进行不同的处理:
(1)如果X是操作数,直接入队
(2)如果X是运算符,再分以下情况:
(a)如果栈为空,直接入栈。
(b)如果X==”(“,直接入栈。
(c)如果X==”)“,则将栈里的元素逐个出栈,并入队到后缀表达式队列中,直到第一个配对的”(”出栈。(注:“(”和“)”都不 入队)
(d)如果是其他操作符(+ - * /),则和栈顶元素进行比较优先级。 如果栈顶元素的优先级大于等于X,则出栈并把栈中弹出的元素入队,直到栈顶元素的优先级小于X或者栈为空。弹出完这些元素后,才将遇到的操作符压入到栈中。
(3)最后将栈中剩余的操作符全部入队。
后缀表达式的计算
首先准备一个栈Res_Stack.
1、从左开始向右遍历后缀表达式的元素。
2、如果取到的元素是操作数,直接入栈Res_Stack,如果是运算符,从栈中弹出2个数进行运算,然后把运算结果入栈
3、当遍历完后缀表达式时,计算结果就保存在栈里了。
四、流程图
五、参考资料
【CSDN】栈的三种表达式(前缀、中缀、后缀)(12条消息) 计算机软件技术实习项目一(一) 简易计算器项目准备_杰克·奈皮尔的博客-CSDN博客
(12条消息) Java实现简易计算器_Nannie7的博客-CSDN博客_简易计算机java代码
总结
本次预习主要学习了简易计算机项目的实验要求,实验原理,整体实验流程,下一个文章会将具体代码实现写出来。