programming logic and design, introductory, fourth edition1 understanding the three basic structures...

38
Programming Logic and Design, Introductory, Fourth Edition 1 Understanding the Three Basic Structures Structure: a basic unit of programming logic Any program can be constructed from only three basic types of structures – Sequence – Selection – Loop

Upload: charlene-harrington

Post on 16-Dec-2015

220 views

Category:

Documents


4 download

TRANSCRIPT

Programming Logic and Design, Introductory, Fourth Edition 1

Understanding the Three Basic Structures

• Structure: a basic unit of programming logic • Any program can be constructed from only three

basic types of structures– Sequence– Selection– Loop

Programming Logic and Design, Introductory, Fourth Edition 2

Control Structures

• Sequence –in sequential order. – The simplest of control structures – start at the

beginning and continue in sequential order.

• Repetition – repeat statements more than once– Also called a loop, it needs a stop condition, i.e, the

program will continue to loop until some condition is met.

• Selection – selectively execute statements– Called a branch, it requires a condition to determine

when to execute statements.

Programming Logic and Design, Introductory, Fourth Edition 3

Structure Theorem

1. Sequence Instruction

Instruction

Instruction

Instruction

2. Selection Instruction

?

Instruction Instruction

3. Repetition

Do While / Do Until

Instruction

Instruction

Instruction

Instruction

Instruction

Sequential instructions

IF … THEN … ELSECASE

Programming Logic and Design, Introductory, Fourth Edition 4

Understanding the Three Basic Structures (continued)

• Sequence structure – A set of instructions, performed sequentially with no

branching

Programming Logic and Design, Introductory, Fourth Edition 5

Understanding the Three Basic Structures (continued)

• Selection structure – Asks a question, then takes one of two possible

courses of action based on the answer

– Also called a decision structure or an if-then-else

Programming Logic and Design, Introductory, Fourth Edition 6

Flowchart for a SequenceSTART

END

Input sales amount from customer

Computer total amount

Sales amount x .06

Print report

Save in file

Sale report

Sale data

Sale

Instructions follow each other sequentially

Sequential instructions

Hard DrivePrinted Report

Programming Logic and Design, Introductory, Fourth Edition 7

Flowchart for a Decision

Decision or selection structure flowchart:

IF --- THEN --- ELSE

CASE statement Question

Answer is “NO” (false)

Answer is “YES” (true)

Programming Logic and Design, Introductory, Fourth Edition 8

Understanding the Three Basic Structures (continued)

• Dual-alternative if: contains two alternatives

IF the hours worked is more than 40 THEN (question) total pay will be = regular pay amount plus overtime hours multiplied by 1 ½ times regular pay amount (action if true)ELSE total pay is regular hours times regular pay amount (action if false)END IF

If the hours an employee has worked is greater than 40 hours then calculate their pay as regular hours multiplied by their regular time pay mount added to the overtime pay amount which is overtime hours multiplied by 1 ½ time the regular pay amount.

The Problem

Pauedocode

Flowchart

Programming Logic and Design, Introductory, Fourth Edition 9

Understanding the Three Basic Structures (continued)

• Single-alternative if: contains one alternativeIf the hours an employee has worked is greater than 40 hours then calculate their pay as regular hours multiplied by their regular time pay mount added to the overtime pay amount which is overtime hours multiplied by 1 ½ time the regular pay amount.

Total pay = regular hours multiplied by regular payIF the hours worked is more than 40 THEN (question) total pay will be = total pay amount plus overtime hours multiplied by 1 ½ times regular pay amount (action if true)END IFPrint to printer the total pay amount (action if true or false)

The Problem

Pauedocode

FlowchartQuestion TRUE path

TRUE or FALSE path

FALSE path

Programming Logic and Design, Introductory, Fourth Edition 10

Understanding the Three Basic Structures (continued)

• Single-alternative if

• Else clause is not required

• Null case: situation where nothing is done

End If

If

Programming Logic and Design, Introductory, Fourth Edition 11

Flowchart for a DecisionASK THE QUESTION

IF condition THEN instruction1 instruction2 as many instructions as needed as many structures (decision, sequential, looping) as neededELSE instruction1 instruction2 as many instructions as needed as many structures (decision, sequential, looping) as neededENDIFContinuation of the program (instructions and structures)

TRUE path if the questions answer is true (YES)

FALSE path if the questions answer is false (NO)

IF condition THEN as many instructions as needed as many structures (decision, sequential, looping) as needed ENDIF

TRUE path if the questions answer is true (YES)

Programming Logic and Design, Introductory, Fourth Edition 12

Flowchart for a DecisionCONDITIONS

