Evaluate the expression and print the result

Assignment Help Computer Engineering
Reference no: EM132212152

Write in PYTHON

For this assignment you will read a file expression.txt and create an expression tree. The expression will be a valid infix expression with the all the necessary parentheses so that there is no ambiguity in the order of the expression.

You will evaluate the expression and print the result.

You will also write the prefix and postfix versions of the same expression without any parentheses.

In an expression tree the nodes are either operators or operands. The operators will be in the set ['+', '-', '*', '/']. The operands will be either integers or floating point numbers. All the operand nodes will be leaves of the expression tree. All the operator nodes will have exactly two children.

The outline of your program will be as follows:

class Stack (object): class Node (object): class Tree (object): def __init__ (self): def createTree (self, expr): def evaluate (self, aNode): def preOrder (self, aNode): def postOrder (self, aNode): def main(): main()

The function createTree() will take as input parameter an infix expression with parentheses as a String and create an Expression Tree from it. Assume that the expression string is valid.

You will take the expression string and break it into tokens. There are four different kinds of tokens - left parenthesis, right parenthesis, operator, and operand. When we read a left parenthesis we are starting a new expression and when we read a right parenthesis we are ending an expression. Here is the algorithm that you will use:

If the current token is a left parenthesis add a new node as the left child of the current node. Push current node on the stack and make current node equal to the left child.

If the current token is an operator set the current node's data value to the operator. Push current node on the stack. Add a new node as the right child of the current node and make the current node equal to the right child.

If the current token is an operand, set the current node's data value to the operand and make the current node equal to the parent by popping the stack.

If the current token is a right parenthesis make the current node equal to the parent node by popping the stack if it is not empty.

For the input expression, this is what your program will output:

( ( 8 + 3 ) * ( 7 - 2 ) ) = 55 Prefix Expression: * + 8 3 - 7 2 Postfix Expression: 8 3 + 7 2 - *

Reference no: EM132212152

Questions Cloud

Calculate the amount of money a person would earn : Design a program that calculates the amount of money a person would earn over a period of time if his or her salary is one peeny the first day.
What are the detailed characteristics of the data : What are the detailed characteristics of the data (use summary statistics to explain)? How can MapReduce be used to solve the problem
Write a python 3 program-containing 2 functions : Create a FUNCTION called createMenu that creates a STRING which will produce the following output when printed by the main program.
Define mechanisms were in-place to protect against intrusion : Search "scholar.google.com" for a company, school, or person that has been the target of a network or system intrusion? What information was targeted?
Evaluate the expression and print the result : For this assignment you will read a file expression.txt and create an expression tree. Evaluate the expression and print the result.
Implement euclids extended algorithm : Write PYTHON code which implements Euclid's Extended Algorithm. A sample run of the program would look.
Describe your first experience with a computer : Please describe your first experience with a computer and with use of the internet. Minimum 250 words. The response must be typed, single spaced.
What are the steps involved in designing product : What the different manufacturing process types and their applications in business organisations. What are the steps involved in designing a product
Briefly explain the provider primary cloud function : Briefly explain the provider's primary cloud function-what advantages might the organization have over another organization that provides the same product.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd