A flowchart is a diagram showing an overview of the problem. It is a pictorial representation of how the program will work, and it follows a standard format. It uses different kinds of shapes to signify different processes involved in the problem. It is capable of showing:
-tasks to be carried out, manually or automatically
-the type of task being carried out
-the flow of instructions or steps
-the devices used for input, output, and storage
-the files used in the process
Similarly, a pseudocode is a means of expressing the stepwise instructions for solving a problem without worrying about the syntax of a particular programming language. Unlike a flowchart, it uses a written format which requires no absolute rules for writing. It can be written in ordinary English, and we can use some keywords in it too. For instance, to assign the value 5 to a variable y, we can write the pseudocode in any of the ways shown below.
Assign 5 to y
y ← 5
y = 5
put 5 in y
The advantage of pseudocode over flowchart is that it is very much similar to the final program code. It requires less time and space to develop, and we can write it in our own way as there are no fixed rules.
However, flowchart is capable of showing the overall flow of instructions from one process to another and even files and devices involved in the process. We can see the individual processes just at a glance (like the number of decision making operations). In terms of a conceptual model, it is easier to show iteration (loops) and conditional statements using flowchart, which in case of pseudocode, can easily be as complex as the program code. Furthermore, flowcharts follow a standard format which makes it easy to explain to other programmers. Therefore, I prefer flowcharts to pseudocode.
Heathcote, P.M. (2000), More on Selection and Iteration, Systems Design, Development, ‘A’ Level Computing (4th Edition), pp. 42, 43, 305 and 306.