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 computacionais 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 número limitado de variáveis e que deve devolver algum conjunto-resposta. Em geral, os problemas que admitem soluções via computador apresentam características de repetição, isto ́e, permitem que uma mesma sequência de passos seja repetida (um número 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ção de experiência na programação), será natural que ao tentar responder a 2ª pergunta já se note a necessidade de alguns comandos que devem aparecer antes do bloco de repetição (4ª pergunta). Além disto, somente “problemas pequenos” possuem um único 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 está começando a aprender a descrever processos em linguagens 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