É muito comum ouvirmos o termo algoritmo associado a tecnologia e, mais especificamente, programação de computadores, contudo, este termo, assim como a própria ciência da computação, é oriundo da matemática.
Para se ter uma ideia, um dos algoritmos mais antigos que se tem registro é o algoritmo de Euclides para o cálculo do MDC (Máximo Divisor Comum), escrito pelo próprio Euclides em seu livro Os Elementos aproximadamente no ano 300 antes de Cristo.
Partindo para a definição, um algoritmo nada mais é que uma sequencia de passos bem definidos para resolver um problema. Assim, concluímos que tudo que exige um passo a passo, ou uma receita, é um algoritmo.
Na computação o termo mantêm o seu significado, uma sequência de passos bem definidos para resolver um problema, desta vez, no campo computacional.
Como exemplo, imagine um programa bem simples que recebe do teclado duas notas, calcula e imprime na tela a média:
inicio
variáveis nota1, nota2;
escreva(“Digite a primeira nota: ”);
leia(nota1);
escreva(“Digite a segunda nota: ”);
leia(nota2);
escreva(“A média é: ”, (nota1 + nota2) / 2);
fim
Um detalhe que é de fundamental importância é compreender que o algoritmo é mais importante que sua tradução para uma linguagem específica de programação como C, C++, Java, Python, etc. Uma vez elaborado corretamente o algoritmo, ou seja, a sequência de passos necessários para resolver um problema, a tradução consiste em transcrever o algoritmo em uma determinada linguagem de programação obedecendo sua sintaxe. Se o algoritmo for elaborado de forma errada, muito possivelmente sua tradução também estará errada, não resolvendo adequadamente o problema.