书接上回,还剩下三元式,四元式,逆波兰式以及代码优化没有写。
16.逆波兰式,三元式,四元式的书写
知识点:转移操作有四个:BL转向某标号(用的少)BT条件为真转 BF条件为假转 BR无条件转
16.1逆波兰式的书写
做题思路:
就是运算符在操作数的后面,比如 a-b的逆波兰式就是ab-,长一点的就是 (7 - 4) * 2,对应的逆波兰式为:7 4 - 2 * 。要注意的是,计算逆波兰式要根据优先级来计算,像是先小括号,在乘除在加减,要注意顺序。
要注意的是逆波兰表示时前面的序号与逆波兰式长度有关,一个字母或者一个符号表示一个长度。
条件语句的逆波兰式表示
注意:每一次进行判断后,后面紧跟的一句必定是BF跳转,跳转语句后接着是判断为true的执行语句。你可以这样想,你写的这个语句就相当于是这个程序的执行顺序,它每一句的执行都是符合逻辑的,你如果条件判断正确是不会执行条件判断错误时的语句的,同理相反也是一样的。所以在你写完你的句子时,你可以附一个初值自己执行一下自己写的,看会不会走到不该执行的语句上,如果没有证明你的句子写对了。按照这样的逻辑写,写这些语句就不会生搬硬套了,写的也就更快更准确了。不止条件语句的书写,像程序段,循环语句的逆波兰式表示,甚至是三元式四元式的书写也是这样的,只要按着执行的逻辑去书写,就会下笔如有神了。当然基本的书写格式要掌握!
程序段的逆波兰式表示
循环语句的逆波兰式表示
这块要注意的是,因为是循环语句,所以只有条件判断为假时才跳出循环,并且每次执行过后要记得判断条件要自增(i++),然后无条件BR跳转到判断语句那块,同样的ÿ