Anne
Dawson: CSCI120A_LAB3_FA04.htm
Last
updated: Wednesday 29th September 2004, 7:11 PT
This
document is subject to change without notice.
Please
report any errors or omissions in this document:
adawson@coquitlamcollege.com
Special instructions:
For this assignment you may work in teams of 2, or alone. This lab is due at the end of the lab
session.
Fall 2004
Lab
Assignment 3
Step 1
Study the following:
Note: you do not type in the code of your program until Step 4.
An employee is paid at a rate of $20.75 per hour for regular
hours worked in a week. Regular hours are up to and including 40 hours per
week. Any hours in a week worked
over regular hours are paid at the overtime rate of time and a half (i.e.
$20.75 x 1.5 per hour). The gross pay is calculated according to the number of hours
worked in a week. Added to the gross pay for each employee each month is the
sum of $54 which each single employee pays for their Medical Services Plan
(MSP). If the employee is married, $36 is added to the gross pay for MSP
instead of $54.
From the gross pay there are a number of deductions per month:
20% of gross pay is deducted for federal income tax (FIT).
5% of gross pay is deducted for Canada Pension Plan (CPP).
A lump sum of $75 is deducted for Extended Medical Insurance
(EMI).
Your program should allow the user to enter the employee's name,
their marital status (single or married) and the number of hours worked in each
of the four weeks of the month. The number of hours can include a fractional
part, e.g. 36.9. Your program calculates and displays the gross pay based on
the total hours worked each week (rounded to the nearest integer, e.g. 36.9 is
rounded to integer 37) and includes the MSP payment. The program calculates and
displays the value of each of the deductions. Finally, the program displays the
net salary (the take-home pay) for the employee which is calculated from gross
pay minus deductions. For bonus points, print out your numerical currency
values to 2 decimal places.
Step 2
Design an algorithm (the steps to solve the problem). You should
have the algorithm approved by your instructor before going on to the next
step.
The following web page will help you design your algorithm and
pseudocode:
http://www.coquitlamcollege.com/adawson/Pseudocode.htm
Step 3
Development the pseudocode from your algorithm.
The following web page will help you design your algorithm and
pseudocode:
http://www.coquitlamcollege.com/adawson/Pseudocode.htm
Step 4
Using your pseudocode as a guide, implement your program in the
Python language. Use the IDLE GUI to edit and run your program:
http://www.coquitlamcollege.com/adawson/Python_Editor_IDLE.htm
Your program should start with a comment block that contains the
following information:
#
File: lab3.py
#
Purpose:
Employee Salary Calculations
#
Programmer: [your name]
#
Partner: [your
partner's name]
#
Course:
CSCI120A
#
Date: Wednesday 29th September 2004
# Test
data:
Please note: any lines in a Python program that start with the #
symbol are known as comments. Comments are ignored when the program runs, but
are useful when we read a program, because they supply information about
the program. They are always used
at the top of a program to supply information about the purpose of a program,
its file name, the programmer etc, as shown above. They are also used in the
body of a program to explain parts of the program which may be hard to
understand. Example programs in this course will demonstrate the correct use of
comments. You are expected to supply the above set of comments (updated
appropriately) for all of your lab and homework programming assignments.
Step 5
Test your program by running supplying
your own test data. You should test your program with at least 3 sets of test
data. Show your test data and results in comments at the top of your program.
Step 6
At the end of the class, save your
program file (lab3.py) to your folder on the network in:
CSCI120A\Week04\Lab03
Program
points will be based on the following marking scheme:
Marking
Scheme: CSCI120A - Lab 3 -
Employee Salary Calculations
Student
name(s):
|
Category |
Points |
Description |
|
Algorithm |
15 |
An informal description of the
steps that must be taken to solve the problem. |
|
Pseudocode |
15 |
A formal description of the
steps that must be taken to solve the problem. |
|
Comments |
10 |
The program is commented appropriately. |
|
Style |
15 |
The source code should use meaningful variable
names (identifiers). |
|
Output |
15 |
Screen prompts and results should be
user-friendly. |
|
Correctness |
10 |
The program should output correct results. |
|
Completeness |
10 |
The program should be complete. |
|
Test |
10 |
Comments in the code explain how the code was
tested. |
Assignment Presentations : In the next class, a random selection
of lab assignment programs will be presented to the CSCI120A group.