Algoritmo: passos finitos e ordenados, não um programa
Um algoritmo é um conjunto finito e ordenado de passos destinados a resolver um problema; a armadilha do exame consiste em confundi-lo com um programa completo ou com uma lista aleatória.
Ouvir esta página (beta)
Um algoritmo é simplesmente uma sequência de instruções para resolver um problema e tem de possuir um início e um fim claros. Os passos têm de seguir uma ordem lógica — se trocar dois passos, o algoritmo poderá falhar. É fundamental compreender que um algoritmo não é o mesmo que um programa: um programa é um algoritmo escrito numa linguagem de programação específica, mas o próprio algoritmo pode ser expresso em linguagem corrente, num fluxograma ou até numa fórmula de folha de cálculo. Por exemplo, uma receita para fazer chá é um algoritmo; o código Python para fazer chá é um programa.
Para identificar um algoritmo numa pergunta de escolha múltipla, verifique três características: finitude (tem de terminar após um número finito de passos), ordem (os passos têm de seguir uma sequência lógica) e precisão (cada passo tem de ser inequívoco). Um truque comum consiste em apresentar uma lista de instruções aleatórias — isso não é um algoritmo, porque não existe uma ordem. Outra armadilha consiste em mostrar um único passo, como «resolver a equação» — é demasiado vago e não constitui um conjunto finito de passos. Se encontrar um ciclo ou uma condição, continua a tratar-se de um algoritmo, mas este tem igualmente de ser finito.
Uma forma rápida de testar qualquer opção consiste em perguntar a si próprio: «Poderia seguir estes passos de forma automática e obter sempre o mesmo resultado?» Se a resposta for afirmativa, trata-se de um algoritmo. Se os passos estiverem desordenados ou forem infinitos, não o é. Para o exame, recorde a mnemónica «FOF» — Finito, Ordenado, Finito (novamente) — para não confundir um algoritmo com um programa ou com uma lista desordenada.
O que é um algoritmo?
Um conjunto finito e ordenado de passos para resolver um problema ou executar uma tarefa.