What are the main blocks used in flowcharts?
Short answer
- Start/End (Terminator) - an oval, marks the start and end of the algorithm.
- Process - a rectangle, any operation/action.
- Decision - a diamond, branching on a condition (yes/no).
- Input/Output - a parallelogram, reading or displaying data.
- Subprocess/Function - a rectangle with double side lines, a call to a subroutine.
- Data Storage/Database - a cylinder, reading/writing data.
- Document - a rectangle with a wavy bottom, work with a document/report.
- Connectors/Flowlines - lines/arrows that connect blocks and show the direction of flow.
Detailed answer and explanations
A flowchart is a graphical representation of an algorithm. Below are the most commonly used symbols, their purpose, and typical labels inside the blocks.
| Block | Shape | Purpose | Typical text inside |
|---|---|---|---|
| Start/End (Terminator) | Oval | Marks the start and end of the process | Start / End / Return |
| Process | Rectangle | Performing an action/operation | Compute the sum; Save the session |
| Decision | Diamond | Branching on a condition (yes/no) | x > 0? |
| Input/Output (I/O) | Parallelogram | Data entered by the user or a printed result | Enter n; Print the report |
| Subprocess | A rectangle with double side lines | A call to a separate procedure/function | ValidateOrder() |
| Document | A rectangle with a wavy bottom | Creating/reading a document, report, file | Generate a PDF receipt |
| Data Storage (Database) | Cylinder | Reading/writing a database or file | users → SELECT/INSERT |
| Connector (on-page) | A small circle | A short carry-over of the flow within the sheet | A, B, C (labels) |
| Off-page connector | Pentagon | A transition to another diagram/sheet | To: AuthFlow |
| Annotation | A brace/callout | An explanation of a step, without affecting the flow | A comment on the formula |
| Delay | A half-oval/"pill" shape | Waiting/a pause in time | Wait 5s |
| Manual Input | A trapezoid (top narrower than the bottom) | Data entered manually by the user | Enter a password |
| Preparation | Hexagon | Setting initial parameters | init i = 0; set env |
| Flowlines | Lines with arrows | Define the execution direction and the links between blocks | Yes/No; Next step → |
The minimal set that covers 90% of tasks
- Start/End (oval)
- Process (rectangle)
- Decision (diamond)
- Input/Output (parallelogram)
- Flow arrows (lines with arrows)
Example: a simple flowchart for determining whether a number is even (pseudocode)
Start # Start - oval
Input n # Input - parallelogram
if (n % 2 == 0) then # Decision - diamond
Output "even" # Output - parallelogram
else
Output "odd" # Output - parallelogram
end if
Process: save result to DB # Process - rectangle
End # End - ovalGood formatting practices
- One entry and one exit for a process; a decision has two exits (Yes/No). Label the branches.
- Use verbs in process blocks: "Check", "Save", "Send".
- For large diagrams, factor repeated pieces into a "Subprocess".
- Minimize crossing lines; use labeled connectors when needed.
Frequent mistakes
- Using a process instead of a decision for conditions - remember, any branch point is drawn as a diamond.
- No explicit "Start/End" - the algorithm looks cut off.
- Too many unique symbols without a real need - stick to the basic ones.
Short Answer
Interview readyPremium
A concise answer to help you respond confidently on this topic during an interview.