Python Programming: An Introduction to Computer Science, 3rd Ed.
3rd Edition
ISBN: 9781590282755
Author: John Zelle
Publisher: Franklin, Beedle & Associates
expand_more
expand_more
format_list_bulleted
Question
Chapter 13, Problem 1PE
Program Plan Intro
Fibonacci
- Define a function named “fib()”.
- Print a statement “Computing fib({})”.
- If condition “n<3” is true.
- Return a value “1”.
- If the condition is false
- Print a statement "Leaving fib({0}), returning {1}"
- Return the values
- Call the function “fib()”.
- Print the result.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
The Binary Search algorithm works by testing a mid-point, then eliminating half of the list.
In this exercise, you are going to take our binary search algorithm and add print statements so that you can track how the search executes.
Inside of the recursive binary search function, add print statements to print out the starting, ending, and midpoint values each time.
Then as you test a value, print out the results, either too high, too low, or a match.
Sample Output
Starting value: 0
Ending value: 9
Testing midpoint value: 4 Too high!
Starting value: 0
Ending value: 3
Testing midpoint value: 1 Too low!
Starting value: 2
Ending value: 3
Testing midpoint value: 2 Match!
public class BinaryExplorer {
public static void main(String[] args) {int[] testArray = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
binaryRec(testArray, 8, 0, testArray.length - 1);
}
/*** Add Print statements to the binaryRec method:* * Print Starting, ending, and midpoint values.* * Print when you find a match* * Print if you are…
The Binary Search algorithm works by testing a mid-point, then eliminating half of the list.
In this exercise, you are going to take our binary search algorithm and add print statements so that you can track how the search executes.
Inside of the recursive binary search function, add print statements to print out the starting, ending, and midpoint values each time.
Then as you test a value, print out the results, either too high, too low, or a match.
Sample Output
Starting value: 0 Ending value: 9 Testing midpoint value: 4 Too high! Starting value: 0 Ending value: 3 Testing midpoint value: 1 Too low! Starting value: 2 Ending value: 3 Testing midpoint value: 2 Match!
Write a recursive function that takes as a parameter a nonnegative integer and generates the following pattern of stars. If the nonnegative integer is 4, then the pattern generated is:********************Also, write a program that prompts the user to enter the number of lines in the pattern and uses the recursive function to generate the pattern. For example, specifying 4 as the number of lines generates the above pattern.
Chapter 13 Solutions
Python Programming: An Introduction to Computer Science, 3rd Ed.
Ch. 13 - Prob. 1TFCh. 13 - Prob. 2TFCh. 13 - Prob. 3TFCh. 13 - Prob. 4TFCh. 13 - Prob. 5TFCh. 13 - Prob. 6TFCh. 13 - Prob. 7TFCh. 13 - Prob. 8TFCh. 13 - Prob. 9TFCh. 13 - Prob. 10TF
Ch. 13 - Prob. 1MCCh. 13 - Prob. 2MCCh. 13 - Prob. 3MCCh. 13 - Prob. 4MCCh. 13 - Prob. 5MCCh. 13 - Prob. 6MCCh. 13 - Prob. 7MCCh. 13 - Prob. 8MCCh. 13 - Prob. 9MCCh. 13 - Prob. 10MCCh. 13 - Prob. 1DCh. 13 - Prob. 2DCh. 13 - Prob. 3DCh. 13 - Prob. 4DCh. 13 - Prob. 5DCh. 13 - Prob. 1PECh. 13 - Prob. 2PECh. 13 - Prob. 3PECh. 13 - Prob. 4PECh. 13 - Prob. 5PECh. 13 - Prob. 6PECh. 13 - Prob. 7PE
Knowledge Booster
Similar questions
- Write a recursive function that takes as a parameter a nonnegative integer and generates the following pattern of stars. If the nonnegative integer is 4, the pattern generated is as follows: **** *** ** * * ** *** **** Also, write a program that prompts the user to enter the number of lines in the pattern and uses the recursive function to generate the pattern. For example, specifying 4 as the number of lines generates the preceding pattern.arrow_forwardWrite a recursive function called that takes a string of single names separated by spaces and prints out all possible combinations (permutations), each combination on a new line. When the input is: Alice Bob Charlie then the output is: Alice Bob Charlie Alice Charlie Bob Bob Alice Charlie Bob Charlie Alice Charlie Alice Bob Charlie Bob Alice Here is my original code that needs to be fixed: def all_permutations(permList, nameList): # TODO: Implement method to create and output all permutations of the list of names. if nameList == len(permList) - 1: return nameList else: for x in range(permList, len(nameList)): permList[nameList], permList[x] = permList[x], permList[name_List] return all_permutations(permList, nameList + 1) permList[nameList], permList[x] = permList[x], permList[name_List] if __name__ == "main": nameList = input().split(' ') permList = [] all_permutations(permList, nameList)arrow_forwardcreate a function named powerHalf(x, n), where this function is recursive like power(x, n), but it also uses the idea that xn = (x n/2)2 when n is even. Use the global variable countcalls to verify that this version of the power function is more efficient than power(x,n), where n is 0 or a positive integer with the base case that: xn = x * xn-1 use python pleasearrow_forward
- Computer scientists and mathematicians often use numbering systems other than base 10. Write a program that allows a user to enter a number and a base and then prints out the digits of the number in the new base. Use a recursive function baseConversion (num, base) to print the digits. Hint: Consider base 10. To get the rightmost digit of a base 10 number, simply look at the remainder after dividing by 10. For example, 153 % 10 is 3. To get the remaining digits, you repeat the process on 15, which is just 153 // 10. This same process works for any base. The only problem is that we get the digits in reverse order (right to left). The base case for the recursion occurs when num is less than base and the output is simply num. In the general case, the function (recursively) prints the digits of num // base and then prints num % base. You should put a space between successive outputs, since bases greater than 10 will print out with multi-character "digits." For example, baseConversion(1234,…arrow_forwardWrite a recursive fibonacci (n) function with an expression body. The function should return an Int; it will be too slow to deal with inputs whose fibonacci numbers are too large anyway. You do *not* need to use memoization. Note that: fibonacci(0) = 0 fibonacci(1) = 1 fibonacci(n, where n is greater than 1) = fibonacci(n-2) + fibonacci(n - 1)arrow_forwardFor function decToBinary, write the missing parts of the recursion case. This function should return a string that stores the binary equivalent for int variable num. Example: The binary equivalent of 13 may be found by repeatedly dividing 13 by 2. So, 13 in base 2 is represented by the string "1101". Examples: decToBinary(13) -> "1101" public String decToBinary (int num) { if (num < 2) return Integer.toString(num); else return <<Missing recursive call>> + <<Missing calculation>>;}arrow_forward
- Download the file Ackermann.cpp. Inside the file the recursive Ackermann function is implemented (described in Chapter 14 Programming Challenge 9). Do the following and answer the three questions: a) Run the program. What happens?b) Now uncomment the code that is commented out and run the program again. What happens now?c) What do you think is going on?arrow_forwardUsing recursion, write a Python function def countOdds(A) which which takes an array of integers A as input and returns the number of elements in the array that are odd. For example, if A is [1,2,5,3,6,5,3,5,5,4] the the function should return 7. If A is empty then it should return 3. Hint: To check if n is odd it suffices to check if dividing it by 2 gives remainder 1 (in Python, this remainder is calculated by n%2).arrow_forwardThis is for Java Write a recursive function that takes as a parameter a nonnegative integerand generates the following pattern of stars. If the nonnegative integer is 4,then the pattern generated is:**********Also, write a program that prompts the user to enter the number of lines inthe pattern and uses the recursive function to generate the pattern. Forexample, specifying 4 as the number of lines generates the above pattern. Java pleasearrow_forward
- Part I Implement the Fibonnaci SequenceOne of this week’s quiz questions referred to the Fibonnaci sequence. This sequence of numbers is definedsuch that the nth number of the sequence is simply the sum of the two previous numbers in the sequence. Informal terms, Fn = Fn1 + Fn2, where Fnis the nth Fibonnaci number. Write a function in recursion.py, calledfibonnaci, which will accept one integer parameter (lets call it n) and returns the nth element of the Fibonnacisequence.Part II Implement Euclid’s GCD AlgorithmThe greatest common divisor, or GCD, of two integers is the largest number that divides both of them withno remainder. Euclid’s algorithm is one method to find the GCD of two numbers. Mathematically, we knowthat if r is the remainder when a is divided by b, then gcd(a, b) = gcd(b, r). Write a recursive function calledgcd that takes parameters a and b and returns their greatest common divisor. Think about what the basecase is for this algorithm.Part III String…arrow_forwardWrite a function decimal_to_binary(decimal_number) that takes in a non-negative integer and returns it in binary as an integer representation. Solve this problem using recursion. Use a helper function (with extra parameters) to handle the recursion.arrow_forwardWrite a recursive function for int powerOfTwo (int k). The function determines the value of 2k. (Note: k is a positive integer). Example, when k=0 the function returns 1 and when k-3 the function returns 8. To show that your code is correct, give the recursive trace for powerOfTwo (2) that returns 4.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning