Sei sulla pagina 1di 26

School of Business

Eastern Illinois University

Program Flowchart,
Pseudocode & Algorithm
development
Week 2:
Wednesday 1/22/2003
Friday
Abdou Illia, Spring 2003

1/24/2003

Project 1

Exercise # 8, page 57
Bohl & Rynns textbook

Due date: February 3rd, 2003

Learning Objectives

Understand the relation between Algorithm and


Pseudocode or program flowchart

Draw flowcharts

Write pseudocodes

Recall form Class 2 & 3

Use of tools by analyst/programmer in SDLC

Design/Programming tools used for:

Specifying problem-solving logic

Example
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

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


(+,-,/,*,<,>)
Produce solution in a finite number of such operations

Example of algorithm (program flowchart)


Algorithm for determining salespersons pay

REGSALES = Regular sales amount

SALESALES = Reduced sales amount


REGCOM = Regular commission (6%)
SALESCOM = Sales commission (3%)
PAY = Total pay due

Algorithm vocabulary
SYMBOLS
START

NAME

USE

Terminal interrupt
symbols

Terminal point (start,


stop, or break)

STOP
Input/Output symbol

Process symbol

Reading data from an input medium


or writing data to an output medium

Processing input data

Algorithm vocabulary
SYMBOLS

NAME

USE

Flowline symbol

Sequence of operations and


direction of data flow

Decision symbol

Predefined-process
symbol

Decision-making operations

Operations specified elsewhere (not


in the current algorithm)

Algorithm vocabulary
SYMBOLS

NAME

USE

Connector symbol

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

Variables

Data items whose


values may change, or
vary during processing

Data
independence

Using Variables instead of


their specific values gives a
program the capacity to
perform processing on any
set of input data.

Assignment
statement

Statement that assign a


value (calculated or
not) to a variable

Constant

A value that doesnt


change

Example
READ
REGSALES,
SALESALES

Comment
1) Variables names are placeholders for values
2) Variable names are chosen
by programmer
3) Names should be descriptive

READ
$1000,
$3000

REGCOM =
REGSALES
*.06

.06

The computer will


perform the calculation
first, and then, assign
the result to REGCOM

IFTHENELSE / DECISION SYMBOL


An Example

General form
:

READ
AMOUNT

NO

Is
Condition
True ?

NO

YES

Could be many
processings,

AMOUNT

DISCOUNT =
AMOUNT * .10

SUBBIL=
AMOUNT

SUBBIL =
AMOUNT
DISCOUNT

Processing 2

:
:

YES

> 200 ?
Processing 1

Processing 3

11

Could be many
processings,

:
:

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)

(To be done in class)

13

Exercise 1s solution: (Part 1: System Flowchart)

(To be done in class)

14

Exercise 1 solution: (Part 2: Program Flowchart)

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 students name, a U
(Unsuccess), and the number of additional
points needed for an S.

Exercise 2: Billing problem

16

Exercise 11 (Chapter 2)

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.
NAME

Mrs. A. B. Wallace

ITEM

Blouse

QTY

PRICE

49.99

AMTOD
DISCOUNT
SUBBILL
TAXES
BILL

Exercise 2: Billing problem


Exercise 11 (Chapter 2)
START
READ NAME,
ITEM, QTY,
PRICE
AMTOD =
QTY * PRICE

DISCOUNT =
AMTOD * .10
SUBBILL =
AMTOD - DISCOUNT

TAXES =
SUBBILL * .05

BILL =
SUBBILL + TAXES

WRITE NAME,
ITEM, BILL

STOP

17

Exercise 1 solution: Program Flowchart &


corresponding Pseudocode

18

START
READ
NAME, SSN,
CREDITS

NO

CREDITS

Pseudocode for Tuition problem


Start
YES

10 ?

Read NAME, SSN, CREDITS


IF CREDITS >= 10 THEN

TUITION =

TUITION = 1000

TUITION = 1000

100 * CREDITS

ELSE
TUITION = 100 * CREDITS
WRITE
NAME, SSN, TUITION

ENDIF
Write NAME, SSN, TUITION
Stop

STOP

19

Pseudocode

Other common way to represent algorithms

Similar to programming languages like Visual Basic but

Does not require strict rules as programming languages

Pseudocode for Tuition problem (see Slide12)


Start
Read NAME, SSN, CREDITS
IF CREDITS >= 10 THEN
UPPERCASE for variable names

TUITION = 1000
ELSE
TUITION = 100 * CREDITS

UPPERCASE for Reserved words


ENDIF

Write NAME, SSN, TUITION


Titlecase

Lowercase for non- reserved words

Stop

20

Pseudocode

Pseudocode for Tuition problem (see Slide12)


Start
Read NAME, SSN, CREDITS
IF CREDITS >= 10 THEN
Use of indentation (i.e. clauses are
indented a few positions) for
clarity

TUITION = 1000
ELSE
TUITION = 100 * CREDITS
ENDIF
Write NAME, SSN, TUITION
Stop

Exercise 3: Weekly Payroll problem

21

Exercise 19 (Chapter 4)

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 salespersons name, number, and weekly
sales. Output is the salespersons 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.

22

Exercise 3s solution: (Part 1: System Flowchart)


NAME, NUM,
SALES

WEEKLY
PAYROLL
PROGRAM

NAME, NUM,
PAY

(To be done in class)

23

Exercise 3 solution: (Part 2: Program Flowchart)

Exercise 3 solution: (Part 3: Pseudocode)


(To be done in class)

24

Algorithm Development Process

Design verification, in order to:

Prevent errors from occurring


Detect and correct errors soon

Selection of Review Team members for:

25

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.

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)

26

Potrebbero piacerti anche