阅读以下说明和流程图(如图1所示),回答问题1至问题4。
【说明】
本流程图是将中缀表示的算术表达式转换成后缀表示。如中缀表达式
(A-(B*C+D)*E)/(F+G))
的后缀表示为
ABC*D+E*-FG+/
为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达是非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下:
数组 IN[]存储中缀表达式;
数组 POLISH[]存储其后缀表达式;
数组 S[]是一个后进先出栈;
函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级见表2:
填充流程图中①的判断条件。
第1题:
● 算术表达式采用逆波兰式表示时不用括号,可以利用 (20) 进行求值。与逆波兰式 ab-cd+* 对应的中缀表达式是 (21) 。
(20)
A .数组
B .栈
C .队列
D .散列表
(21)
A.a-b+c*d
B.(a_b)*c+d
C.(a-b)*(c+d)
D.a-b*c+d
第2题:
●试题一
阅读以下说明和流程图(如图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
第3题:
第4题:
第5题:
第6题:
第7题:
算术表达式采用逆波兰式表示时不用括号,可以利用(1)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(2)。空白(1)处应选择()
第8题:
中缀表达式3*(X+2)-5所对应的后缀表达式为()。
第9题:
算术表达式(a-b)*c+d的后缀式是()(+、-、*表示算术的加、减、乘运算,运算符的优先级和结合性遵循惯例)。
第10题:
第11题:
数组
栈
队列
散列表
第12题:
第13题:
阅读以下说明和图4-6,回答问题1至问题4。
【说明】
本流程图(如图4-6所示)是将中缀表示的算术表达式转换成后缀表示。如中缀表达式 (A-(B*C+D)*E)/(F+G)的后缀表示为ABC*D+E*-FG+/。为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达式非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下。
. 数组IN[]存储中缀表达式。
. 数组POLISH[]存储其后缀表示。
. 数组S[]是一个后进先出栈。
函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级如表4-4所示。
填充流程图中①的判断条件。
第14题:
第15题:
第16题:
第17题:
第18题:
第19题:
中缀表达式A-(B+C/D)*E的后缀表达式形式是()。
第20题:
后缀算术表达式24 8 + 3 * 4 10 7 - * /所对应的中缀算术表达式为(),其值为()。
第21题:
bc–d*a+
abc–d*+
ab–c*d+
abcd–*+
第22题:
-A+B*C/DE
-A+B*CD/E
-+*ABC/DE
-+A*BC/DE
第23题:
AB-C+D/E*
ABC+D/-E*
ABCD/E*+-
ABCD/+E*-