slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
LOGICAL CONTROL STRUCTURES (chp. 8) PowerPoint Presentation
Download Presentation
LOGICAL CONTROL STRUCTURES (chp. 8)

Loading in 2 Seconds...

play fullscreen
1 / 8

LOGICAL CONTROL STRUCTURES (chp. 8) - PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on

LOGICAL CONTROL STRUCTURES (chp. 8). 1. Sequence – move, add, write, etc. 2. Selection – if 3. Iteration – perform. Function A. Function B. Entry. Exit. true. Function A. Exit. condition. Entry. Function B. false. true. condition. Entry. Exit. Function A.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'LOGICAL CONTROL STRUCTURES (chp. 8)' - alden-farmer


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

LOGICAL CONTROL STRUCTURES (chp. 8)

1. Sequence – move, add, write, etc.

2. Selection – if

3. Iteration – perform

Function A

Function B

Entry

Exit

true

Function A

Exit

condition

Entry

Function B

false

true

condition

Entry

Exit

Function A

false

Statement Syntax

slide2

IF STATEMENTS

For Your Information

A condition should evaluate to TRUE or FALSE.

If the condition is true, the statements are executed.

If the condition is false, the ELSE section of statements is executed, if it exists. Remember, the ELSE is optional

Relational operators have equivalent worded clauses. For example, “is less than” and “is greater than or equal to”.

AND and OR go between two conditions that evaluate to true or false.

Conditions are evaluated

Syntax Definition:

IF condition-1 [THEN]

statement(s)-1

[ELSE

statement(s)-2]

[END-IF]

Conditions:

Relational operators: <, >, <=, >=, =

Logical operators: AND, OR, NOT

Reminder:

left right AND OR NOT left

T T T T F

T F F T

F T F T T

F F F F

Examples:

See example code

Statement Syntax

slide3

CONDITIONS

CONDITION-1 can be defined as:

identifier-1 IS [NOT] { identifier-2 }

GREATER THAN (>)

LESS THAN (<)

EQUALTO (=)

LESS THAN OREQUALTO (<=)

GREATER THAN OREQUALTO (>=)

{ }

NUMERIC

ALPHABETIC

POSITIVE

NEGATIVE

ZERO

ALPHABETIC-UPPER

ALPHABETIC-LOWER

Statement Syntax

slide4

MORE ON CONDITIONS

COLLATING SEQUENCE – EBCDIC (ibm) and ASCII (unix)

LOW spaces spaces

special characters special characters

a-z 0-9

A-Z A-Z

HIGH 0-9 a-z

PRECEDENCE

conditions surrounding AND

conditions surrounding OR

AND from left to right

OR from left to right

FYI: use parenthesis to override the above precedence

Examples where a=1, b=2, c=2, d=3

a > c and b > c (true ….. false)

a > c or b > c (true ….. false)

a = b and b = c and a = d (true ….. false)

a = b or b = c or a = d (true ….. false)

a = b or b = c and a = d (true ….. false)

a = b and b = c or a = d (true ….. false)

Examples

“smith” _____ “saunders”

“Smith” _____ “saunders”

“hi” ________ “hello”

“YES” ______ “yes”

“abc123” ______ “123abc”

“aBc” _______ “AbC”

Statement Syntax

slide5

IMPLIED CONDITIONS

The first test in a condition must be a “full test” meaning it evaluates to TRUE or FALSE on its own

The subsequent conditions can have implied operands and/or operators

if a = b and a = c

if a = b and = c

if a = b and c

see example code…

OTHER!

Numeric/alphabetic is a CLASS test

Positive/negative/zero is a SIGN test

should have an S in the pic clause

absolute value example (also in book)

not negative is not equal to positive

not greater than or equal to is equivalent to less than

Statement Syntax

slide6

CONDITION NAMES

For Your Information

Since a condition should evaluate to true or false, a condition name should also evaluate to true or false.

Like all other level numbers, the condition name level number 88 also appears in the working-storage section of the data division.

Each condition name has an equivalent condition using the 01 level data name. For instance, for example 1:

read input-file

at end move “yes” to eof-switch.

perform para-1 until eof-switch = “yes”

For example 2:

if college-rank = 1 move “FR” to rank-desc

if college-rank = 1 or 2 or 3 or 4

move “UG” to rank-course.

if college-rank > 4 move “G” to rank-course.

Syntax Definition:

88 condition-name VALUE literal

[…] | [THRU | THROUGH literal]

Examples:

01 eof-switch pic xxx value “no”.

88 eof-cond value “yes”.

perform para-1 until eof-cond.

01 college-rank pic 9.

88 rank-fresh value 1.

88 rank-soph value 2.

88 rank-junior value 3.

88 rank-senior value 4.

88 under-grad value 1 2 3 4.

If rank-fresh move “FR” to rank-desc.

If rank-soph move “SO” to rank-desc….

If under-grad move “UG” to rank-course.

If not under-grad move “G” to rank-course.

Statement Syntax

slide7

EVALUATE STATEMENTS

Syntax Definition:

EVALUATETRUE

{WHEN condition-1 stmt-group-1…}

[WHENOTHER stmt-group-2]

[END-EVALUATE]

Examples:

Evaluate true

when college-rank = 1

move “FR” to rank-desc

move “UG” to rank-course

when college-rank = 2…

when college-rank = 3…

when college-rank = 4…

when college-rank > 4…

when other perform 500-error-routine

End-evaluate

For Your Information

Equivalent to nested IF structures.

Only the first condition that is true is executed (like an IF structure!).

Can use condition names i.e instead of condition-1 being college-rank = 1, you can use rank-fresh.

Other evaluate syntax definition…

Statement Syntax

slide8

PERFORM STATEMENTS (chp.9)

For Your Information

“with test before” is the default.

FROM is the initial value of identifier-1

BY is the modifying value for identifier-1

Initialize, test, execute,

modify, test, execute,…

Move 1 to a.

Perform until a > 10

display “a = “ a

add 1 to a

End-perform

Perform varying a from 1 by 1 until a > 10

display “a = “ a

End-perform

Q1. What if “”with test after”?

Q2. What is value of “a” once loop has finished executing?!

Q3. What if add/display in different order?

TYPES:

Perform-Until

Perform # Times

Perform Varying

Syntax Definition:

PERFORM [paragraph-name-1]

{identifier-1 | integer-1} TIMES

PERFORM [paragraph-name-1]

[ {THROUGH | THRU} paragraph-name-2 ]

[WITHTEST {BEFORE | AFTER} ]

[VARYING identifier-1

FROM { identifier-2 | integer-2}

BY {identifier-3 | integer-3} ]

UNTIL condition-1

AFTER

Init, exec, test

Mod, exec, test,…

identifier-1| integer-1 must be positive integer or zero

identifier-2 | integer-2 and identifier-3|integer-3 can be positive or negative real values

Statement Syntax