# Perimeter

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 3 main components of your submission including the problem analysis, program design and documentation, and sample test data.

Part 1: Analysis [6 points]

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 is the required output? What is the necessary input and how you will 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.

Part 2: Design [7 points]

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 where 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 flow charts (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).

Part 3: Test Data [3 points]

Prepare at least 3 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.