The purpose of this programming assignment is to get experience using recursion to solve a task that requires repetition. This means that you will need to think about the design of a recursive function, including how to determine the base case and the recursive (or inductive) step. The basic design of this program consists of four parts: (1) Prompting the user for information; (2) Accepting information from the user; (3) Recursively processing information from the user; and (4) Displaying output to the user. Specification Imagine that someone needs to calculate how many identical cubes are required to build a pyramid given the number of levels that the pyramid is required to have. A few examples are shown below: 1 level 1 block 2 levels 5 blocks 3 levels 14 blocks 4 levels 30 blocks 5 levels 55 blocks Generally, a pyramid of n levels will require n more blocks than a pyramid ofn - 1 levels. Your program will first prompt the user to enter the number of levels that the pyramid is required to have. You are then going to calculate the number of blocks needed using recursion. Your program will then display the number of blocks needed. Constraints and notes Note the following constraints and notes (see the rubric below for more detail):

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Overview
The purpose of this programming assignment is to get experience using recursion to solve a
task that requires repetition. This means that you will need to think about the design of a
recursive function, including how to determine the base case and the recursive (or
inductive) step. The basic design of this program consists of four parts:
(1) Prompting the user for information;
(2) Accepting information from the user;
(3) Recursively processing information from the user; and
(4) Displaying output to the user.
Specification
Imagine that someone needs to calculate how many identical cubes are required to build a
pyramid given the number of levels that the pyramid is required to have. A few examples are
shown below:
3 levels
14 blocks
1 level
2 levels
5 blocks
4 levels
5 levels
1 block
30 blocks
55 blocks
Generally, a pyramid of n levels will require n more blocks than a pyramid of n - 1 levels.
Your program will first prompt the user to enter the number of levels that the pyramid is
required to have. You are then going to calculate the number of blocks needed using
recursion. Your program will then display the number of blocks needed.
Constraints and notes
Note the following constraints and notes (see the rubric below for more detail):
Rovie ed, 2024 14
10
Transcribed Image Text:Overview The purpose of this programming assignment is to get experience using recursion to solve a task that requires repetition. This means that you will need to think about the design of a recursive function, including how to determine the base case and the recursive (or inductive) step. The basic design of this program consists of four parts: (1) Prompting the user for information; (2) Accepting information from the user; (3) Recursively processing information from the user; and (4) Displaying output to the user. Specification Imagine that someone needs to calculate how many identical cubes are required to build a pyramid given the number of levels that the pyramid is required to have. A few examples are shown below: 3 levels 14 blocks 1 level 2 levels 5 blocks 4 levels 5 levels 1 block 30 blocks 55 blocks Generally, a pyramid of n levels will require n more blocks than a pyramid of n - 1 levels. Your program will first prompt the user to enter the number of levels that the pyramid is required to have. You are then going to calculate the number of blocks needed using recursion. Your program will then display the number of blocks needed. Constraints and notes Note the following constraints and notes (see the rubric below for more detail): Rovie ed, 2024 14 10
Consider using the provided template since it lays things out nicely;
Your output must be exactly the same as the output of the sample runs shown below
for the specified user inputs;
• You must comment your source code appropriately, include an informative header at
the top, and use good coding style;
• You must use meaningful variable names;
You must not use any iterative repetition constructs (e.g., while loops, etc);
• You must recursively calculate the number of blocks required (i.e., using a recursive
function);
You must correctly output the plurals of the nouns level and block (e.g., 0 blocks, 1
block, 2 blocks, etc; and 0 levels, 1 level, 2 levels, etc); and
• You must handle a negative number of levels as shown in the sample output.
Deliverable
Submit a Python 3 source file that can be executed through an IDE (such as Thonny) or via the
command line (e.g., python3 BlockPyramid.py).
Sample output
Here is some sample output of various runs of a correct solution. Note that values in bold red
are those entered by the user:
Sample 1
How many levels will your pyramid have? 1
For a pyramid of 1 level, you will need 1 block.
Sample 2
How many levels will your pyramid have? 5
For a pyramid of 5 levels, you will need 55 blocks.
Sample 3
How many levels will your pyramid have? 555
For a pyramid of 555 levels, you will need 57138730 blocks.
Transcribed Image Text:Consider using the provided template since it lays things out nicely; Your output must be exactly the same as the output of the sample runs shown below for the specified user inputs; • You must comment your source code appropriately, include an informative header at the top, and use good coding style; • You must use meaningful variable names; You must not use any iterative repetition constructs (e.g., while loops, etc); • You must recursively calculate the number of blocks required (i.e., using a recursive function); You must correctly output the plurals of the nouns level and block (e.g., 0 blocks, 1 block, 2 blocks, etc; and 0 levels, 1 level, 2 levels, etc); and • You must handle a negative number of levels as shown in the sample output. Deliverable Submit a Python 3 source file that can be executed through an IDE (such as Thonny) or via the command line (e.g., python3 BlockPyramid.py). Sample output Here is some sample output of various runs of a correct solution. Note that values in bold red are those entered by the user: Sample 1 How many levels will your pyramid have? 1 For a pyramid of 1 level, you will need 1 block. Sample 2 How many levels will your pyramid have? 5 For a pyramid of 5 levels, you will need 55 blocks. Sample 3 How many levels will your pyramid have? 555 For a pyramid of 555 levels, you will need 57138730 blocks.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 9 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY