flow charting, structured english and pseudocode damian gordon

Post on 19-Dec-2015

228 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Flow Charting, Structured English and PseudoCode

Damian Gordon

We will recall...

Flowcharts

• So let’s say we want to express the following algorithm:– Read in a number and print it out.

START

START

Read in A

START

Read in A

Print A

START

END

Read in A

Print A

Structured English and Pseudocode

Structured English

PROGRAM PrintNumber: Read in a number and print

it out.END.

Pseudocode

PROGRAM PrintNumber: Read A; Print A;END.

Flowcharts

• So let’s say we want to express the following algorithm:– Read in a number and print it out double the number.

START

START

Read in A

START

Read in A

Print A*2

START

END

Read in A

Print A*2

Structured English and Pseudocode

Structured English

PROGRAM DoubleNumber: Read in a number and print

double the number out.END.

Pseudocode

PROGRAM DoubleNumber: Read A; Print A*2;END.

Or alternatively...

START

START

Read in A

START

Read in A

B = A*2

START

Read in AB = A * 2

can be read as

“B gets the value of A

multiplied by 2”

B = A*2

START

Read in A

Print B

B = A*2

START

END

Read in A

Print B

B = A*2

Structured English and Pseudocode

Structured English

PROGRAM DoubleNumber: Read in a number and print

double the number out.END.

Pseudocode

PROGRAM DoubleNumber: Read A; B = A*2; Print B;END.

Flowcharts

• So let’s say we want to express the following algorithm:– Read in a number, check if it is odd or even.

START

START

Read in A

START

Does A/2 give a

remainder?

Read in A

START

Does A/2 give a

remainder?

Read in A

YesPrint “It’s Odd”

START

Does A/2 give a

remainder?

No

Read in A

YesPrint “It’s Odd” Print “It’s Even”

START

END

Does A/2 give a

remainder?

No

Read in A

YesPrint “It’s Odd” Print “It’s Even”

Structured English and Pseudocode

Structured English

PROGRAM OddOrEven: Read in a number. Divide it by two. If there is a remainder, the

number is odd, otherwise it’s even.

END.

Pseudocode

PROGRAM OddOrEven: Read A; IF A/2 gives a remainder THEN Print “It’s Odd”; ELSE Print “It’s Even”; ENDIF;END.

Flowcharts

• So let’s say we want to express the following algorithm to print out the bigger of two numbers:– Read in two numbers, call them A and B. Is A is bigger

than B, print out A, otherwise print out B.

START

START

Read in A and B

START

A>B?

Read in A and B

START

A>B?

Read in A and B

YesPrint A

START

A>B?No

Read in A and B

YesPrint A Print B

START

END

A>B?No

Read in A and B

YesPrint A Print B

Structured English and Pseudocode

Structured English

PROGRAM BiggerOfTwo: Read in a number. Read in a second number. If the first number is bigger,

then print out that number, otherwise print out the other number.

END.

Pseudocode

PROGRAM BiggerOfTwo : Read A; IF (A>B) THEN Print A; ELSE Print B; ENDIF;END.

Flowcharts

• So let’s say we want to express the following algorithm to print out the bigger of three numbers:– Read in three numbers, call them A, B and C.

• If A is bigger than B, then if A is bigger than C, print out A, otherwise print out C.

• If B is bigger than A, then if B is bigger than C, print out B, otherwise print out C.

START

START

Read in A, B and C

START

A>B?

Read in A, B and C

START

A>B?

Read in A, B and C

YesA>C?

START

A>B?No

Read in A, B and C

YesA>C? B>C?

START

A>B?No

Read in A, B and C

YesA>C? B>C?

Print C

NoNo

START

A>B?No

Read in A, B and C

YesA>C? B>C?

Print A Print C

Yes

NoNo

START

A>B?No

Read in A, B and C

YesA>C? B>C?

Print A Print C Print B

Yes Yes

NoNo

START

END

A>B?

No

Read in A, B and C

YesA>C? B>C?

Print A Print C Print B

Yes Yes

No

No

Structured English and Pseudocode

Structured English

PROGRAM BiggerOfThree: Read in a number. Read in a second number. Read in a third number. If the first number is bigger than the

