计算机软件技术实习 项目一 简单计算器的实现(实验准备)1-(1)

目录

一、需求分析

二、重难点

三、编程语言

四、开发工具/平台


一、需求分析

       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进行处理,非常感谢!

上一篇 2021年10月22日
下一篇 2021年10月22日

相关推荐