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
Concept explainers
Question
Chapter 13, Problem 5PE
Program Plan Intro
Base Conversion
- Define a function “baseConversion()”.
- Declare a variable “digit” and initialize.
- Print the values of “num” and “digit”.
- Divide the value of “num” with “base”.
- If the condition “num == 0” is true
- Return true.
- Check another condition “num < base”.
- Assign the value of “num” to “digit”.
- Set “num” equal to “0”.
- If the conditions fails
- Call the function “baseConversion()”.
- Call the function “baseConversion()”.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
please code in python
Write a recursive function to add a positive integer b to another number a, add(a, b), where only the unit 1 can be added, For example add(5, 9) will return 14. The pseudocode is: # Base case: if b is 1, you can just return a + 1 # General case: otherwise, return the sum of 1 and what is returned by adding a and b - 1.
Write a function sum_of_digits(a,b), that takes two arguments a and b, computes a to the power of b, then recursively finds the sum of digits until there is only one digit left.
You must PRINT all steps of the process as shown in the below example.
sum_of_digits(5,3) will PRINT on the screen the following:
5ˆ3 = 125 = 1 + 2 + 5 = 8
sum_of_digits(2,8) will PRINT on the screen the following:
2ˆ8 = 256 = 2 + 5 + 6 = 13 = 1 + 3 = 4
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,…
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
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- (Program) Write a program that tests the effectiveness of the rand() library function. Start by initializing 10 counters, such as zerocount, onecount, twocount, and so forth, to 0. Then generate a large number of pseudorandom integers between 0 and 9. Each time 0 occurs, increment zerocount; when 1 occurs, increment onecount; and so on. Finally, display the number of 0s, 1s, 2s, and so on that occurred and the percentage of time they occurred.arrow_forwardWrite a recursive function to convert a given string into the number it represents. That is input will be a numeric string that contains only numbers, you need to convert the string into corresponding integer and return the answer. Input format : Numeric string S (string, Eg. "1234") Output format : Corresponding integer N (int, Eg. 1234) Constraints : 0 <= |S| <= 9 where |S| represents length of string S. Sample Input 1 : 00001231 Sample Output 1 : 1231 Sample Input 2 : 12567 Sample Output 2 : 12567 Solution:////////////////.arrow_forwardConsider a network of streets laid out in a rectangular grid, In a northeast path from one point in the grid to another, one may walk only to the north (up) and to the east (right). Write a program that must use a recursive function to count the number of northeast paths from one point to another in a rectangular grid. Your program should prompt the user to input the numbers of points to the north and to east respectively, and then output the total number of paths. Notes: 1. Here is a file (timer.h download and timer.cpp download) which should be included in your program to measure time in Window or Unix (includes Mac OS and Linux) systems (use start() for the beginning of the algorithm, stop() for the ending, and show() for printing). 2. The computing times of this algorithm is very high, and the number of paths may be overflow, don't try input numbers even over 16. 3. Name your recursive function prototype as calcPath(int north, int east) to ease grading. 4. Paste your outputarrow_forward
- please code in python Write a recursive function power(x, n), where n is 0 or a postive integer. For example, power(2, 10) will return 1024. Write a suitable base case, and for the general case use the idea that x**n = x * (x**n-1).arrow_forwardWrite a recursive function called print_num_pattern() to output the following number pattern. Given a positive integer as input (Ex: 12), subtract another positive integer (Ex: 3) continually until 0 or a negative value is reached, and then continually add the second integer until the first integer is again reached. For coding simplicity, output a space after every integer, including the last. Do not end output with a newline. Ex. If the input is: 12 3 the output is: 12 9 6 3 0 3 6 9 12 # TODO: Write recursive print_num_pattern() function if __name__ == "__main__": num1 = int(input()) num2 = int(input()) print_num_pattern(num1, num2)if (num1<=0): print(num1,end= '')arrow_forwardWrite a program that allows a user to enter non-negative int number. The recursive function is to be named sumSquares that returns the sum of the squares of the numbers from 0 to number.Do not use any global variables.arrow_forward
- Write a program that uses a recursive function to convert a number in decimal to base 8 or base 16.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_forwardThis is in Python This has two parts. This is a problem on recursion. Part a: Write a recursive function that accepts an integer argument, n. The user needs to be asked for the number n. The function should display n lines of asterisks on the screen, with the first (the top) showing 1 asterisk, the second from the top showing two asterisks, up to the nth line which shows n asterisks. Part b. Write a recursive function that accepts an integer argument, n. The user needs to be asked for the number n. The function should display n lines of asterisks on the screen, with the first (the top) showing n asterisks, the second from the top showing n-1 asterisks, up to the nth line which shows 1 asterisk. Submit the two files and two sample outputs for each of the parts.arrow_forward
- Write a program called Recursive_fibonacci.java that implements a recursive function for computing the nth term of a Fibonacci Sequence. In the main method of your program accept the value of n from the user as a command-line argument and then call your function named Fibonacci with this value. The output should look exactly like what is pictured below.arrow_forwardAn arithmetic sequence is a sequence of values where successive values have a common difference. For example, 2,5,8,11,... is an arithmetic sequence starting at 2 with a common difference of 3. We call the starting point s and the difference d. Fill in the missing lines below to write a recursive Python function called arithmetic that takes values for s, d, and n, and returns the nth term of the arithmetic sequence. For example, given the main function: def main(): for i in range(1,6): print(arithmetic(2,3,i)) the output will be: 2 5 8 11 14 Note: No marks will be given for a non-recursive solution. Code with missing lines: # Line 1 # Line 2 # Line 3 # Line 4 # Line 5 Matching each line of code below to its proper line number (Line 1 to Line 5), indicated in the partial code above, to solve the problem. Some lines of code will not be used at all; for these you would select option 6 (i.e., Not Used) from the list of options - do not leave these blank. Question 8 options:…arrow_forwardPYTHON!!! Write a function sum_of_digits(a,b), that takes two arguments a and b, computes a to the power of b, then recursively finds the sum of digits until there is only one digit left. You must PRINT all steps of the process as shown in the below example. sum_of_digits(5,3) will PRINT on the screen the following: 5^3 = 125 = 1 + 2 + 5 = 8 sum_of_digits(2,8) will PRINT on the screen the following: 2^8 = 256 = 2 + 5 + 6 = 13 = 1 + 3 = 4arrow_forward
arrow_back_ios
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Computational Software for Intelligent System Design; Author: Cadence Design Systems;https://www.youtube.com/watch?v=dLXZ6bM--j0;License: Standard Youtube License