-
Notifications
You must be signed in to change notification settings - Fork 0
Flowcharts and Pseudocode
Module Three asks you to represent the same paycheck-calculator design in two forms:
- a flowchart; and
- pseudocode.
Both are design tools. Neither is Python code.
This page explains the tools without giving you a completed paycheck solution.
Different representations reveal different kinds of design problems.
A flowchart makes it easier to see:
- sequence;
- branches;
- where paths split;
- where paths rejoin; and
- whether a path accidentally goes nowhere.
Pseudocode makes it easier to see:
- detailed order;
- variables or values involved;
- calculations;
- indentation; and
- which statements belong to a branch.
If the two designs disagree, the disagreement is useful evidence that the logic needs another review.
The Module Three assignment specifically calls for appropriate symbols and arrows for:
- Start and end points
- Input and output
- Decision branching
- Processing steps
The provided Draw.io template includes a Symbols tab you can use as a reference.
A terminator symbol marks where the algorithm begins or ends.
A reader should be able to identify one clear starting point and follow the arrows until the solution ends.
An input/output symbol represents information entering or leaving the program.
For a generic example:
INPUT value
or
OUTPUT result
Use your assignment requirements to determine what the actual paycheck design needs.
A process symbol represents work such as a calculation or assignment.
Generic example:
Calculate total from known values
Do not use the shape merely as a box around every piece of text. The symbol communicates that processing occurs at that point.
A decision symbol asks a question that creates different possible paths.
Generic example:
condition true?
The outgoing arrows should make the alternatives clear, commonly with labels such as Yes/No or True/False.
Every branch needs somewhere to go.
Flowchart arrows show execution order.
When reviewing your chart, follow the arrows literally. Do not assume a reader will guess the intended next step because two shapes happen to be close together.
Check:
- every required step has an incoming path when appropriate;
- every non-End step has a next step;
- each decision has all needed outgoing paths; and
- every possible path eventually reaches End.
Pseudocode describes an algorithm in human-readable steps without requiring exact Python syntax.
A generic structure might look like:
BEGIN example
INPUT value
IF condition THEN
LET result = processing_for_one_case
ELSE
LET result = processing_for_other_case
ENDIF
OUTPUT result
END example
This example demonstrates structure only. It does not provide the paycheck condition or paycheck calculations.
Indentation helps a reader see which statements belong inside a branch.
Compare:
IF condition THEN
PROCESS one_case
ELSE
PROCESS other_case
ENDIF
The indented lines visually belong to the branch above them.
This same idea will matter when you later write Python, where indentation is part of the language syntax.
The assignment suggests pseudocode keywords such as:
IFELSELET
Your starter also suggests keywords such as INPUT and OUTPUT because they make the design easier to read.
Use keywords consistently. The goal is clear logic, not memorizing one universal pseudocode language.
The paycheck requirements describe two pay-rule cases separated by a boundary.
Your design needs a decision structure that accounts for all values covered by those rules.
The repository deliberately does not tell you which exact comparison operator to write. Use your Analyze work and the wording first 40 hours versus above 40 hours to create and verify your own condition.
After both are complete, ask:
- Do they obtain the same input?
- Do they make the same decision?
- Do the corresponding branches perform the same work?
- Do they treat exactly 40 hours the same way?
- Do they produce the same result?
- Do they output the same required information?
If the answer to any question is no, revise the design before submitting.
You can test design logic without Python.
- Choose a verification case from the SRS.
- Follow that value through the flowchart.
- Record the expected result.
- Follow the same value through the pseudocode.
- Compare the paths and result.
Try a boundary case as well as an ordinary case.
Without giving away the solution, common structural problems include:
- using the wrong symbol type;
- missing arrows;
- a decision path that does not continue;
- pseudocode with inconsistent indentation;
- one artifact containing logic missing from the other;
- accidentally treating the boundary differently in the two artifacts; and
- adding input-validation or formatting requirements that the assignment never states.
Use the checklist in design/README.md and the current D2L rubric. GitHub Assignment Checks can verify file structure and starter completion state, but they cannot judge whether the design logic deserves a particular grade.
Return to Home or continue to Working in Your Course IDE.