Telefones:
(11) 5631-7268 (11) 3536-2440

O que é um algoritmo ? Descubra…

Descubra montando um sanduíche

sanduiche

A gente ouve tanto falar de algoritmo, mas você sabe o que isso significa? Às vezes ouvimos assim: “o algoritmo do Facebook que define o que você verá ou não”. O que é exatamente isso? Tenho estudado o assunto de forma embasada por conta de uma pesquisa que estou fazendo e compartilho aqui o conceito.

Uma forma de explicar o que é um algoritmo é a seguinte:

  • Pegue duas fatias de pão e coloque-as separadamente sobre o prato
  • Coloque duas fatias de queijo sobre uma das fatias de pão.
  • Coloque uma fatia de presunto sobre as fatias de queijo
  • Coloque duas folhas de alface sobre a fatia de presunto
  • Acrescente uma pitada de sal e um fio de azeite
  • Coloque a fatia de pão vazia sobre os alfaces

Seu sanduíche está pronto. Este é o exemplo do que é um algoritmo, nada mais que é um conjunto passos, de instruções para resolver um problema.

É claro que neste exemplo do sanduiche temos um tipo de algoritmo não computacional, pois não poderia ser implementado em um computador de forma real. Note que cada uma das etapas do sanduiche é dependente das etapas que foram realizadas anteriormente.

Os passos, as etapas, as ações que devem ser realizadas ou executadas, devem seguir uma sequencia lógica. Lógica pode ser definida como “uma forma coerente de encadear ações, seguindo uma determinada convenção ou regra”.
No sanduiche, essas etapas ordenadas é o que se chama organização ou sequência lógica. Por exemplo, não tem lógica acrescentar sal e azeite no prato vazio.

Cada passo de um algoritmo deve ser expresso de forma clara, utilizando, muitas vezes, um formalismo específico, justamente para que não deixe qualquer dúvida e não haja ambiguidade na sua interpretação. A sequência de passos tem um objetivo específico, que geralmente é resolução de um problema. Para tanto, esse algoritmo deve receber dados de entrada, muitas vezes chamados de variáveis e, como visa a resolução de um problema, essa resposta do algoritmo visando a solução do problema gera dados de saída.

Knuth (1968, 1973) uma das pessoas mais respeitadas na área de algoritmos computacionais, indicou uma lista das cinco propriedades que são amplamente aceitas como requisitos para um algoritmo:

  • Finitude: um algoritmo deve sempre terminar após um número finito de etapas
  • Definição: cada passo de um algoritmo deve ser definido com precisão; as ações a serem executadas deverão ser especificadas rigorosamente e sem ambiguidades para cada caso.
  • Entrada: valores que são dados ao algoritmo antes que ele inicie. Estas entradas são tomadas a partir de conjuntos de objetos especificados.
  • Saída: os valores resultantes das ações do algoritmo relacionadas com as entradas especificadas
  • Eficácia: todas as operações a serem realizadas no algoritmo devem ser suficientemente básicas que podem, em princípio, ser feitas com precisão e em um período de tempo finito por um homem usando papel e lápis.

É claro que o termo pode ser aprofundado e ganhar significados em aritmética, matemática, gramática generativa e informática, mas trouxe aqui uma visão bem superficial para quem tinha curiosidade.

Fontes:
DILERMANDO Piva; NAKAMITI, Gilberto Shigueo ; ENGELBRECHT, Angela de Mendonça ; BIANCHI, Francisco. Algoritmos e programação de computadores. Rio de Janeiro: Elservier, 2012.

Knuth, D. E. The art of computer programming. v. 1. Reading, MA: Addison-Wesçey, 1968

Blog Allied

2A Tecnologia em Código de Barras Formulário de Cadastro


Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur excepteur sint occaecat cupidatat non

2A Tecnologia em Código de BarrasFormulário de Login


Cresta Help Chat
Hi there! Use this box to send me a message via WhatsApp...

2A Tecnologia em Código de Barras