Skip to main content

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.

BlockShapePurposeTypical text inside
Start/End (Terminator)OvalMarks the start and end of the processStart / End / Return
ProcessRectanglePerforming an action/operationCompute the sum; Save the session
DecisionDiamondBranching on a condition (yes/no)x > 0?
Input/Output (I/O)ParallelogramData entered by the user or a printed resultEnter n; Print the report
SubprocessA rectangle with double side linesA call to a separate procedure/functionValidateOrder()
DocumentA rectangle with a wavy bottomCreating/reading a document, report, fileGenerate a PDF receipt
Data Storage (Database)CylinderReading/writing a database or fileusers → SELECT/INSERT
Connector (on-page)A small circleA short carry-over of the flow within the sheetA, B, C (labels)
Off-page connectorPentagonA transition to another diagram/sheetTo: AuthFlow
AnnotationA brace/calloutAn explanation of a step, without affecting the flowA comment on the formula
DelayA half-oval/"pill" shapeWaiting/a pause in timeWait 5s
Manual InputA trapezoid (top narrower than the bottom)Data entered manually by the userEnter a password
PreparationHexagonSetting initial parametersinit i = 0; set env
FlowlinesLines with arrowsDefine the execution direction and the links between blocksYes/No; Next step →

The minimal set that covers 90% of tasks

  1. Start/End (oval)
  2. Process (rectangle)
  3. Decision (diamond)
  4. Input/Output (parallelogram)
  5. 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 - oval

Good 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 ready
Premium

A concise answer to help you respond confidently on this topic during an interview.