Transcript PseudoCode
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
Read in A
Print A
END
Structured English and Pseudocode
Structured English
Pseudocode
PROGRAM PrintNumber:
Read in a number and print
it out.
END.
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
Read in A
Print A*2
END
Structured English and Pseudocode
Structured English
Pseudocode
PROGRAM DoubleNumber:
Read in a number and print
double the number out.
END.
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 A
B=A*2
B = A*2
can be
read as
“B gets the
value of A
multiplied by 2”
START
Read in A
B = A*2
Print B
START
Read in A
B = A*2
Print B
END
Structured English and Pseudocode
Structured English
Pseudocode
PROGRAM DoubleNumber:
Read in a number and print
double the number out.
END.
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
Read in A
Does A/2
give a
remainder?
START
Read in A
Print “It’s Odd”
Yes
Does A/2
give a
remainder?
START
Read in A
Print “It’s Odd”
Yes
Does A/2
give a
remainder?
No
Print “It’s Even”
START
Read in A
Print “It’s Odd”
Yes
Does A/2
give a
remainder?
END
No
Print “It’s Even”
Structured English and Pseudocode
Structured English
Pseudocode
PROGRAM OddOrEven:
Read in a number.
Divide it by two.
If there is a remainder, the
number is odd, otherwise
it’s even.
END.
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
Read in A and B
A>B?
START
Read in A and B
Print A
Yes
A>B?
START
Read in A and B
Print A
Yes
A>B?
No
Print B
START
Read in A and B
Print A
Yes
A>B?
END
No
Print B
Structured English and Pseudocode
Structured English
Pseudocode
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.
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
Read in A, B and C
A>B?
START
Read in A, B and C
A>C?
Yes
A>B?
START
Read in A, B and C
A>C?
Yes
A>B?
No
B>C?
START
Read in A, B and C
A>C?
Yes
A>B?
No
No
B>C?
No
Print C
START
Read in A, B and C
Yes
A>C?
Yes
A>B?
No
Print A
No
B>C?
No
Print C
START
Read in A, B and C
Yes
A>C?
Yes
A>B?
Yes
B>C?
No
No
Print A
No
Print C
Print B
START
Read in A, B and C
Yes
A>C?
Yes
A>B?
Yes
B>C?
No
No
Print A
No
Print C
END
Print B
Structured English and Pseudocode
Structured English
Pseudocode
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.
PROGRAM 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
Print 1
Print 2
Print 3
Print 4
Print 5
END
Structured English and Pseudocode
Structured English
Pseudocode
PROGRAM Print1to5:
Print out 1.
Print out 2.
Print out 3.
Print out 4.
Print out 5.
END.
PROGRAM Print1to5:
Print 1;
Print 2;
Print 3;
Print 4;
Print 5;
END.
Or alternatively...
Flowcharts
A=A+1
• 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
14
A
+1
(old)
15
A
(new)
START
START
A=1
START
A=1
Is A==6?
START
A=1
Is A==6?
No
Print A
START
A=1
A=A+1
Is A==6?
No
Print A
START
A=1
A=A+1
Is A==6?
No
Print A
START
A=1
A=A+1
Is A==6?
Yes
END
No
Print A
Structured English and Pseudocode
Structured English
Pseudocode
PROGRAM Print1to5:
Keep printing out numbers
until you reach 5.
END.
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
T=5
• But first a few points;
• If I say T = 5, that means “T gets the value
5”
Flowcharts
T=5
• But first a few points;
• If I say T = 5, that means “T gets the value
5”
T
Flowcharts
T=5
• But first a few points;
• If I say T = 5, that means “T gets the value
5”
5
T
Flowcharts
T=X
• If I say T = X, that means “T gets the value
of whatever is in the variable X”
Flowcharts
T=X
• 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.
Flowcharts
T=X
• 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.
14
T
14
X
Flowcharts
T=X+1
• If I say T = X+1, that means “T gets the
value of whatever is in the variable X plus
one”
Flowcharts
T=X+1
• 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.
Flowcharts
T=X+1
• 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.
+1
15
T
14
X
Flowcharts
T=T+X
• If I say T = T + X, that means “T gets the
value of whatever is in itself plus whatever
is in the variable X”
Flowcharts
T=T+X
• 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
Flowcharts
T=T+X
• 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
14
• T becomes 23
T(old)
• X stays at 9
23
T
(new)
9
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
Total = 0
A=1
START
Total = 0
A=1
Is A==6?
START
Total = 0
A=1
Is A==6?
No
Total = Total + A;
START
Total = 0
A=1
A=A+1
Is A==6?
No
Total = Total + A;
START
Total = 0
A=1
A=A+1
Is A==6?
Yes
Print Total
No
Total = Total + A;
START
Total = 0
A=1
A=A+1
Is A==6?
Yes
Print Total
END
No
Total = Total + A;
Structured English and Pseudocode
Structured English
Pseudocode
PROGRAM PrintSum1to5:
Keep adding the numbers
from 1 to 5.
END.
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, A4, ... 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
No
Is B = = 1?
START
Read in A
B = A -1
No
Does
A/B give a
remainder?
Is B = = 1?
START
Read in A
B = A -1
No
Yes
Does
A/B give a
remainder?
Is B = = 1?
START
Read in A
B = A -1
B=B-1
Yes
No
Does
A/B give a
remainder?
Is B = = 1?
START
Read in A
B = A -1
B=B-1
Yes
No
Does
A/B give a
remainder?
Is B = = 1?
START
Read in A
B = A -1
B=B-1
Yes
No
Does
A/B give a
remainder?
No
Print “Not Prime”
Is B = = 1?
START
Read in A
B = A -1
B=B-1
Yes
No
Does
A/B give a
remainder?
No
Print “Not Prime”
Is B = = 1?
Yes
Print “Prime”
START
Read in A
B = A -1
B=B-1
Yes
No
Is B = = 1?
Does
A/B give a
remainder?
No
Print “Not Prime”
END
Yes
Print “Prime”
Structured English and Pseudocode
Structured English
Pseudocode
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.
PROGRAM 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.