Um algoritmo uma sequncia de instrues que resolve uma determinada tarefa. Essas instrues podem ser executadas por um computador ou at mesmo por um ser humano. Um algoritmo pode ser comparado a uma receita de bolo, onde cada passo da preparao do bolo corresponde a uma instruo do algoritmo.
Figura 1: Preparao de um bolo seguindo os passos de uma receita (algoritmo)
Normalmente, desenvolver algoritmos eficientes no uma tarefa simples. No meio acadmico, diversas tcnicas para o desenvolvimento de algoritmos mais eficientes so estudadas pela Cincia da Computao.
Como um algoritmo pode ser representado?
Ns podemos representar um algoritmo da maneira que acharmos melhor, desde que tal representao seja bem estruturada e organizada. Porm, as representaes mais utilizadas so a de Fluxograma e de Pseudocdigo.
Fluxograma
O fluxograma um dos mtodos mais utilizados para se representar um algoritmo. Trata-se de uma espcie de diagrama e utilizado para documentar processos (simples ou complexos). Tal tipo de diagrama ajuda o leitor a visualizar um processo, compreend-lo mais facilmente e encontrar falhas ou problemas de eficincia.
Figura 2: Smbolos utilizados em um fluxograma
Vamos supor que seja necessrio criar um algoritmo para sacar uma determinada quantia de dinheiro de um caixa eletrnico de um banco. Como ficaria o fluxograma desse algoritmo?
Figura 2: Exemplo de fluxograma para a operao de saque em um caixa eletrnico de um banco
Para entender o algoritmo que um fluxograma representa, necessrio conhecer o significado de cada smbolo.
Pseudocdigo
Escrever um algoritmo em pseudocdigo outra forma muito utilizada por autores de livros que tratam de algoritmos, pois dessa forma o leitor no precisa ter o conhecimento prvio de nenhuma linguagem de programao. Nos pases cujo idioma principal o portugus, muitos se referem ao pseudocdigo como portugol. Vamos ver como ficaria o exemplo anterior escrito em pseudocdigo:
Pseudocdigo1: Exemplo de pseudocdigo para a operao de saque em um caixa eletrnico.
A representao em pseudocdigo bem simples e na maioria dos casos suficiente para se explicar um algoritmo. Existem alguns interpretadores de portugol como o VisuAlg e, no caso da lngua inglesa, temos algumas linguagens como Pascal e BASIC cuja sintaxe se assemelha muito com a sintaxe de um pseudocdigo em ingls.