Sunteți pe pagina 1din 26

School of Business

Eastern Illinois University

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

© Abdou Illia, Spring 2003


2
Project 1

 Exercise # 8, page 57
Bohl & Rynn’s textbook

 Due date: February 3rd, 2003


3
Learning Objectives

 Understand the relation between Algorithm and


Pseudocode or program flowchart
 Draw flowcharts
 Write pseudocodes
4
Recall form Class 2 & 3

 Use of tools by analyst/programmer in SDLC


 Design/Programming tools used for:
– Specifying problem-solving logic

Example
START
Pseudocode:
READ EMPLOYEE DATA
English-language COMPUTE GROSS PAY
statements that describe
the processing steps of a COMPUTE DEDUCTIONS
program in paragraph COMPUTE NET PAY
form. WRITE EMPLOYEE PAYCHECK
STOP
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
(+,-,/,*,<,>…)
– Produce solution in a finite number of such operations
6
Example of algorithm (program flowchart)
Algorithm for determining salespersons’ pay

REGSALES = Regular sales amount I


SALESALES = Reduced sales amount
REGCOM = Regular commission (6%)
SALESCOM = Sales commission (3%)
PAY = Total pay due
P

O
7
Algorithm vocabulary
SYMBOLS NAME USE
START Terminal interrupt Terminal point (start,
symbols stop, or break)
STOP

Input/Output symbol Reading data from an input medium


or writing data to an output medium

Process symbol Processing input data


8
Algorithm vocabulary
SYMBOLS NAME USE

Flowline symbol Sequence of operations and


direction of data flow

Decision symbol Decision-making operations

Predefined-process Operations specified elsewhere (not


symbol in the current algorithm)
9
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 Example Comment
1) Variables names are place-
Data items whose holders for values
READ
Variables values may change, or
vary during processing
REGSALES,
SALESALES 2) Variable names are chosen
by programmer
3) Names should be descriptive
Using Variables instead of
Data their specific values gives a READ
$1000,
program the capacity to $3000
independence perform processing on any
set of input data.

Statement that assign a The computer will


Assignment value (calculated or REGCOM = perform the calculation
statement not) to a variable REGSALES
*.06
first, and then, assign
the result to REGCOM

A value that doesn’t


Constant change .06
11
IFTHENELSE / DECISION SYMBOL
General form An Example
:
READ
: AMOUNT

NO
Is YES NO AMOUNT YES
Condition > 200 ?
True ?

DISCOUNT =
Processing 1 SUBBIL=
Processing 3 AMOUNT * .10
AMOUNT

Could be SUBBIL =
many
processings,… Processing 2 AMOUNT –
DISCOUNT

Could be many
: processings,… :
: :
12
Exercise 1: Tuition bill Problem

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 1’s solution: (Part 1: System Flowchart)
(To be done in class)
14
Exercise 1 solution: (Part 2: Program Flowchart)
15
Project 1

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
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 3
PRICE 49.99
AMTOD
DISCOUNT
SUBBILL
TAXES
BILL
17
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
Exercise 1 solution: Program Flowchart & 18
corresponding Pseudocode
START

READ
NAME, SSN,
CREDITS
Pseudocode for Tuition problem
Start
NO CREDITS YES
≥ 10 ?
Read NAME, SSN, CREDITS
IF CREDITS >= 10 THEN
TUITION = TUITION = 1000 TUITION = 1000
100 * CREDITS
ELSE
TUITION = 100 * CREDITS
ENDIF
WRITE
NAME, SSN, TUITION 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

UPPERCASE for Reserved words TUITION = 100 * CREDITS


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
TUITION = 1000
Use of indentation (i.e. clauses are
indented a few positions) for ELSE
clarity
TUITION = 100 * CREDITS
ENDIF
Write NAME, SSN, TUITION
Stop
21
Exercise 3: Weekly Payroll problem
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 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.
22
Exercise 3’s 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)
24
Exercise 3 solution: (Part 3: Pseudocode)
(To be done in class)
25
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.
26
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)

S-ar putea să vă placă și