Achamos que um algoritmo resolve 2 tipos de problema:
* sequencial
* lógico
A parte sequencial é bastante estudada em AFD - Autômato Finito
Determinístico - exemplo: http://apoie.org/DojoExpressaoAritmetica.htm#5
Uma das formas de tratarmos a parte lógica é através de Tabela de Decisões - exemplo: http://www.apoie.org/Ldc.htm#4
O problema central no desenvolvimento de algoritmo é a falta de conhecimento de AFD e Tabela de Decisões.