second, then if the first number is bigger than the third, then print out the first number, otherwise print out the third number number.

If the first number is smaller than the second, then if the second number is bigger than the third, then print out the second number, otherwise print out the third number.

END.

PseudocodePROGRAM BiggerOfThree: Read A; Read B; Read C; IF A>B THEN IF A>C THEN Print A ELSE Print C END IF; ELSE IF B>C THEN Print B ELSE Print C END IF; END IF;END.

Flowcharts

• So let’s say we want to express the following algorithm:– Print out the numbers from 1 to 5

START

START

Print 1

START

Print 1

Print 2

START

Print 1

Print 2

Print 3

START

Print 1

Print 2

Print 3

Print 4

START

Print 1

Print 2

Print 3

Print 4

Print 5

START

END

Print 1

Print 2

Print 3

Print 4

Print 5

Structured English and Pseudocode

Structured English

PROGRAM Print1to5: Print out 1. Print out 2. Print out 3. Print out 4. Print out 5.END.

Pseudocode

PROGRAM Print1to5: Print 1; Print 2; Print 3; Print 4; Print 5;END.

Or alternatively...

Flowcharts

• If I say A = A + 1, that means “A gets the value of whatever is in itself, plus 1”

• If A is 14• It becomes 15

A(new)

15A(old)

14 + 1

A = A + 1

START

START

A = 1

START

Is A==6?

A = 1

START

Is A==6?No

A = 1

Print A

START

Is A==6?No

A = 1

Print A

A = A + 1

START

Is A==6?No

A = 1

Print A

A = A + 1

START

END

Is A==6?No

A = 1

Yes

Print A

A = A + 1

Structured English and Pseudocode

Structured English

PROGRAM Print1to5: Keep printing out numbers

until you reach 5. END.

Pseudocode

PROGRAM Print1to5: A = 1; WHILE (A != 6) DO Print A; A = A + 1; ENDWHILE;END.

Flowcharts

• So let’s say we want to express the following algorithm:– Add up the numbers 1 to 5

Flowcharts

• But first a few points; • If I say T = 5, that means “T gets the value

5”

T = 5

Flowcharts

• But first a few points; • If I say T = 5, that means “T gets the value

5”

T

T = 5

Flowcharts

• But first a few points; • If I say T = 5, that means “T gets the value

5”

T

5

T = 5

Flowcharts

• If I say T = X, that means “T gets the value of whatever is in the variable X”

T = X

Flowcharts

• If I say T = X, that means “T gets the value of whatever is in the variable X”

• So if X is 14, then T will get the value 14.

T = X

Flowcharts

• If I say T = X, that means “T gets the value of whatever is in the variable X”

• So if X is 14, then T will get the value 14.

T

X14

14

T = X

Flowcharts

• If I say T = X+1, that means “T gets the value of whatever is in the variable X plus one”

T = X + 1

Flowcharts

• If I say T = X+1, that means “T gets the value of whatever is in the variable X plus one”

• So if X is 14, T becomes 15, and X stays as 14.

T = X + 1

Flowcharts

• If I say T = X+1, that means “T gets the value of whatever is in the variable X plus one”

• So if X is 14, T becomes 15, and X stays as 14.

T

X15

14+ 1

T = X + 1

Flowcharts

• If I say T = T + X, that means “T gets the value of whatever is in itself plus whatever is in the variable X”

T = T + X

Flowcharts

• If I say T = T + X, that means “T gets the value of whatever is in itself plus whatever is in the variable X”

• If T is 14 and X is 9• T becomes 23• X stays at 9

T = T + X

Flowcharts

• If I say T = T + X, that means “T gets the value of whatever is in itself plus whatever is in the variable X”

• If T is 14 and X is 9• T becomes 23• X stays at 9

T(new)

X23

9T(old)

14

T = T + X

Flowcharts

• So let’s say we want to express the following algorithm:– Add up the numbers 1 to 5 and print out the result

START

START

Total = 0

START

A = 1

Total = 0

START

Is A==6?

A = 1

Total = 0

START

Is A==6?No

A = 1

Total = Total + A;

