Method named eval that evaluates a non-empty expression tree

Assignment Help Basic Computer Science
Reference no: EM13819406

Programming Project: Expression Trees

This project is adapted from Project 1 of Chapter 9 of the textbook. It deals with a simple kind of expression trees, in which there are two kinds of nodes:

(a) Leaf nodes, which contain a real number as their clement; and

(b) Non-leaf nodes, which have exactly two children and contain one of these characters as their element: +, -, * and /. These characters represent arithmetic operations and have usual interpretations.

Implement a class for expression trees with these operations:

(a) A constructor that builds an expression tree. It accepts a String that represents a grammatically correct expression as its sole input. Hint: refer to a previous assignment on evaluating expressions.

(b) A recursive method named eval that evaluates a non-empty expression tree using these rules:

i. If the tree has only one node (which must be a leaf), then eval returns the real number that is the node's clement;

ii. If the tree has more than one node and the root contains op where op is one of +, -, * and /, then eval first evaluates the sub-trees of the root and returns the real number obtained by performing operation op on the results from evaluating the sub-trees.

(c) A recursive method named infix that output the expression represented by a non-empty expression tree to a String in infix format.

(d) A recursive method named postfix that outputs the expression represented by a non-empty expression tree in postfix format.

You also need to write another class that applies the operations of the above class.

Please submit

1. Analysis: test data;
2. Design:

  • A class invariant for each class;
  • Pre/Post conditions for required operations;
  • Algorithms for required operations.

3. Code;
4. Screen snapshots of test runs. 

Reference no: EM13819406

Questions Cloud

What purposes do visual aids serve : What purposes do visual aids serve? Why are they critical for both local and international audiences? How do you keep your audience engaged?
Estimated the amount of cash needed to start the business : Thoroughly suggested at least three (3) strategies to incentivize the founding management team. Thoroughly estimated the amount of cash needed to start the business. Provide a rationale to support your estimation
Plumbing to replace the bathtubs and ?xtures : Mechanic’s Lien. Grant is the owner of a relatively old home valued at $45,000. He notices that the bathtubs and ?xtures in both bathrooms are leaking and need to be replaced. He contracts with Jane’s Plumbing to replace the bathtubs and ?xtures. Jan..
Question regarding the various allocation methods : From your text and at least one scholarly source, describe how service center costs are allocated using the various allocation methods.
Method named eval that evaluates a non-empty expression tree : Implement a class for expression trees with these operations: (a) A constructor that builds an expression tree. It accepts a String that represents a grammatically correct expression as its sole input. Hint: refer to a previous assignment on evaluati..
Identify the business actors : Identify the business actors
Inventory management problem : Select an inventory management problem that applies to your work or personal life.

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

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