As primeiras fases de um projeto a identificar o problema, parece ser uma coisa óbvia, mas não é.
Se você não passar adequadamente por esta fase em qualquer projeto corre-se o risco de perceber uma deficiência nas fases subsequente da evolução do projeto.
O retrabalho é necessário.
Assim conclui-se o levantamento de requisitos para se resolver o problema. O fluxo de dados e procedimentos necessários.
Um DIAGRAMA DE FLUXO DE DADOS, pronto você já tem um ALGORÍTIMO.
Estas linhas estão resumidas e simplificadas esta não é uma etapa simples, deve ser tratada com todo o rigor e lisura quanto as demais fases do projeto.
A evolução do projeto levará a uma codificação em uma linguagem determinada pelos requisitos de demanda, de negócio, de ambiente.
Esta sim, a fase de codificação é que se começará a escrever o programa.
O algorítimo tem todas as características essenciais da solução, do programa, gerou o programa. Mas não é o programa.
Da mesma forma o programa em relação ao algorítimo.