目录
一、需求分析
二、重难点
三、编程语言
四、开发工具/平台
一、需求分析
1. 能通过设计的按钮控件输入并实现算术表达式,表达式在文本框中显示,运算结果输出显示;
2.保存和浏览历史运算记录;
3.能够检验算术表达式的合法性;
4.能够实现混合运算的求解,算术表达式中包括加、减、乘、除、括 等运算符;
5.要求交互界面友好,程序健壮。
二、重难点
JS代码实现请访问:
1.中缀表达式->后缀表达式
基于堆栈的算法:从左到右扫描每一个字符。
(1)如果扫描到的字符是操作数(如a、b等),就直接输出这些操作数。
(2)如果扫描到的字符是一个操作符,分三种情况:
①如果堆栈是空的,直接将操作符存储到堆栈中(push it)
②如果该操作符的优先级大于堆栈出口的操作符,就直接将操作符存储到堆栈中(push it)
③如果该操作符的优先级低于堆栈出口的操作符,就将堆栈出口的操作符导出(pop it), 直到该操作符的优先级大于堆栈顶端的操作符。将扫描到的操作符导入到堆栈中(push)。
(4)如果遇到的操作符是左括 ”(”,就直接将该操作符输出到堆栈当中。该操作符只有在遇到右括 “)”的时候移除。这是一个特殊符 该特殊处理。
(5)如果扫描到的操作符是右括 “)”,将堆栈中的操作符导出(pop)到output中输出,直到遇见左括 “(”。将堆栈中的左括 移出堆栈(pop )。继续扫描下一个字符
(6)如果输入的中缀表达式已经扫描完了,但是堆栈中仍然存在操作符的时候,我们应该讲堆栈中的操作符导出并输入到output 当中。
2.后缀表达式的计算。
堆栈法计算后缀表达式的值
(1)从左到右扫描后缀表达式字符串
(2)初始化一个空栈
(3)如果扫描到数字,那么就直接入栈
(4)如果被扫描的字符是一个二元运算符,那么就连续出栈两次,获得两个字符,元素出栈后,应用运算符进行计算,并将结果压栈
(5)重复3)和4)的操作,直至扫描完字符串
(6)扫描完所有字符串之后,栈中只剩一个元素,该元素就是最终结果,将其出栈并返回。
三、编程语言
html、css、JavaScript
四、开发工具/平台
微信开发者工具
文章知识点与官方知识档案匹配,可进一步学习相关知识小程序技能树首页概览3702 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!