Total = 0

START

Is A==6?No

A = 1

Total = Total + A;

A = A + 1

Total = 0

START

Is A==6?No

A = 1

Yes

Total = Total + A;

A = A + 1

Total = 0

Print Total

START

END

Is A==6?No

A = 1

Yes

Total = Total + A;

A = A + 1

Total = 0

Print Total

Structured English and Pseudocode

Structured English

PROGRAM PrintSum1to5: Keep adding the numbers

from 1 to 5.END.

Pseudocode

PROGRAM PrintSum1to5: Total = 0; A = 1; WHILE (A != 6) DO Total = Total + A; A = A + 1; ENDWHILE; Print Total;END.

Flowcharts

• So let’s say we want to express the following algorithm:– Read in a number and check if it’s a prime number.

Flowcharts

• So let’s say we want to express the following algorithm:– Read in a number and check if it’s a prime number.– What’s a prime number?

Flowcharts

• So let’s say we want to express the following algorithm:– Read in a number and check if it’s a prime number.– What’s a prime number?– A number that’s only divisible by itself and 1, e.g. 7.

Flowcharts

• So let’s say we want to express the following algorithm:– Read in a number and check if it’s a prime number.– What’s a prime number?– A number that’s only divisible by itself and 1, e.g. 7. – Or to put it another way, every number other than itself and 1

gives a remainder, e.g. For 7, if 6, 5, 4, 3, and 2 give a remainder then 7 is prime.

Flowcharts

• So let’s say we want to express the following algorithm:– Read in a number and check if it’s a prime number.– What’s a prime number?– A number that’s only divisible by itself and 1, e.g. 7. – Or to put it another way, every number other than itself and 1

gives a remainder, e.g. For 7, if 6, 5, 4, 3, and 2 give a remainder then 7 is prime.

– So all we need to do is divide 7 by all numbers less than it but greater than one, and if any of them have no remainder, we know it’s not prime.

Flowcharts

• So, • If the number is 7, as long as 6, 5, 4, 3, and

2 give a remainder, 7 is prime.• If the number is 9, we know that 8, 7, 6, 5,

and 4, all give remainders, but 3 does not give a remainder, it goes evenly into 9 so we can say 9 is not prime

Flowcharts

• So remember, – if the number is 7, as long as 6, 5, 4, 3, and 2

give a remainder, 7 is prime.• So, in general, – if the number is A, as long as A-1, A-2, A-3, A-

4, ... 2 give a remainder, A is prime.

START

START

Read in A

START

Read in A

B = A -1

START

Read in A

B = A -1

Is B = = 1?

START

Read in A

B = A -1

NoIs B = = 1?

START

Read in A

B = A -1

NoIs B = = 1?

Does A/B give a

remainder?

START

Read in A

B = A -1

NoIs B = = 1?

YesDoes

A/B give a remainder?

START

Read in A

B = A -1

NoB = B - 1 Is B = = 1?

YesDoes

A/B give a remainder?

START

Read in A

B = A -1

NoB = B - 1 Is B = = 1?

YesDoes

A/B give a remainder?

START

Read in A

B = A -1

NoB = B - 1 Is B = = 1?

YesDoes

A/B give a remainder?

No

Print “Not Prime”

START

Yes

Read in A

Print “Prime”

B = A -1

NoB = B - 1 Is B = = 1?

No

Print “Not Prime”

YesDoes

A/B give a remainder?

START

END

Yes

Read in A

Print “Prime”

B = A -1

NoB = B - 1 Is B = = 1?

No

Print “Not Prime”

YesDoes

A/B give a remainder?

Structured English and PseudocodeStructured English

PROGRAM Prime: Read in a number Divide that number by

every number less than it, but greater than one.

If any of them divide in evenly, then it’s not prime, otherwise it is prime.

END.

PseudocodePROGRAM Prime: Read A; B = A - 1; IsPrime=True; WHILE (B != 1) DO IF (A/B gives no remainder) THEN IsPrime= False; ENDIF; B = B – 1; ENDWHILE; IF (IsPrime == true) THEN Print “Prime”; ELSE Print “Not Prime”; ENDIF;END.

top related