早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

●试题一 阅读以下说明和流程图(如图1所示),回答问题1至问题4,将答案写在答卷的对应栏内。 【说明

题目

●试题一

阅读以下说明和流程图(如图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

参考答案
正确答案:
●试题一[问题1]【答案】PRIOR(IN[i]):PRIOR(S[p])[问题2]【答案】功能:将当前符号IN[i]入栈操作:p+1->pIN[i]->S[p][问题3]【答案】功能:出栈操作:k+1->kS[p]->POLISH[k]p-1->p[问题4]【答案】AB+CD*-EF-*G/【解析】本题考查栈的使用和中序表达式与后缀表达式的互换。
看了●试题一 阅读以下说明和流程图...的网友还看了以下: