🧮 Algoritmos


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.
  • Ainda não padronizada.
Início
  Ler A
  Ler B
  Soma ← A + B
  Escrever Soma
Fim
Link ao original