Um algoritmo é um processo de cálculo ou uma sequência de passos bem definidos para resolver um problema (ou uma classe de problemas). Ele pode envolver fórmulas matemáticas, regras formais e operações aritméticas, com ou sem representação simbólica.
Em processamento de dados, é comum associar algoritmos a diagramas de fluxo (fluxograma), pois muitas vezes eles são expressos visualmente para representar a lógica de solução.
🧠 Definições complementares
Uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada de forma mecânica, em tempo finito e com esforço finito.
Um conjunto de regras e operações ordenadas e bem definidas, destinadas à solução de um problema ou de uma classe de problemas, em número finito de etapas.
🧩 Características
Um algoritmo representa uma sequência de ações.
Essas ações devem ser executadas em uma ordem pré-estabelecida.
Todo algoritmo possui um conjunto finito de etapas.
Essas etapas devem possuir significado claro e ser formalizadas.
Computadores não compreendem ambiguidade — algoritmos devem ser precisos.
🧷 Formalização
Deve possuir zero, uma ou mais entradas de dados.
Deve produzir uma ou mais saídas de dados.
A tarefa deve ter início, meio e fim.
Cada etapa deve ser elementar (simples e indivisível).
O algoritmo deve ser correto (entregar o resultado esperado).
Também deve ser eficiente, buscando otimização na resolução.
🗂️ Formas de Representação
Formas de Representação de Algoritmos
✏️ Descrição Narrativa
Representação textual usando linguagem natural.
É simples de escrever e compreender.
Pode ser ambígua.
Não padronizada.
- Separe os ingredientes: 3 ovos, 2 xícaras de farinha de trigo, 1 xícara de açúcar, 1 xícara de leite, 2 colheres de manteiga e 1 colher de fermento em pó.
- Em uma tigela, quebre os ovos e bata até ficarem homogêneos.
- Adicione o açúcar e misture bem.
- Acrescente a manteiga e continue mexendo até incorporar.
- Aos poucos, adicione a farinha alternando com o leite, mexendo continuamente até a massa ficar lisa.
- Por último, adicione o fermento e misture delicadamente.
- Despeje a massa em uma forma untada.
- Leve ao forno pré-aquecido a 180 °C por cerca de 35 minutos.
- Retire do forno, espere esfriar e sirva.
É possível notar a falta de padronização em “1 xícara de leite”. Quanto é uma xícara? e se minha xícara for menor ou maior?
É possível notar a ambiguidade em “quebre os ovos e bata”. Um humano é capaz de entender essa frase, mas um computador precisa entender qual o significado de bater que estamos utilizando (socar, liquidificar, batedor, etc)
📊 Fluxograma
Representação gráfica de um algoritmo, com símbolos padronizados para processos, decisões, entradas e saídas.
Mais preciso que a descrição narrativa.
Oculta os detalhes da implementação.
🧾 Pseudocódigo
Representação semiestruturada de um algoritmo, usando uma mistura de linguagem natural com convenções da lógica de programação.
Mais próximo da lógica real de um programa.
Evita ambiguidade presente na descrição narrativa.
Facilita a transição para implementação em código real.