4. Recall form Class 2 & 3
Use of tools by analyst/programmer in
SDLC
Design/Programming tools used for:
Specifying problem-solving logic
4
Pseudocode:
English-language
statements that describe
the processing steps of a
program in paragraph
form.
START
READ EMPLOYEE DATA
COMPUTE GROSS PAY
COMPUTE DEDUCTIONS
COMPUTE NET PAY
WRITE EMPLOYEE PAYCHECK
STOP
Example
5. Algorithm ?
Step-by-step procedure to solve a
problem
An algorithm can be expressed using:
A System Flowchart
A Program Flowchart
A Pseudocode, etc.
Any algorithm must meet the following
requirements:
Use operations from only a given set of basic
operations (+,-,/,*,<,>…)
5
6. Example of algorithm (program flowchart)
6
REGSALES = Regular sales amount
SALESALES = Reduced sales amount
REGCOM = Regular commission (6%)
SALESCOM = Sales commission (3%)
PAY = Total pay due
Algorithm for determining salespersons’ pay
I
P
O
7. Algorithm vocabulary
7
START
STOP
SYMBOLS NAME
Terminal interrupt
symbols
USE
Terminal point (start,
stop, or break)
Input/Output symbol Reading data from an input medium
or writing data to an output medium
Process symbol Processing input data
8. Algorithm vocabulary
8
SYMBOLS NAME
Flowline symbol
USE
Sequence of operations and
direction of data flow
Decision symbol Decision-making operations
Predefined-process
symbol
Operations specified elsewhere (not
in the current algorithm)
9. Algorithm vocabulary
9
SYMBOLS NAME
Connector symbol
USE
Exit to, or entry from, another
part of the Flowchart
Preparation symbol Control operations: Set limit on
loop-control variables, Initialize
accumulators, etc.
10. Algorithm vocabulary
Item Meaning Example Comment
10
Variables
Data
independence
Assignment
statement
Constant
Data items whose
values may change, or
vary during processing
Using Variables instead of
their specific values gives a
program the capacity to
perform processing on any
set of input data.
Statement that assign a
value (calculated or
not) to a variable
A value that doesn’t
change
REGCOM =
REGSALES
*.06
READ
REGSALES,
SALESALES
READ
$1000,
$3000
.06
1) Variables names are place-
holders for values
2) Variable names are chosen
by programmer
3) Names should be descriptive
The computer will
perform the calculation
first, and then, assign
the result to REGCOM
11. IFTHENELSE / DECISION SYMBOL
11
Is
Condition
True ?
Processing 1
Processing 2
Processing 3
:
:
:
:
General form
AMOUNT
> 200 ?
DISCOUNT =
AMOUNT * .10
SUBBIL =
AMOUNT –
DISCOUNT
SUBBIL=
AMOUNT
:
:
An Example
READ
AMOUNT
YESNO YESNO
Could be many
processings,…
Could be many
processings,…
12. Exercise 1: Tuition bill Problem
12
Write the program flowchart to prepare a tuition bill.
The input will contain the student name, Social
Security Number, and total number of credits for
which the student has enrolled. The bill will contain
the student name, Social Security Number, and
computed tuition. Total credits of 10 or more indicate
that the student is full-time. Full-time students pay a
flat rate of $1000 for tuition. Total credits of less than
10 indicate that the student is part-time. Part-time
students pay $100 per credit for tuition.
Exercise 11 (Chapter 3)
15. Project 1
15
Write a program flowchart and
corresponding pseudocode to solve the
following problem: Assume the input for a
student is name, student number, and
three grades. Output the student name and
an S (Success) if the average of the three
grades is 65 or more. Otherwise (else),
output the student’s name, a U
(Unsuccess), and the number of additional
points needed for an S.
16. Exercise 2: Billing problem
16
Look at the program flowchart on the next slide, and answer the following questions:
(a) For what variables are values read as input ?
(b) What variables’ values are output ?
(c) What constants are used ?
(d) Simulate the execution of this algorithm, assuming the values shown below are
read as input for the first four variables named.
Exercise 11 (Chapter 2)
Blouse
3
49.99
Mrs. A. B. Wallace
ITEM
QTY
PRICE
AMTOD
DISCOUNT
NAME
SUBBILL
TAXES
BILL
19. Pseudocode
Other common way to represent
algorithms
Similar to programming languages like
Visual Basic but
Does not require strict rules as programming
languages
19
Start
Read NAME, SSN, CREDITS
IF CREDITS >= 10 THEN
TUITION = 1000
ELSE
TUITION = 100 * CREDITS
ENDIF
Write NAME, SSN, TUITION
Stop
Pseudocode for Tuition problem (see Slide12)
UPPERCASE for variable names
UPPERCASE for Reserved words
Lowercase for non- reserved words
Titlecase
20. Pseudocode
20
Start
Read NAME, SSN, CREDITS
IF CREDITS >= 10 THEN
TUITION = 1000
ELSE
TUITION = 100 * CREDITS
ENDIF
Write NAME, SSN, TUITION
Stop
Pseudocode for Tuition problem (see Slide12)
Use of indentation (i.e. clauses are
indented a few positions) for
clarity
21. Exercise 3: Weekly Payroll problem
21
Construct a program flowchart and corresponding
pseudocode to solve the following problem: ABC company
needs a weekly payroll report for its salespeople. Input to
the program is a salesperson’s name, number, and weekly
sales. Output is the salesperson’s name, number, and pay.
Each salesperson receives a base pay of $300 as well as a
10% commission on his or her total sales up to and
including $500. Any sales over $500 merit a 15%
commission for the employee. (For example, if sales =
$600, then pay = $300 + $50 [or .10 * 500] + $15 [.15 * 100]
= $350). Use a DOWHILE loop and a counter to compute
the weekly payroll for exactly 20 employees.
Exercise 19 (Chapter 4)
22. Exercise 3’s solution: (Part 1: System
Flowchart)
22
NAME, NUM,
SALES
WEEKLY
PAYROLL
PROGRAM
NAME, NUM,
PAY
23. Algorithm Development Process
Design verification, in order to:
Prevent errors from occurring
Detect and correct errors soon
Selection of Review Team members for:
Informal design review or
Structured design review
Structured Design Review:
Selection of representative values of input (data normally
expected, extreme values, invalid data)
Following designed algorithms to determine what output are
produce.
23
24. Summary Questions
1. Distinguish between Algorithm on the
one hand, and Program flowchart and
Pseudocode on the other hand. Discuss
the relations between the two.
2. (a) List the main keywords used in
Pseudocodes. (b) What control structures
they represent.
You should know how to design
program logic using Program Flowcharts
& Pseudocodes (Review Exercises 1,2,3
above & Exercise 15 Ch.4 and answer on
page 339)
24