Question: Your task is to add this capability to a recursive function calculating Fibonacci numbers. We can add a parameter to a recursive function to tell

Your task is to add this capability to a recursive function calculating Fibonacci numbers.

We can add a parameter to a recursive function to tell it what its depth of recursion is. The top level call is at depth (or level) 0. When a function executing at level k calls itself, that function call is at level k + 1. The trace messages are written to the standard output with an indentation proportional to the call level.

I have given an example adding the self-tracing feature to a function computing n! (n factorial). See RecFact.java posted on Isidore. You are also provided with the code for a method computing the Fibonacci numbers.

Modify the Fibonacci number computing program to add the self-tracing feature.

Modify the following code

 final static Scanner cin = new Scanner(System.in); public static void main(String[] args) { out.println("CPS 151 In-class assignment 3 by ___ your name here ___ "); out.print("Enter n: "); int n = cin.nextInt(); long f = fib(n); out.println(" fib(" + n + ") = " + f); out.println(" CPS 151 In-class assignment 3 complete"); } // end main // standard fibonacci number computation using recursion static long fib(int n) { if (n < 0) terminate("Negative argument value not allowed, program ended"); if (n <= 1) return n; else return fib(n - 1) + fib (n - 2); } // end fib private static void indent(int level) { for(int Lcv = 1; Lcv <= level; Lcv++) out.print(" "); } // end indent private static void terminate(String errorMessage) { out.println(errorMessage); System.exit(1); } // end terminate

to get the following output

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!