Prefix-Postfix-Expression

Question 1
The postfix expression for the infix expression A+B+(C+D)/F+D+E is
A
AB+CD+ *F/D+E*
B
ABCD+ *F/+ DE* +
C
A*B+CD/F+DE++
D
None of these
Question 1 Explanation: 
The given infix expression is,
(A + B + (C + D))/ (F + D + F)
⇒ Push ‘(’

⇒ Read A

⇒ Push ‘+’

⇒ Read B

⇒ Since ‘+’ is Left associative, so ‘+’ in stack will have higher procedure then the current ‘+’, hence pop it,

⇒ Push ‘+’

⇒ Push ‘(’

⇒ Read C

⇒ Push ‘+’

⇒ Read D,

⇒ Now on looking ‘)’ we will pop all the operators till first ‘(‘,

⇒ Pop

⇒ Push /

⇒ Push ‘(’

⇒ Read F,

⇒ Push ‘+’

⇒ Read D,

⇒ Since + is left associative, so pop ‘+’,

⇒ Push up

⇒ Read E,

⇒ Since ‘(’ came so pop till ‘)’,

⇒ Pop ‘/’

Hence, postfix expression is,
AB + CD ++ FD ++ E +/
Question 2
The prefix equivalent of the following infix expression is: a / b - c + d * e - a * c
A
- + - / a b c * d e * a c
B
+ - - / a b c * d e * a c
C
- + / a b c - * d e * a c
D
- - + / a b c * d e * a c
Question 2 Explanation: 
a / b - c + d * e - a * c
* Start scanning the expression from RHS. * Push the operators on the top of the stack by ensuring that only high priority operator can be pushed over a low priority operator.
* If a low priority operator is encountered in expression while scanning it, and if top of stack have high priority operator then pop it and after that push low priority operator on top of stack.
* Print each operand just after scanning it.





Question 3
Convert the prefix expression to infix
-*+ABC*-DE+FG
A
(A-B)*C+(D*E)-(F+G)
B
(A+B)*C-(D-E)*(F-G)
C
(A+B-C)*(D-E)*(F+G)
D
(A+B)*C-(D*E)-(F+G)
E
None of the above
Question 3 Explanation: 
Prefix: -*+ABC*-DE+FG
Read the Prefix expression in reverse order (from right to left)
GF+ED-*CBA+*-
If the symbol is an operand, then push it onto the Stack
If the symbol is an operator, then pop two operands from the Stack
Create a string by concatenating the two operands and the operator between them.
string = (operand1 + operator + operand2)
And push the resultant string back to Stack

=>
C*(A+B)-(D-E)*(F+G)
which is equivalent to =>
(A+B)*C-(D-E)*(F+G)
Question 4
The value of the postfix expression abc*de+/- where a=20, b=3, c=4, d=1 and e=5 is
A
134
B
-22
C
48
D
18
Question 4 Explanation: 
Here we will start traversing the expression from left to right and if an operand is encountered then it will be pushed on the top of stack and if an operator is encountered then top two elements will be popped off from the top of stack and current operator is applied on those two operands and then in the end the result of operation will be pushed back on the top of stack. This procedure continues till the whole expression is traversed.


Step: 7
Hence option 4 is the correct answer.
There are 4 questions to complete.

Access quiz wise question and answers by becoming as a solutions adda PRO SUBSCRIBER with Ad-Free content

Register Now

If you have registered and made your payment please contact solutionsadda.in@gmail.com to get access