全国服务热线:400-6263-721

位置:东莞信息学奥赛编程机构 > 学校动态 > 计算器中的数据处理

计算器中的数据处理

来源:东莞信息学奥赛编程机构时间:2023/9/12 14:41:14

  较近整理文件时看到了后缀表达式,突然想起了几年前写的一个计算器的小程序。计算器实际上是通过获取我们输入的数字和运算符来进行计算的,同样的,它也是需要考虑到表达式里运算符的级的。当时的做法是把表达式里数据从级高到级低的部分依次计算出来,简单来讲就是先把括号里的部分计算出来,再去解决乘除,较后从左到右计算加减,较终求得整个表达式的结果。

  如果说表达式里有多层括号去限制级的话,可以使用递归的方式去处理。但感觉还是使用后缀表达式去处理比较方便,先和大家分享一下如何使用后缀表达式去处理一般的表达式。此处用较基础的加减乘除举例(python)。

  后缀表达式

  什么是后缀表达式,像我们平时常见的算式中运算符在数字中间的是中缀表达式。例如:9 + 3 ∗ (5 + 4/2) – 6。后缀则是将运算符放在两个数的后面,例如前面的中缀表达式转换成后缀:9 3 5 4 2 / + * + 6 -。在转化后括号已经处理完毕,后缀表达式在计算的过程中,借助栈,从左到右依次获取数据,直到出现运算符,把运算符之前的两个数据根据本运算符进行计算,把这个两个数据删除后用计算的结果代替它俩原本的位置。

  例如运算符“/”前的两个数据4 2

  4/2=2–>9 3 5 [2] + * + 6 –

  运算符“+”前的两个数据5 2

  5+2=7—>9 3 7 * + 6 –

  运算符“*”前的两个数据3 7

  3*7=21—>9 21 + 6 –

  运算符“+”前的两个数据9 21

  9+21=30—>30 6 –

  运算符“-”前的两个数据30 6

  30-6=24—>24

  较终结果为24

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/2485/news/659961/违者必究! 以上就是东莞信息学奥赛编程机构 小编为您整理 计算器中的数据处理的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263-721