Um algoritmo é geralmente descrito como uma receita, ou um conjunto de regras ou instruções passo-a-passo, para executar uma dada tarefa ou alcançar uma solução para um problema específico. Um fluxograma é um método de representação gráfico de um algoritmo. O fluxograma recorre a elementos gráficos como caixas, quadrados, círculos e setas que representão a ligação entre os vários elementos e o fluxo de controlo do próprio algoritmo. Cada um destes elementos, representa uma única instrução no conjunto de instruções que compõem um algoritmo.
Elementos de um fluxograma:
Retângulo. Dentro do retângulo está o nome da instrução, tarefa, sub-rotina ou uma pequena descrição da ação a executar. Tarefas e instruções similares são podem ser agregadas numa única ação genérica.
“Diamante” (losângulo). Dentro do losângulo encontra-se uma expressão lógica de onde geralmente partem duas setas distintas. Uma delas resulta no fato da expressão lógica ser Verdade (Sim / 1), a outra no caso de a expressão lógica ter resultado Falso (Não / 1). Cada uma destas setas deve ser identificada com o respetivo resultado da expressão que se pretende representar. Em alguns casos particulares, uma única seta pode ser utilizada num bloco de condição/decisão (losângulo), nesse caso a expressão lógica apresenta claramente apenas uma possível solução, por exemplo Verdadeiro. Este é o caso do ciclo interminável que é usado como controlo de fluxo de um programa (tópico que será abordado mais adiante - while true).
Trapezóide. No interior do trapezóide encontra-se a descrição de uma tarefa. Em robótica é geralmente utilizado, por exemplo, para representar a comunicação de dados entre valores de um sensor e o utilizador. Para termos de simplificação, geralmente também é utilizado o elemento retangular já antes descrito, em vez de o tradicional trapézio.
Para a construção de fluxogramas, são muitas vezes utilizadas programas da suite de Office comuns, como o MS Word ou o MS Excel ou OpenOffice/LibreOffice Writer ou Calc. Mas existem outros programas específicos para estas tarefas que nos permitem obter melhores resultados, é o caso do MS Visio, OpenOffice/LibreOffice Draw, Google Draw ou qualquer outro tipo de software destinado a esta tarefa.
Os fluxogramas que descrevem o programa de um microcontrolador, não apresentam geralmente um fim. Em vez disso, representam uma atividade principal que se insere num ciclo infinito de execução. A condição de saída para este ciclo principal geralmente nunca resulta no valor Verdadeiro e como tal este é o caso em que onde um bloco condicional (losângulo) é geralmente utilizado para representar uma condição de saída. Esta condição pode simplesmente ter o valor Verdadeiro (ou 1), este é o caso do ciclo infinito. A criação de fluxogramas é importante para manter uma visão geral da estrutura de um programa.