1 - Introdução

O objetivo desta apostila é introduzir o conceito de algoritmos(seção 2) e principalmente, apresentar algumas obre como escrever um algoritmo a partir de um problema dado. Para isto iremos introduzir comandos nas linguagens C e Python. Iremos deduzir algoritmos a partir de alguns problemas/exemplos.

Esta dedução será construtiva: começaremos anaisando casos particulares e só então generalizaremos na forma de um algoritmo. E como uma técnica auxiliar, propomos ao programador iniciante que tente consturir seus algoritmos a partir de quatro questões básicas descritas na seção 3.

1.1 - O que é um algoritmo

Um algoritmo é uma sequência de passos elementares, executados um após o outro seguindo o fluxo de execução (de cima para baixo) Em geral, um algoritmo deve ser aplicado sobre um conjunto de valores para produzir um conjunto de valores como resposta. Uma característica que um algoritmo deve apresentar é ser determinístico: sempre que este for aplicado sobre o mesmo conjunto de entradas deverá produzir sempre a mesma saida

Nos exemplos utilizaremos quatro classes de comandos: