Programming

profileShane0301
lesson7_assignment.docx

______________________________________________________________________________________________________________________________________________________________________________________________________________________

Page 2

______________________________________________________________________________________________________________________________________________________________________________________________________________________

Lesson 7

assignment – Working with a Decision Structure

Objectives:

· Use an Input, Processing and Output (IPO) chart to create a flowgorithm program meeting customer requirements

· Use a Decision structure to determine which calculation to use

Lab Task Checklist

· It is expected you have read the required reading in this Lesson before starting the lab.

· Review Course Resources/Rules of Engagement (ROE) and Standards/ROE: Programming/Flowgorithm Programs

· Review Course Resources/Flowgorithm Guidance/Menu Guidance

· Create the Flowgorithm program to meet customer requirements

· Ensure you have test cases reflected in the comments

· File naming Convention: “ lastname-asgn7.fprg”. **where lastname is YOUR lastname and the filename uses only small letters…no capitals.

· Submit all required lab files to Blackboard

Instructions:

1. Review the customer requirements and IPO found below:

The customer needs to determine what the shipping costs will be for a package. The shipping cost is determined by weight. Once the weight is entered the program should display the rate used and the total shipping charges.

Weight of Package

Rate per Pound

2 lbs or less

1.00

Over 2 but not more than 6 lbs

2.25

Over 6 but not more than 10 lbs

3.50

Over 10 lbs

4.10

· personal message (i.e., not just the fee).

· Display a message for end of program and programmer credits

· Display a message with customer information (customer name and account number)

2. Open Flowgorithm and save with the required naming conventions in the “Lab Task Checklist” and remember to enter your Program Attributes.

3. Create the algorithm using Flowgorithm to meet the customer requirements.

a. Display a welcome message and the purpose of the program

b. Reserve Memory Locations (Declare) - Use as short and meaningful names

i. Variables - Declare variables close to where they will be used

1. Use the correct naming conventions (found in ROE)

ii. Named constants - Declare named constants at the start of the program

1. Use the correct naming conventions (found in ROE)

2. Use named constants for each of the different rates. Once rate is determined set the rate to that value. Example: rate = RATE1

iii. Make sure you are using the correct data type

c. Add Decision Structures as needed to meet customer requirements.

d. Use prompts to describe required input before asking for input

e. The output must clearly delineate what each value is.

f. Display end of program message with programmer’s name

g. Document your test cases using the comment block of flowgorithm

SPECIAL NOTE:

Do not use magic numbers when named constants are a better choice. i.e., #cost of tickets, TAX rate, fee charges, test for fee. Make sure your calculation uses the NAMED CONSTANTS instead of actual numbers.

Input, Processing and output (ipo)

Input

Processing

Output

Constants:

Rates for:

· More than 10

· More than 6 less than 10

· More than 2, less than 6

· Equal or Less than 2

Variables:

Package weight

Get package weight

Assign each rate for shipping

Test for rate to be charged

Set rate to rate to be charged (hint: your constants)

Calculate shipping total

· Shipping total = rate * weight

**hint: The order that you test matters.

Welcome message

Prompt: weight

Result: Rate charged and total shipping cost

End of Program message

Storage/Memory Location

Test Data

T1: W= 2 rate = 1 total = 2

T2: w= 5 rate = 2.25 total = 11.25

T3: W= 6 rate = 2.25 total = 13.50

T4: W= 7 rate = 3.50 total = 24.5

T4: W= 10 rate = 3.50 total = 35.00

T5: W= 12.3 rate = 4.10 total = 50.43

AY2023