### Generate and display the polynomial

Assignment Help JAVA Programming
##### Reference no: EM131064978

Consider the polynomials with integer coefficients and positive integer exponents:

P(x) = a0 * x0 + a1 * x1 + ... + an-1 * xn-1

For programming purposes, a polynomial is represented as an array of integers. The array cell of index i corresponds to the polynomial coefficient ai, where i represents the exponent of the variable x.

For example, if the polynomial is P(x) = 2 * x3 - 9 * x2 + 0 * x1 + 8 * x0, its representation as an array of size 4 is shown below:

 8 0 -9 2 0 2 2 3

Consider the problem of calculating the polynomial value for an integer value of its variable x.

As an example, for the above polynomial and for x = 2, the value of P(2) is -12.

a) Design and write the methods calculateBruteForce and calculateHorner for calculating the polynomial value for an integer value of x by using the brute force approach and respectively Horner's technique. Each method should take two parameters: the array of coefficients representing the polynomial and the value of x.

When implementing calculateBruteForce method, define and invoke your own method for raising x to a given power by using repetitive multiplications, instead of invoking a predefined method such as the Math.pow().

(a1) By analyzing the code, determine and indicate time complexity for each of the two methods in terms of Big-O notation.

(a2) Which of the two methods would perform better in terms of execution time? Explain.

b) Write a driver program PolyVal.java to validate the conclusions drawn from question a2). Consider a polynomial with 10 terms whose coefficients are stored in an integer array and are randomly generated in the interval -9 .. 9. Implement the following actions:

(b1) Generate and display the polynomial.

(b2) Generate and display a random integer value x in the interval 1 .. 9.

(b3) Invoke the two methods and display the polynomial value returned by each method for the x value generated at (b2).

(b4) Measure and display the execution time of the two methods as the arithmetic mean value of 1010 executions. Use the method System.nanoTime() for determining the execution time. Discuss the obtained results. Are the results in line with your answer to question a?

Note. Due to the behavior of the JVM and JIT compiler, the execution time of the repeated programs is much slower the first times they are run and therefore make sure to discard the measured values for the initial 10 runs.

Submission requirements

Submit the following before the due date listed in the Calendar:

1. The source file PolyVal.java.

The source code should use Java code conventions and professional code layout regarding white space management, indents and comments.

2. The Solution description document <YourSecondName>_HW1 (.pdf or .doc / .docx) containing:

(2.1) assumptions, main design decisions, error handling; (2.2) test cases and two relevant screenshots; (2.3) the answer and discussion required by questions a2) and b4); (2.4) lessons learned and (2.5) possible improvements. The size of the document file (including the screenshots) should be of two pages, single spaced, font size 10.

#### Display all of the elements of the arraylist

Once the user does this (hits enter without typing anything), the program will display all of the elements of the ArrayList, both the index and String values, in a table. It

#### Create a uml class diagram for a survey class

Create a UML Class Diagram for a Survey class, using the application of your choice. Suggested applications are Visio, Word, Excel or Visual Paradigm. The following are requ

#### Write codes in those languages that communicate

You will practice network programming using sockets. Sockets are tools for connecting two programs together so that they can talk to each other - They are available in many p

#### Modify the java application using java netbeans and ide

Modify the Java application using Java NetBeans IDE to meet these additional and changed business requirements: The company has recently changed its total annual compensatio

#### Text file containing the data

This program should begin by asking the user for the name of a text file containing the data. Then read the data which will be a line containing the dimensions of a 2 dimens

#### Make the transcript interactive with the given video

You will use jQuery and JWPlayer to to add a video to this page, and make the transcript interactive with the video. The file at js/transcript.js has a framework "stubbed ou

#### Implement a stack class

The backtracking algorithm needs a stack, you should implement a stack class. Each item in the stack is the position of a cell in the maze --- that is, the row and column nu

#### Rewrite this code in order to ask the user for input

rewrite this code in order to ask the user for input and then coverth it from infex to postfix ,, so i want to put a Scanner and this ask the user for input .. how to do it ?