A Pseudocode is defined as a step-by-step description of an algorithm. Pseudocode does not use any programming language in its representation instead it uses the simple English language text as it is intended for human understanding rather than machine reading.
Pseudocode is the intermediate state between an idea and its implementation(code) in a high-level language.
What is PseudoCode: A Complete Tutorial
Pseudocode is an important part of designing an algorithm, it helps the programmer in planning the solution to the problem as well as the reader in understanding the approach to the problem. Pseudocode is an intermediate state between algorithm and program that plays supports the transition of the algorithm into the program.
Pseudocode is an intermediate state between algorithm and program
Before writing the pseudocode of any algorithm the following points must be kept in mind.
This program will print first N numbers of Fibonacci series.
IF “1”
print response
“I AM CASE 1” IF “2”
print response
“I AM CASE 2”
Good Vs Bad way of writing Pseudocode
Binary search is a searching algorithm that works only for sorted search space. It repeatedly divides the search space into half by using the fact that the search space is sorted and checking if the desired search result will be found in the left or right half.
Example: Given a sorted array Arr[] and a value X , The task is to find the index at which X is present in Arr[] .
Below is the pseudocode for Binary search.
BinarySearch(ARR, X, LOW, HIGH)
repeat till LOW = HIGH
MID = (LOW + HIGH)/2
if (X == ARR[mid])
return MID
else if (x > ARR[MID])
LOW = MID + 1
else
HIGH = MID – 1
QuickSort is a Divide and Conquer algorithm . It picks an element as a pivot and partitions the given array around the picked pivot.
Say last element of array is picked as pivot then all elements smaller than pivot element are shifted on the left side of pivot and elements greater than pivot are shifted towards the right of pivot by swapping, the same algorithm is repeatedly followed for the left and right side of pivot until the whole array is sorted.
Below is the pseudocode for Quick sort
QUICKSORT(Arr[], LOW, HIGH) <
if (LOW < HIGH) <
PIVOT = PARTITION(Arr, LOW, HIGH);
QUICKSORT(ARR, LOW, PIVOT – 1);
QUICKSORT(ARR, PIVOT + 1, HIGH);
>
>
Here, LOW is the starting index and HIGH is the ending index.
An Algorithm is used to provide a solution to a particular problem in form of a well-defined step-based form.
A Pseudocode is a step-by-step description of an algorithm in code-like structure using plain English text.
An algorithm only uses simple English words
Pseudocode also uses reserved keywords like if-else, for, while, etc.
These are a sequence of steps of a solution to a problem
These are fake codes as the word pseudo means fake, using code like structure and plain English text
There are no rules to writing algorithms
There are certain rules for writing pseudocode
Algorithms can be considered pseudocode
Pseudocode cannot be considered an algorithm
It is difficult to understand and interpret
It is easy to understand and interpret
A Flowchart is pictorial representation of flow of an algorithm.
A Pseudocode is a step-by-step description of an algorithm in code like structure using plain English text.
A Flowchart uses standard symbols for input, output decisions and start stop statements. Only uses different shapes like box, circle and arrow.
Pseudocode uses reserved keywords like if-else, for, while, etc.
This is a way of visually representing data, these are nothing but the graphical representation of the algorithm for a better understanding of the code
These are fake codes as the word pseudo means fake, using code like structure but plain English text instead of programming language
Flowcharts are good for documentation
Pseudocode is better suited for the purpose of understanding
What will be the output of the following pseudocode?
Question 1) for i=0 to 4 step 1 do
If i==i++ + –i then do
display i
end-if
end-for
Answer: 0Question 2) Set Character c = ‘7’
switch(c)
case ‘1’: display “One”
case ‘7’: display “Seven”
case ‘2’: display “Two”
default: display “Hello”
break
end-switch
Answer: SevenTwoHelloQuestion 3) Integer a, p
Set a = 5
a = a + 1
a = a * 2
a = a / 2
p = a / 5 + 6
print p
Answer: 7Question 4) Integer a, b, c
Set b = 40, a = 20, c = 20
a = a + c
c = c + a
a = a + c
c = c + a
Print a + b + c
Answer: 300Question 5) Integer a, b, c
Set a = 4, b = 3, c = 1
if (a >> (c – 1) && b a = a + c
Else
b = a End if
Print a – b + c
Answer: 3
What will be the output of the following pseudocode?
Questions 1) What will be the output of the following pseudocode for a = 5, b = 1?
Integer funn(Integer a, Integer b)
if(b + a || a – b) && (b > a) && 1)
a = a+b+b-2
return 3-a
Else
return a-b+1
End if
return a + b
End function fun()
Answer: 5
Questions 2) What will be the output of the following pseudocode for a = 5, b = 1?
Integer funn(Integer a, Integer b)
if((b mod a && a mod b) || (a ^ b > a))
a=a ^ b
Else
return a-b
End if
return a + b
End function funn()
Answer: 5
Questions 3) What will be the output of the following pseudocode?
Integer a, b, c
Set a = 4, b = 4, c = 4
if (a & (b ^ b) & c)
a = a >> 1
End if
Print a + b + c
Answer: 12
Questions 4) What will be the output of the following pseudocode for a = 10, b = 11?
Integer funn(Integer a, Integer b)
if(0)
return a – b – funn(-7, -1)
End if
a = a + a + a + a
return a
End function funn()
Answer: 40
Questions 5) What will be the output of the following pseudocode for a = 5, b = 1?
Integer funn(Integer a, Integer b)
if(b + a || a – b) && (b > a) && 1)
a = a + b + b – 2
return 3 – a
Else
return a – b + 1
End if
return a + b
End function fun()
Answer: 5
What will be the output of the following pseudocode?
Question 1) What will be the output of the following pseudocode for a=8, b=1?
Integer funn(Integer a, Integer b)
If(a > b && a > 0)
Return a + b + funn (b-1, a-1)
End if
Return a + b
Answer: 16
Question 2) What will be the output of the following pseudocode for p=7, q=2?
Integer funn(Integer p, Integer q)
if(p + q < 10)
Return 1 + funn(p + 1, q + 1)
Else
Return 2
End if
Answer: 3
Question 3) What will be the output of the following pseudocode for a=2, b=7, c=7?
Integer funn(Integer a, Integer b, Integer c)
if ((b + a) < (a – b))
a = a + c
b = (10 + 10) + c
End if
Return a + b + c
Answer: 16
Question 4) What will be the output of the following pseudocode?
String str1 = “err”, str2 = “krr”
Print (count consonant(upper(reverse(str2) + reverse(str1))))
Answer: 5
Question 5) What will be the output of the following pseudo code?
Integer a, b, c
Set a = 2, b = 11, c = 5
if ((4 + 5) < (6 + b))
b = c & a
End if
Print a + b + c
Answer: 7
At first, the purpose of the process should be written to make the aim clear.
Pseudocode uses plain text mostly written in English language which makes it easy to understand and present.
Pseudocode provides easier understanding to people as compared to the conventional programming language code that it is an efficient and platform-independent description of the important principles of an algorithm.
Pseudocode is used to represent an algorithm but the structure of a pseudocode may not follow the same flow as an algorithm is a well-defined sequence of steps that provides a solution for a given problem.
A flowchart is a diagrammatic representation that illustrates a solution model and solution flow to a given problem whereas Pseudocode is an informal high-level description of the operating principle of an algorithm.
Pseudocode is just a way to represent the algorithm of the program, it is how the code would look like when if it is actually programmed. Source code is the actual code that can be compiled by the compiler and then be executed by the machine.
Pseudocode is written in English language thus it is easy to understand, construct and simpler to debug on the other hand algorithm is quite complex to construct as it sometimes involves code snippets in it and hence it is a bit difficult when it comes to debugging algorithm.
In pseudocode Assigning a value to a variable is indicated using an arrow symbol (←). The arrow points from the value being assigned towards the variable it is being assigned to.
Example: String ← “GeeksforGeeks”, would be a valid assignment.
To terminate a multiple line if command the endif command is used. The command can either be specified as two separate words, ‘end if’ or as a single word, ‘endif’.
In the above discussion, we understood the importance of pseudocode in understanding an algorithm. Pseudocode is a lot simpler to construct and debug as compared to an algorithm.