Algorithm, Pseudocode, Programs, and Flowcharts
Algorithm, Pseudocode, Programs, and Flowcharts
In this article, I am going to discuss Algorithms, Pseudocode, Programs, and Flowcharts in detail. Please
read our previous article where we discussed Programming Methodologies. At the end of this article,
you will understand mostly What are Algorithms, what is Pseudocode, What are Programs, and what are
Flowcharts.
Algorithm, Pseudocode, Programs, and Flowcharts
Algorithm: An algorithm is a step-by-step procedure for solving a computational problem. It is a process
or set of rules to be followed in calculations or other problem-solving operations.
Program: A program is a step-by-step machine instruction used for solving any problem or
computational task.
Difference between Algorithm and Program
Programs have been written recently but Algorithms have appeared for centuries. As a common
practice, mathematicians or scientists have been devising procedures for solving computational
problems. Those working on problems were giving solutions in form of step-by-step procedures known
as algorithms. Now we want that same procedure must be followed by machines so we are writing
programs.
An algorithm basically means how to solve a problem. First, we need to learn a few analytical or
problem-solving skills to write an algorithm.
Example:
1. Let’s consider a chef who knows how to prepare a dish then he/she can easily prepare the
recipe of that dish.
2. Let’s consider a chemist who is well versed with different chemical reactions then he/she can
easily prepare a chemical formula applying those reactions.
Once an algorithm is prepared, we need to convert it into a Program so that the computer can execute it
and perform the computational task. Any programming language can be used to write a program but it
must strictly follow the syntax of that programming language.
What is Pseudocode?
Pseudocode is an artificial and informal language that helps programmers in developing algorithms. It is
basically a “text-based” detail (algorithmic) design tool.
Algorithm and Program Example:
So here I have an example algorithm as well as a C++ program that is not a complete program is just a
function.
Let us Understand the Algorithm.
The Algorithm is for finding the average of the list of elements. That is, we have a collection of elements
and we want to find out the average. First, we assign 0 to Sum. Then for each element x in the list, we
begin sum assigned sum+ x i.e. adding each value of x into the sum variable. Then after that, the average
is assigned sum by the number of elements, and then, return the average. So, if you read the above
algorithm, you can understand how to find the average of a list of elements. Add all of them and divide
by the number of elements. That’s it. This is how we write our algorithm using pseudocode.
Let us Understand the Program.
Now the same thing for finding the average list of elements, we have written the program using C++
language. It’s a function, it’s not a complete program, just a function inside a program. If we don’t use a
semicolon to end the statement, it’s an error, and instead of assignment if we write less than or a
hyphen symbol, then also it is an error. So, if you want to store the value then you must use an equal
symbol and that is called an assignment.
So, it means you should follow the proper syntax of a language. Because this is not for you. You are
writing the program for the compiler to understand and convert it into machine code. You will write a C+
+ program and that gets converted into machine code or machine language. So, you are actually talking
to the compiler. You should talk in such a way that you can easily understand.
If the compiler is not understanding your program, then the compiler cannot convert your program into
machine code. So, you should follow the syntax perfectly. That is the reason you have to put some little
extra effort into learning programming.
What is a Flowchart?
A flowchart is used for showing the flow of control in a program and the sequence of steps involved in a
hierarchical manner. It is basically a diagrammatic representation of an algorithm, workflow, or process.
So, if a program is very big then it is very difficult to figure out how the flow of the program is, Flow
charts are useful for understanding the program, instead of one is reading the program and
understanding it, he can see the flow chart and understand how the program is working.
It is just like if you talk about electrical wiring in a home. Then from where the wires or the cables are
moving through the walls. If you have a plan then you can know where exactly they are flowing and
where the important points are, everything you can know. Otherwise, if there is any problem with the
wiring, then you have to dig the whole wall to find out the problem. If there is a proper plan then you
can understand. So before laying the wire or pulling the wires we will make a plan. In the same way,
before writing the program we make a flowchart. So based on the flow chart we will write the program.
This will help us to understand the program.
Use of Flowchart
Flowcharts were highly used at the times of Monolithic Programming. Then later on when the concept
of Procedural Programming came into practice, the usage of flowcharts was a little reduced.
Steps in the flowchart:
Usually, when we are using a flow chart for the program, it consists of three steps:
1. Input
2. Process
3. Output
We will call it like this. First, it takes some input. Then it will process. Then it will give the output. So, any
procedure you take will have similar steps. For example, preparing a dish. Input is the ingredients. That
process is the process of making a dish and the output is the dish ready. If you take a chemistry
experiment that is done usually in laboratories will have input means chemicals and the vessels or
instruments whatever you need. Then the process of what you will do with that and then it gets done
successfully. So, every procedure will have these 3 things and the program is also used to look like this.
Elements of Flowchart:
Now let us look at the elements of the flow chart. The following image shows the different elements of a
flowchart.
Terminal: The oval symbol indicates Start, Stop and Halt in a program’s logic flow. A pause/halt is
generally used in programming logic under some error conditions. The terminal is the first and last
symbol in the flowchart.
Input/Output: A parallelogram denotes any function of input/output type. Program instructions that
take input from input devices and display output on output devices are indicated with a parallelogram in
a flowchart.
Processing: A box represents arithmetic instructions. All arithmetic processes such as addition,
subtraction, multiplication, and division are indicated by the action/process symbol.
Decision: Diamond-shaped symbol represents a decision point. Decision-based operations such as
Yes/No, question, or True/False are indicated by diamond shape in the flowchart.
Flow lines: Flow lines indicate the exact sequence in which instructions are executed. Arrows represent
the direction of flow of control and the relationship among different symbols of the flowchart.
Now let us draw a few flow charts and try to understand idea of how flowcharts are used and how they
are useful for writing the programs.
Flowchart for adding two numbers
Step 1: Start.
Step 2: Declare variables Number1 and Number2.
Step 3: Read values Number1 and Number2.
Step 4: Add Number1 and Number2 and store the result in Sum. (Sum = Number1 + Number2).
Step 5: Display Sum.
Step 6: Stop.