Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
Algorithms:
An algorithm is a sequence of steps done to perform some task.
The essential aim of an algorithm is to get a specific output,
An algorithm involves with several continuous steps,
The output comes after the algorithm finished the whole process.
So basically, all algorithms perform logically while following the steps to get an output for a
given input.
Types of Algorithms:
Structured English
Flowcharts
Pseudo codes
STRUCTURED ENGLISH:
Structured English provides a more formal way of documenting the stages of the algorithm.
Structured English is a subset of English language that consists of command statements used
to describe an algorithm.
FLOWCHARTS:
Flow chart is a graphical representation of a program.
Flowcharts use different symbols containing information about steps or a sequence of events.
Flowchart Symbols: START/ STOP
INPUT/ OUTPUT PROCESS
PRE DEFINED PROCESS
DECISION
DATA FLOW LINES IF condition?
PSEUDOCODE:
Pseudo code is an outline of a program, written as a series of instruction using simple English
sentences.
Pseudo code uses keywords commonly found in high-level languages and mathematical notation. It
1
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
describes an algorithm‟s steps like program statements, without being bound by the strict rules of
vocabulary and syntax of any particular language, together with ordinary English.
Variable:
Variable is memory location where a value can be stored.
Constants:
Just like variables, constants are "dataholders". They can be used to store data that is needed
at runtime.
In contrast to variable, the content of a constant can't change at runtime, it has a constant value.
Before the program can be executed (or compiled) the value for a constant must be known.
Arithmetic
Use the arithmetic operators.
Assignment
Assignment is the process of writing a value into a variable (a named memory location). For
example, Count ← 1 can be read as „Count is assigned the value 1‟, „Count is made equal to 1‟
or „Count becomes 1‟.
Initialization:
If an algorithm needs to read the value of a variable before it assigns input data or a calculated
value to the variable, the algorithm should assign an appropriate initial value to the variable,
known as Initialization.
Input
We indicate input by words such as INPUT, READ or ENTER, followed by the name of a
variable to which we wish to assign the input value.
Output:
We indicate output by words such as OUTPUT, WRITE or PRINT, followed by a comma-
separated list of expressions.
Totaling
To keep a running total, we can use a variable such as Total or Sum to hold the running total
and assignment statements such as:
Total ← Total + Number
ADD Number to Total
Counting
It is sometimes necessary to count how many times something happens.
To count up or increment by 1, we can use statements such as:
Count ← Count + 1
INCREMENT Count by 1
2
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
Structured statements
In the sequence structure the processing steps are carried out one after the other. The
instructions are carried out in sequence, unless a selection or loop is encountered.
Operator Comparison
> Greater than
< Less than
>= Greater than equal to
<= Less than equal to
= Equals to
<> Not equal
() Group
AND And
OR Or
NOT not
Data types
The following table shows the Visual Basic data types, their supporting common language runtime types,
their nominal storage allocation, and their value ranges.
Basic Data Types
A variable can store one type of data. The most used data types are:
3
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
Declaration of Variables and Constant:
The process of creating a variable is called declaring a variable. Variables must be created or declared
where users enter their data.
Pseudo code
BEGIN
DECLARE variable As Datatype
Variable 0 //initialization
OUTPUT (“What is your Email address”)
INPUT variable value
IF valid email address?
Then ...
END
Each declaration needs 4 things:
Pseudo code
• DECLARE keyword
• Variable name
• AS keyword
• Variable data type
DECLARE variable As Datatype
Constants
Creating Constants in Pseudocode is just writing costant name and value with it. In contrast to variable,
the content of a constant can't change at runtime, it has a constant value.
CONSTANT <identifier> = <Value>
CONSTANT Pi 3.1415 or CONSTANT Pi = 3 .14
4
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
Type of Programs:
Sequence
Selection
Repetitions/Loops
Sequence
Statements are followed in sequence so the order of the statements in a program is important.
Assignment statements rely on the variables used in the expression on the right-hand side of
the statement all having been given values. Input statements often provide values for
assignment statements. Output statements often use the results from assignment statements.
5
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
PSEUDOCODE
BEGIN
DECLARE number1 As Integer
DECLARE number2 As Integer
DECLARE sum As Integer
DECLARE product As Integer
PRINT (“Enter number 1”)
INPUT number1
PRINT (“Enter number 2”)
INPUT number2
Sum number1 + number2
product number1 * number2
PRINT (“the sum is”)
PRINT (sum)
PRINT (“the product is”)
PRINT (product)
END
FLOWCHART
6
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
Pseudocode
BEGIN
DECLARE miles,km As REAL
OUTPUT (“Enter miles”)
INPUT miles
km miles * 1.61
OUTPUT(“Km are : ” & km)
END
Structured statements for selection (conditional statements)
These statements are used to select alternative routes through an algorithm; selection‟s logical
expressions often involve comparisons, which can operate on text strings as well as numbers.
IF…THEN…ELSE…ENDIF
CASE…OF…OTHERWISE…ENDCASE
IF…THEN…ELSE…ENDIF
For an IF condition the THEN path is followed if the condition is true and the ELSE path is
followed if the condition is false.
There may or may not be an ELSE path. The end of the statement is shown by ENDIF.
A condition can be set up in different ways:
IF ((Height > 1) OR (Weight > 20) OR (Age > 5)) AND (Age < 70)
THEN PRINT "You can ride"
ELSE PRINT "Too small, too young or too old"
ENDIF
CASE … OF … OTHERWISE … ENDCASE
For a CASE condition the value of the variable decides the path to be taken. Several values are
usually specified. OTHERWISE is the path taken for all other values. The end of the statement
is shown by ENDCASE.
The algorithm below specifies what happens if the value of Choice is 1, 2, 3 or 4.
7
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
CASE Choice OF
1: Answer ← Num1 + Num2
2: Answer ← Num1 - Num2
3: Answer ← Num1 * Num2
4: Answer ← Num1 / Num2
OTHERWISE PRINT "Please enter a valid choice"
ENDCASE
The IF THEN statement
PSEUDOCODE
BEGIN
DECLARE grade As Integer
PRINT ("Enter your grade")
INPUT grade
IF grade > 50
THEN PRINT ("You have passed")
ELSE PRINT (“You have failed”)
END IF
END
FLOWCHART:
START
INPUT
marks
IF marks>50
No OUTPUT
(“Fail”)
Yes
OUTPUT
(“Pass”) STOP
8
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
BEGIN
DECLARE grade As Integer PRINT
("Enter a grade")
INPUT grade IF grade
> 80
THEN PRINT ("Grade A")
ELSE IF grade > 60
THEN PRINT ("Grade B")
ELSE IF grade > 50 THEN PRINT
("Grade C") ELSE PRINT ("Grade
U")
END IF END IF
END IF
END
IF THEN, ELSE-IF statements
The IF statement is useful, but can get clumsy if you want to consider “multi-way selections
CASE OF OTHERWISE… FLOWCHART
START
Pseudo code
BEGIN INPUT marks
DECLARE grade As Integer
PRINT ("Enter your grade")
INPUT grade marks>=80? OUTPUT
CASE grade OF Yes (“Grade A”)
grade >= 80 No
PRINT ("Grade A") OUTPUT
grade >= 70 marks>=70? (“Grade B”)
PRINT ("Grade B") Yes
grade >= 60 No OUTPUT
PRINT ("grade C") marks>=60? (“Grade C”)
grade >= 50 Yes
PRINT ("grade D") No
grade >= 40 OUTPUT
PRINT ("grade E") marks>=50? (“Grade D”)
OTHERWISE Yes
PRINT("Grade U, Repeat Exam")
No OUTPUT
Yes (“Grade D”)
marks>=40?
END CASE No
END OUTPUT Yes STOP
(“Grade U)
9
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
LOOPS (Structured statements for iteration (repetition)
Many problems involve repeating one or more statements, so it is useful to have structured
statements for controlling these iterations or repetitions. Exit conditions consist of logical
expressions whose truth can be tested, such as Count = 10 or Score < 0. At a particular time, a
logical expression is either True or False.
FOR…TO…NEXT
WHILE…DO…ENDWHILE
REPEAT…UNTIL
FOR … NEXT LOOP
This is to be used when loop is to be repeated a known fixed number of times.
The counter is automatically increased each time the loop is performed.
FOR count = 1 to 10
INPUT number
total = total + number
NEXT count
10
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
WHILE … Do LOOP
This loop is used when we don‟t know how many times the loop is to be performed. The Loop is
ended when a certain condition is true.
This condition is checked before starting the loop.
While COUNT < 10 DO
Input NUMBER
TOTAL = TOTAL + NUMBER
COUNT = COUNT + 1
Endwhile
Output TOTAL
REPEAT … UNTIL LOOP
REPEAT UNTIL Loop is used when we do not know how many times loop will be performed.
The Loop is ended when a certain conation is true.
The Condition is checked at the end of the Loop and so a REPEAT Loop always has to be
performed at least once.
REPEAT
Input NUMBER
TOTAL = TOTAL + NUMBER
COUNT = COUNT + 1
Until COUNT = 10
Output Total
FOR loop
The fore loop repeats statements a set number of time. It uses a variable to count how many time it goes
round the loop and stops when it reaches its limit.
BEGIN
DECLARE index As Integer
FOR index = 1 To 20
PRINT (index & “times 5 is" & index * 5”)
NEXT
11
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
Other examples of FOR loop
BEGIN
DECLARE BiggestSoFar, NextNumber, Counter As Integer
INPUT BiggestSoFar
FOR Counter 1 TO 5
INPUT NextNumber
IF NextNumber > BiggestSoFar
THEN
BiggestSoFar NextNumber
ENDIF
END FOR
OUTPUT (“The biggest number so far is” & BiggestSoFar)
END
12
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
13
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
WHILE DO ENDWHILE loop
The wile loop is known as a test before loop. The condition is tested before entering the loop, but tested
each time it goes round the loop. The number of times the statements within the loop are executed
varies. The test before loop goes round 0 or more times.
This method is useful when processing files and using “read ahead” data
BEGIN
DECLARE name As String
INPUT name
WHILE name <> "x"
PRINT (“Your name is: “name)
INPUT name
END WHILE
END
REPEAT UNTIL loop
The repeat loop is similar to the while loop, but it tests the condition after the statements have been
executed once. This means that this test after loop goes round 1 or more times.
BEGIN
DECLARE name As String
REPEAT
INPUT name
PRINT (“Your name is:” name)
UNTIL name = "x"
END
Keeps inputting name and keeps printing name until user enters “X”
14
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
FLOWCHART…WHILE-ENDWHILE
START
INPUT name LOOP
WHILE OUTPUT (“Your
name <> “x” name is”)
Yes OUTPUT (name)
No
STOP
FLOWCHART…REPEAT-UNTIL
START
INPUT name
LOOP
OUTPUT (“Your
name is”)
OUTPUT (name)
UNTIL
No
name= “x”
Yes
STOP
15
Computer Science 221
2.1.1, 2.1.2
1 - Pseudocode, Flowcharts & Programming
16