1– Introdução

Os algoritmos podem ser representados de três maneiras básicas: narração descritiva; fluxogramas e pseudocódigo.

Mas antes, é importante conhecer algumas noções informais sobre o que é um algoritmo.

Considere três hastes que servem de suporte a discos de diferentes tamanhos, os menores sempre sobre os maiores. Pode-se mover cada disco para qualquer haste desde que um disco maior nunca fique sobre um disco menor. O objetivo é transferir os três discos de uma haste inicial para uma outra haste.

Fonte: https://www.gratispng.com/png-f4su2m

Eis então um belo exemplo do que chamamos de algoritmo para resolver esse desafio:

1 – Mova a torre de (altura – 1) para o pino intermediário usando o pino destino como intermediário.

2 – Mova o disco restante para o pino destino.

3 – Mova a torre de (altura - 1) do pino intermediário para o pino destino usando o pino origem como intermediário.

Fonte: https://panda.ime.usp.br/panda/static/pythonds_pt/04-Recursao/09-hanoi.htm

Como este algoritmo recorre a si mesmo (há uma chamada para dentro dele alterando parâmetros), chamamos tal algoritmos de recursivo.

Podemos representar algoritmos pela linguagem comum desde que os passos sejam claros e bem definidos.

Exemplo para um algoritmo associado à troca de uma lâmpada: