Before a programmer writes any code, they need a clear plan for the logic the program will follow. Two common planning tools serve this purpose: pseudocode, which describes the steps in structured everyday language, and flowcharts, which describe the same steps visually.
A flowchart is specifically a visual representation of an algorithm. It uses standard geometric shapes, such as an oval for the start and end, a rectangle for a process step, a diamond for a decision point, and a parallelogram for input or output, connected by arrows that show the order in which the steps happen. Because it shows the flow of logic at a glance, a flowchart makes it easy to trace a program's decisions and loops before any code exists.
A written explanation without any visual form is closer to pseudocode, and a data table or a piece of source code serves a different purpose entirely, since neither one depicts the flow of logic using shapes and connecting arrows the way a flowchart does.