3.1 - Perguntas básicas para implementar um algoritmo

No restante desta apostila procuraremos mostrar como desenvolver programas utilizando as linguagens C e Python. Os problemas que abordaremos são, em sua maioria, bastante simples, no sentido de ser possível resolvê-los manualmente (sem o auxílio de programas de computador). A dificuldade consiste em obter soluções computacinais para tais problemas, ou seja, em escrever um processo que resolva tais problemas servindo-se de uma linguagem extremamente rígida e um pouco limitada.
Um programa pode ser entendido como uma sequência finita de comandos que manipulam um numero limitado de variaveis e que deve devolver algum conjunto-resposta. Em geral, os problemas que admitem solucoes via computador apresentam caracterısticas de repeticao, isto ́e, permitem que uma mesma sequência de passos seja repetida (um numero finito de vezes) ate que se obtenha o resultado desejado.
Sugerimos ao leitor, principalmente aos iniciantes em programação, que se concentre em quatro questões chaves à resolução de problemas via algoritmos, independentemente da linguagem a ser utilizada, seja ela qual for.


Nem sempre é possível responder completamente estas perguntas nesta sequência. Muitas vezes, ao longo da descrição do programa surge a necessidades de novas variáveis, que devem ser acrescentadas à lista inicialmente pensada como resposta à 1ª pergunta. Por outro lado, com o passar do tempo (e aquisiçao de experiência na programação), será natural que ao tentar responder a 2ª pergunta ja se note a necessidade de alguns comandos que devem aparecer antes do bloco de repetição (4ª pergunta). Alem disto, somente “problemas pequenos” possuem um ́unico bloco de repetição, sendo que as perguntas 2 a 4 devem ser levadas em conta para cada novo bloco de repetição. No entanto, a experiência tem-nos mostrado que, pelo menos enquanto se esta comecando a aprender a descrever processos em liguagens estruturadas, estas perguntas servem como um bom roteiro ao programador iniciante.
Veremos, a seguir, o desenvolvimento de programas para alguns problemas.
Obs: Nos códigos em C só serão mostradas as partes centrais do código, para ter um código funcional você deverá importar as respectivas bibliotecas e adicionar o código dentro da função main