Algorithm, Flowchart & ProgramingCh11
Algorithm, Flowchart & ProgramingCh11
Algorithm, Flowchart & ProgramingCh11
programing
Chapter 11
What we will be cover in this
chapter
Algorithms
show understanding that an algorithm is a solution to a problem expressed as a sequence of defined steps
use suitable identifier names for the representation of data used by a problem
o summarise identifier names using an identifier table
show understanding that many algorithms are expressed using the four basic constructs of assignment, sequence, selection and repetition
show understanding that simple algorithms consist of input, process, output at various stages
document a simple algorithm using:
o Structured English
o pseudocode (on the examination paper, any given pseudocode will be presented
using the Courier New font)
o program flowchart
derive pseudocode or a program flowchart from a structured English description of a problem
derive pseudocode from a given program flowchart or vice versa
use the process of stepwise refinement to express an algorithm to a level of detail from which the task may be programmed
decompose a problem into sub-tasks leading to the concept of a program module (procedure/ function)
show an appreciation of why logic statements are used to define parts of an algorithm solution
use logic statements to define parts of an algorithm solution
2.2.1 Data types
• select appropriate data types for a problem solution
• use in practical programming the data types that are common to
procedural high-level languages: integer, real, char, string, Boolean,
date (pseudocode will use the following data types: INTEGER, REAL,
CHAR, STRING, BOOLEAN, DATE, ARRAY, FILE)
• show understanding of how character and string data are represented
by software including the ASCII and Unicode character sets
2.2.2 Arrays
• use the technical terms associated with arrays including upper and
lower bound
• select a suitable data structure (1D or 2D array) to use for a given task
• use pseudocode for 1D and 2D arrays (pseudocode will use square
brackets to contain the array subscript, for example a 1D array as
A[1:n] and a 2D array as C[1:m, 1:n])
• write program code using 1D and 2D arrays
• write algorithms/program code to process array data including:
2.3.1 Programming basics
• write a program in a high-level language (The nature of the language should be procedural and will be chosen
by the Centre from the following: Python, Visual Basic (console mode), Pascal/Delphi (console mode))
• implement and write a program from a given design presented as either a program flowchart or pseudocode
• write program statements for:
• the declaration of variables and constants
• the assignment of values to variables and constants
• expressions involving any of the arithmetic or logical operators
• input from the keyboard and output to the console given pseudocode will use the
• following structures:
• DECLARE <identifier> : <data type> // declaration
• CONSTANT <identifier> = <value>
• <identifier> ← <value> or <expression> // assignment oINPUT <identifier>
• OUTPUT <string> , OUTPUT <identifier(s)>
2.3.2 Transferable skills
• Recognise the basic control structures in a high-level language other than the one chosen to be
studied in depth
• appreciate that program coding is a transferable skill
• 2.3.3 Selection
• use an „IF‟ structure including the „ELSE‟ clause and nested IF statements use a „CASE‟ structure
• 2.3.4 Iteration
• use a „count-controlled‟ loop:
• FOR <identifier> ← <value1> TO <value2> <statement(s)> ENDFOR
• alternatively: FOR <identifier> ← <value1> TO <value2> STEP <value3>
• <statement(s)> ENDFOR use a „post-condition‟ loop:
• REPEAT <statement(s)> UNTIL <condition> use a „pre-condition‟ loop
• WHILE <condition> <statement(s)> ENDWHILE • justify why one loop structure may be better
suited to a problem than the others
• 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 Program Code
• 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.
Flowcharts symbols
• Flowcharts line
Process
Input \ output
Decision
Making
Start \ end
• 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 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 "data holders". 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
• 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.
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:
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 Data type
• 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 VB code example:
• • DECLARE keyword
• • Variable name
• • AS keyword
• • Variable data type
• DECLARE variable As Datatype
• Declaring Multiple Variables:
• Pseudocodes VB Code Console Mode
• DECLARE index As Integer
• DECLARE grade As Integer
• DECLARE counter As Integer
• The three declarations above can be rewritten as one declaration if
same data type is used:
• DECLARE index, grade, counter As Integer
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
Type of Programs
• Sequence
• Selection
• Repetitions/Loops
1-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.
• CODE VB code example
• 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
• 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.
• 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 VB Code
• 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
• IF THEN, ELSE-IF statements VB code example
• 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
• The IF statement is useful, but can get clumsy if you want to consider “multi-
way selections
• CASE OF OTHERWISE…
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
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
• 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 VB code example:
Other examples of FOR loop
• BEGIN
• DECLARE BiggestSoFar, NextNumber, Counter As Integer Sample VB Code of above Pseudocode:
• 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
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
Array Data Type
• An array is a special variable that has one name, but can store multiple
values. Each value is stored in an element pointed to by an index. The first
element in the array has index value 0, the second has index 1, etc
• One Dimensional Arrays
• A one dimensional array can be thought as a list. An array with 10 elements,
called names, can store 10 names and could be visualized as this:
Arrays (One-dimensional arrays)
• In order to use a one-dimensional array in a computer program, you need to consider:
• • What the array is going to be used for, so it can be given a meaningful name
• • How many items are going to be stored, so the size of the array can be determined.
• • What sort of data is to be stored, so that the array can be the appropriate data type.
• This array would be created by:
DECLARE names (9) As String
• PRINT (names (1))
• will display James
• PRINT (names (7))
• Will display Mathew
Entering Values in One-Dimension
Array
• BEGIN
• DECLARE count As Integer
• DECLARE name (5) As String // for declaring 5 elements in ARRAY
• DECLARE marks (5) As Integer
• FOR count = 1 to 5 // for inputting 5 names and grades
• PRINT (“Enter Name “& count)
• INPUT name (count)
• PRINT (“Enter grade for “& name (count)) INPUT grades (count)
• NEXT count
• // for displaying 5 names and grades
• FOR count 1 to 5
• PRINT (name (count) & “has grade " & grades (count)) NEXT count
• END
VB Code in Console Mode
Another example of One-
Dimensional
• Module Module1
Array
Next count
For count = 0 To 4
• Sub Main()
Console.WriteLine("your name is : " & name(count))
• Dim count As Integer Console.WriteLine("your gender is : " & gender(count))
• Dim name(4) As String Console.WriteLine("your marks are : " & marks(count))
Next count
• Dim marks(4) As Integer Console.ReadKey()
• Dim gender(4) As String End Sub End Module
• For count = 0 To 4
• Console.WriteLine("please enter your name" &
count)
• name(count) = Console.ReadLine()
• Console.WriteLine("please enter your gender"
& count)
• gender(count) = Console.ReadLine()
• Console.WriteLine("please enter your marks" &
count)
• marks(count) = Console.ReadLine()
VB Code Example of Two-Dimension
Array
• Sub Main()
• Dim matrix(2, 3) As Integer
• For row = 0 To 2
• For column = 0 To 3
• Console.WriteLine("Please Input Value in Row: " & row & "column : " & column)
• matrix(row, column) = Console.ReadLine()
• Next
• Next
• Console.Clear()
• For row = 0 To 2
• For column = 0 To 3
• Console.WriteLine("Row = " & row & "column = " & column & “has Value”)
• Console.WriteLine(matrix(row, column))
• Next
• Next Console.ReadKey() End Sub
Multi-Dimensional Arrays:
• A multi-dimensional array can be thought of as a table, each element
has a row and column index. Following example declares a two-
dimensional array called matrix and would be declared by
VB Code for 2-D Array
• Sub Main()
• Dim matrix(2, 3) As Integer
• matrix(0, 0) = 10
• matrix(1, 0) = 20
• matrix(1, 2) = 30
• Console.WriteLine("first row, first column : " & matrix(0, 0))
• Console.WriteLine("second row, first column : " & matrix(1, 0))
• Console.WriteLine("second row, second column : " & matrix(1, 1))
• Console.WriteLine("third row, third column : " & matrix(1, 2))
• Console.ReadLine()
• End Sub
• Refrences:
• Computer Science by David Watson & Helen Williams
• Visual Basic Console Cook Book
• Computer Science AS and A level by Sylvia Langfield and Dave Duddell https://www.sitesbay.com/javascript/javascript-
looping-statement