A < B (A & B are the same data type (numeric or alphanumeric)

X + 5 >= Z (X and Z are numeric data types)

E < 5 (E is a numeric data type)

F > 10 (F is a numeric data type)

IF A < B THEN instructions/structuresELSE IF X + 5 >= Z THEN instructions/structures ENDIFENDIF

Nesting

Programming Logic and Design, Introductory, Fourth Edition 13

Somewhere before this decision, data is placed in the variables HOURS and RATE IF HOURS > 40 THEN PAY = RATE * (40 + 1.5 * (HOURS – 40))ELSE PAY = RATE * HOURSENDIF

Flowchart for a Decision

Data is put into HOURS and RATE

start

end

IFHOURS > 40

PAY = RATE * HOURS

PAY= RATE * (40 + 1.5 * (HOURS – 40))

Example 1

Programming Logic and Design, Introductory, Fourth Edition 14

Nested Decisions (IF – THEN – ELSE)Example 2

ENDIF

ENDIF

Programming Logic and Design, Introductory, Fourth Edition 15

Example 3

Range Check

ENDIF

ENDIF

ENDIF

Programming Logic and Design, Introductory, Fourth Edition 16

Example 4

ENDIF

ENDIF

ENDIF

Programming Logic and Design, Introductory, Fourth Edition 17

Understanding the Three Basic Structures (continued)

• Loop structure– Repeats a set of actions based on the answer to a

question– Also called repetition or iteration– Question is asked first in the most common form of loop

Programming Logic and Design, Introductory, Fourth Edition 18

Understanding the Three Basic Structures (continued)

• Loop structure

WHILE testcondition (check if testcondition is true) do however many instructions are required (testcondition is true)END LOOP (end of loop – go back to beginning and check condition)

Continue with whatever processing is necessary

QuestionTRUE (repeat)

FALSE

Check Condition here or here

DO WHILE or DO UNTIL

Programming Logic and Design, Introductory, Fourth Edition 19

Flowchart for a Loop

Loop or repetition structure flowchart:

Ask a questionAnswer is “Yes” Execute the loop

Answer is “NO” Exit the loop

Question

Programming Logic and Design, Introductory, Fourth Edition 20

Understanding the Three Basic Structures (continued)

• All logic problems can be solved using only these three structures

• Structures can be combined in an infinite number of ways

• Stacking: attaching structures end-to-end• End-structure statements

– Indicate the end of a structure– endif: ends an if-then-else structure– endwhile: ends a loop structure

Programming Logic and Design, Introductory, Fourth Edition 21

Understanding the Three Basic Structures (continued)

Programming Logic and Design, Introductory, Fourth Edition 22

Understanding the Three Basic Structures (continued)

• Any individual task or step in a structure can be replaced by a structure

• Nesting: placing one structure within another

• Indent the nested structure’s statements

• Block: group of statements that execute as a single unit

Programming Logic and Design, Introductory, Fourth Edition 23

Understanding the Three Basic Structures (continued)

Programming Logic and Design, Introductory, Fourth Edition 24

Understanding the Three Basic Structures (continued)

Programming Logic and Design, Introductory, Fourth Edition 25

Understanding the Three Basic Structures (continued)

Programming Logic and Design, Introductory, Fourth Edition 26

Understanding the Three Basic Structures (continued)

• Each structure has one entry and one exit point• Structures attach to others only at entry or exit points

Programming Logic and Design, Introductory, Fourth Edition 27

Using the Priming Read

• Priming read (or priming input): – Reads the first input data record– Outside the loop that reads the rest of the records– Helps keep the program structured

• Analyze a flowchart for structure one step at a time• Watch for unstructured loops that do not follow this

order:1. First ask a question2. Take action based on the answer3. Return to ask the question again

Programming Logic and Design, Introductory, Fourth Edition 28

Using the Priming Read (continued)• Unstructured loop:

Programming Logic and Design, Introductory, Fourth Edition 29

Using the Priming Read (continued)

• Structured but nonfunctional loop

Programming Logic and Design, Introductory, Fourth Edition 30

Using the Priming Read (continued)

• Corrrect

Programming Logic and Design, Introductory, Fourth Edition 31

Using the Priming Read (continued)• Functional and structured loop

Programming Logic and Design, Introductory, Fourth Edition 32

Using the Priming Read (continued)

• Priming read sets up the process so the loop can be structured

• To analyze a flowchart’s structure, try writing pseudocode for it

Programming Logic and Design, Introductory, Fourth Edition 33

Using the Priming Read (continued)

• What is wrong with this design?

Programming Logic and Design, Introductory, Fourth Edition 34

Understanding the Reasons for Structure

• Advantages of structure:– Provides clarity– Professionalism– Efficiency– Ease of maintenance– Supports modularity

Programming Logic and Design, Introductory, Fourth Edition 35

Understanding the Reasons for Structure (continued)

Programming Logic and Design, Introductory, Fourth Edition 36

Recognizing Structure (continued)

• Next, pull up the flowline on the right side of B

Programming Logic and Design, Introductory, Fourth Edition 37

Recognizing Structure (continued)

• Now pull up the flowline on the right side of D

Programming Logic and Design, Introductory, Fourth Edition 38

Recognizing Structure (continued)

• Bring together the loose ends of D and of B