Algoritmos e fluxogramas

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:

Início

Círculo.

Fim

Círculo preenchido no interior de outro círculo maior.

Ação ou expressão

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.

Sequência

Seta, aponta para a próxima instrução.

Condição / Decisão

“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).

 

Fluxo de dados

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.

Exemplos

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.

 
Os exemplos que se seguem ilustram a utilização de fluxogramas para a descrição de algoritmos simples. No primeiro exemplo temos uma rotina simples que descreve o fluxo uni-direccional descendente, ou seja, não inclui nenhum ciclo ou bloco de decisão.

 
No caso do exemplo que se segue, o fluxograma representa um sistemas que deteta a presença de um objeto na proximidade de 1 m, e neste caso é disparado um alarme que atua durante um intervalo de 10 segundos. O alarme é então desativado caso o objeto detetado não se encontre mais na área abrangida pelo sensor.

pt/programming/algorithms.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0