![](https://lstatic.shangxueba.com/sxbzda/h5/images/m_q_title.png)
3。给出正则表达式表示字母表{a,b}上的符号串,但符号串不能包含两个相邻的a,也不能包含两个相邻的b.
![](https://lstatic.shangxueba.com/sxbzda/h5/images/tips_org.png)
第3题
【说明】
本流程图是将中缀表示的算术表达式转换成后缀表示。如中缀表达式
(A-(B*C+D)*E)/(F+G))
的后缀表示为
ABC*D+E*-FG+/
为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达是非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下:
数组 IN[]存储中缀表达式;
数组 POLISH[]存储其后缀表达式;
数组 S[]是一个后进先出栈;
函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级见表2:
填充流程图中①的判断条件。
第4题
后缀表达式 Description 为了便于处理表达式,常常将普通表达式(称为中缀表示)转换为后缀{运算符在后,如X/Y写为XY/表达式。在这样的表示中可以不用括号即可确定求值的顺序,如:(P+Q)*(R-S) → PQ+RS-*。后缀表达式的处理过程如下:扫描后缀表达式,凡遇操作数则将之压进堆栈,遇运算符则从堆栈中弹出两个操作数进行该运算,将运算结果压栈,然后继续扫描,直到后缀表达式被扫描完毕为止,此时栈底元素即为该后缀表达式的值。 输入一个中缀表达式,编程输出其后缀表达式,要求输出的后缀表达式的运算次序与输入的中缀表达式的运算次序相一致。为简单起见,假设输入的中缀表达式由+(加)、-(减)、×(乘)、/(除)四个运算符号以及左右圆括号和英文字母组成,其中算术运算符遵守先乘除后加减的运算规则。假设输入的中缀表达式长度不超过200个字符,且都是正确的,即没有语法错误,并且凡出现括号其内部一定有表达式,即内部至少有一个运算符号。 Input 若干行,每行对应一个中缀表达式 Output 若干行,每行对应一个由中缀表达式转换而来的后缀表达式 Sample Input X+A*(Y-B)-Z/F A+B*C+(D*M-N)+(S-T)*Y A-B*C+(D-E*F)/G Sample Output XAYB-*+ZF/- ABC*+DM*N-+ST-Y*+
第5题
A.a:线路符号或线路功能的符号
B.f:导线截面积,不同截面积应分别表示
C.g:线路敷设方式的符号
D.h:导线根数
E.e:导线根数
第6题
A、文法G的字母表中的所有符号组成的符号串
B、文法G的字母表的闭包*中的所有符号串
C、文法G的识别符号推出的所有符号串
D、文法G的识别符号推出的所有终结符号串
第7题
阅读以下说明和流程图(如图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
第9题
A.a——线路编号或线路功能的符号
B.f——导线截面积,不同截面积应分别表示
C.g——线路敷设方式的符号
D.h——导线根数
E.e——导线根数
第10题
A. 文法 G 的字母表 V 中所有符号组成的符号串
B. 文法 G 的字母表 V 的闭包 V* 中的所有符号串
C. 由文法的开始符号推出的所有终极符串
D. 由文法的开始符号推出的所有符号串
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!