●试题一
阅读以下说明和流程图(如图1所示),回答问题1至问题4,将答案写在答卷的对应栏内。
【说明】
本流程图是将中缀表示的算术表达式转换成后缀表示。如中缀表达式
(A-(B*C+D)*E)/(F+G))
的后缀表示为
ABC*D+E*-FG+/
为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达是非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下:
数组IN[]存储中缀表达式;
数组POLISH[]存储其后缀表达式;
数组S[]是一个后进先出栈;
函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级见表2:
【问题1】
填充流程图中①的判断条件。
【问题2】
写出子程序A的功能,并顺序写出实现该功能的操作
【问题3】
写出子程序B的功能,并顺序写出实现该功能的操作。
【问题4】
中缀表达式
(A+B-C*D)*(E-F)/G
经该流程图处理后的输出是什么?
【流程图】
图1