CIS115 Lab 5 New in Python – Race Time Sorting in Python:
CIS115 Lab 5 New in Python – Race Time Sorting in Python:
Week 5 iLab— Fireworks Stand Checkout
TCO 5—Given a simple problem that requires iteration, create a solution algorithm that employs loops.
TCO 8—Given a more complex problem, develop a complete solution that includes a comprehensive statement of the problem, complete program design, and program documentation.
Scenario
Your algorithm will keep track of a customer’s purchases at the local fireworks stand. Customers will not know exactly how many items they will purchase, so using a For loop on this lab is not allowed. Let’s keep the rules simple.
• Accept the dollar value of each item purchased from the user until the user is finished.
• When purchases are complete, enter a sentinel value of -1 (indicating that the user has finished).
• If the item purchased is $50.00 or more, give your customer a 10% discount on the item purchased.
• Display all of the purchases to the customer with the original price and the discount price.
Be sure to think about the logic and design first (IPO chart, pseudocode, and flowchart), then code the C# program.
Rubric
Point distribution for this activity:
Lab Activity
Document Points possible Points received
Variable list 10
IPO chart 10
Flowchart 10
Pseudocode 10
Working program 20
Total Points 60
1—Variable List With Data Type
List all variables you will use (use valid variable names). Indicate whether the data type is string, integer, or decimal, and so on.
IsContinue: Integer
ItemName: String
ItemPrice: String
TotalDiscount:double
2—IPO Model
List the inputs, any processes/calculations, and outputs. Use the same valid variable names you used in Step 1.
Inputs Process (calculations) Outputs
GetInput ItemName, ItemPrice
ItemPrice CalculateDiscount TotalDiscount
TotalDiscount, ItemPrice DisplayOutput
DisplayExitMessage
3—Flowchart
Use MS Visio to create a flowchart. Paste the flowchart here, or attach it as a separate document. Use the same valid variable names you used in Step 1.
4—Pseudocode
Describe your solution using pseudocode. Use the same valid variable names you selected in Step 1.
BEGIN standAloneCheckout
Declare IsContinue as Integer
Declare ItemName as String
Declare ItemPrice as String
Declare TotalDiscount as Double
Set ItemName = “”
Set ItemPrice = 0
Set IsContinue = 0
Set TotalDiscount = 0
Write “Welcome to the program! ”
REPEAT
PROMPT “Please enter Item Name: ”
INPUT ItemName
PROMPT “Please enter Item Price: ”
INPUT ItemPrice
IF ItemPrice >=50 THEN
SET TotalDiscount = (10 / 100 * ItemPrice)
ELSE
SET TotalDiscount = 0
END IF
OUTPUT “Item Name: ” + ItemName
OUTPUT “Item Original Price: ” + ItemPrice
OUTPUT “Item Discount: ” + TotalDiscount
OUTPUT “Discounted Price: ” + ItemPrice – TotalDiscount
Prompt “Do you want to add another record? Press any key to continue or -1 to quit: “
Input IsContinue
UNTIL IsContinue != -1
Write “Thank you for using the program! ”
END
5—C# Code
Screenshot of Running Program
Zipped Project File (submitted to Dropbox)
Copy/paste your C# code here.
Paste a screenshot(s) of the complete working program here. Use test scenarios to test all possible paths of execution.
Submit a separate zipped file to the Dropbox containing the complete project folder.