## Details

**Assignment 4 Functions Calculate Perimeter of a Rectangle**

**In this assignment, you will design a program to perform the following task:**

Write a program, using functions, that calculates the area and perimeter of a rectangle whose dimensions (length and width) are provided by a user.

Before attempting this exercise, be sure you have completed all of chapter 8 and course module readings, participated in the weekly conferences, and thoroughly understand the examples throughout the chapter. There are three main components of your submission, including the problem analysis, program design and documentation, and sample test data.

1. Provide your **analysis** for the following problem statement: You need to write a program that calculates the area and perimeter of a rectangle whose dimensions (length and width) are provided by a user.

Your analysis should be clearly written and demonstrate your thought process and steps used to analyze the problem. Be sure to include what the required output is. What is the necessary input and how will you obtain the required output from the given input? Also, include your variable names and definitions. Be sure to describe any necessary formulas and sample calculations.

2. Provide your program **design** for the problem you analyzed for calculating and displaying the area and perimeter of a rectangle. Always work for modular design when possible. Be sure to use separate functions for calculating the area and perimeter of the rectangle. Other subprograms for Input and Output should be included as needed. Be sure to describe the fundamental tasks (i.e., things your program must do) needed to solve the problem so you can use a modular design. Provide pseudocode of your overall design that includes the Main module and the order of the module calls, and a Hierarchy chart for the program (see figure 3.8, page 148). Finally, display the flowcharts (using Raptor, or your favorite graphics editor) for each module. (See figure 5.3, page 225 as an example.)

Include header and step comments in your pseudocode, using a similar approach as the example provided in section 2.3 (textbook page 86). (See example 2.8 on pages 87–88.)

3. Prepare at least three sets of input data (**Test data**) along with expected output for testing your program. Your test data can be presented in the form of a table as was shown in Assignment 1.