1. Engineering
  2. Computer Science
  3. a objects amp clasess 15 points a numeric progression is...

Question: a objects amp clasess 15 points a numeric progression is...

Question details

(a) Objects & clasess (1.5 points)

A numeric progression is a sequence of numbers, where each number depends on one or more of previous numbers.

Design and implement two classes that define arithmetic and geometric progression.

Start by defining a parent class called Progression. This class should contain
the following instance variables :
• first – first value of the progression
• cur – current value of the progression
Both variables should be initialized with values passed into the constructor .

Progression should also have three methods:
• firstValue() – Reset the progression to the first value, and return that value .
• nextValue() -Step the progression to the next value and return that value.

• printProgression(n) – Reset the progression and print the first n values of progression.

Two classes should inherit from Progression:

  • ArithProgression that defines and prints out an arithmetic progression, where the next value is determined by adding a fixed increment to the previous value. Set the default increment to 1 in the default constructor. Provide setinc() method to set the increment value.
  • GeomProgression that steps and prints out a geometric progression, where the next value is determined by multiplying the previous value by a fixed base. Set the default base to 2 in the default constructor. Provide setbase() method to set the base value.

Test the classes in a Driver class . In the Driver class ,

  • Print out the 10 Arithmetic progression with default increment and increment by 5 using constructor. Use setinc method to set increment by 10 and print out 10 Arithmetic progression also.

Print out the 10 Geometric progression with default base, base equal to 3 by using constructor. Use setbase method to set base equal to 5 and print out 10 Geometric progression also.

Solution by an expert tutor
Blurred Solution
This question has been solved
Subscribe to see this solution