| Módulo V - Algorítmos | pag. 4/7 | ||||
| HISTÓRICO Para um conjunto de passos perfeitamente definidos que visam a solução de um determinado problema damos o nome de ALGORITMO, e a esse algoritmo codificado de forma que um computador possa executar seus passos denominamos PROGRAMA DE COMPUTADOR (software). SISTEMA DE PROCESSAMENTO DE DADOS Processamento de Dados é a coleta, o processamento e a distribuição de fatos e algarismos para atingir um resultado desejado. Os equipamentos (aparelhos) e os procedimentos com que o resultado é alcançado formam um sistema de processamento de dados. Independentemente da espécie de processamento de dados ou da espécie de equipamento usado, todos os sistemas de processamento de dados envolvem, pelo menos, três elementos básicos:
Solucinando os Problemas A programação de computadores é a tarefa de desenvolver um programa (software). Essa tarefa definitivamente não é difícil, mas precisa ser realizada meticulosamente. Envolve muito mais do que apenas codificar instruções. Para usar o computador como uma ferramenta de trabalho, eficaz e eficiente, na solução de problemas, alguns passos devem ser efetuados criteriosamente:
Esses passos são seqüenciais e devem ser totalmente exauridos, ou seja, somente se executa a próxima etapa uma vez que a anterior tenha sido cumprida com o mínimo de erros. É comum um programador ao testar o programa, perceber que o algoritmo não foi bem elaborado, ou ainda que o problema não foi perfeitamente definido. Parece uma incongruência escrever uma solução para o problema errado, mas acredite, talvez seja esse o erro mais comum nessa profissão. DEFINIR O PROBLEMA A solução de um problema através de um programa de computador é usualmente, caracterizada por um conjunto incompleto e não organizado de propriedades, que imaginamos que o programa deva vir a ter, mais ainda, a concepção do programa tende a depender da pessoa que o concebeu. Essa concepção (descrição da solução) deve ser documentada de uma forma organizada, para que possamos ter uma definição precisa do problema a ser resolvido. Esse documento deve induzir em seus leitores, o mesmo entendimento do problema a ser resolvido. Neste ponto devemos considerar o conceito de programação estruturada como ferramenta essencial para tratamento da complexidade de problemas. Nossa ferramenta mental para tratar da complexidade é a abstração. Um problema complexo não deve ser imediatamente tratado a nível máximo de detalhes. Um método bastante utilizado é o “Top-Down” o qual consiste em decompor o problema principal (Problema P) em pequenos subproblemas (P1, P1_1, P2, P2_1...Pn) de forma que, ao resolvermos, esses o problema como um todo já estará resolvido. A decomposição em subproblemas deve ser feita até que as subsoluções estejam expressas em um nível de ações elementares, podendo ser executadas por um ser humano ou uma máquina. A programação estruturada é apenas uma metodologia de trabalho, na realidade é mais um estilo no qual o problema deverá ser especificado, podendo inclusive ser aplicada em conjunto com outras metodologias, como por exemplo a PROGRAMAÇÃO ORIENTADA A EVENTOS OU A OBJETOS. Por exemplo: se precisarmos calcular a média das notas tiradas em uma prova por uma determinada turma, como deveríamos proceder usando a técnica anteriormente ensinada? Bem, o nosso maior problema (P) é calcular a média, mas o que precisamos para chegar até esse ponto? Primeiro precisamos saber o total de alunos da turma (P1), depois temos que saber a soma de todas as notas da turma (P2) e finalmente temos que dividir a soma das notas pelo total de alunos; assim temos que P = P2/P1, ou seja devemos primeiro resolver como calcular os totais de alunos e notas e só então , teremos meios de saber a média da turma. PLANEJAR UM ALGORITMO DE SOLUÇÃO “O conceito central da programação e da ciência da computação é o conceito de algoritmo, isto é, programar é basicamente construir algoritmos” esta frase, dita por Niklaus Wirth, (um dos precursores da programação de computadores como ciência e criador da linguagem Pascal), sintetiza todo este capítulo, todavia podemos estendê-la e ir muito mais além.
A cada vez que nos deparamos com um problema, de qualquer natureza, intuitivamente realizamos um algoritmo para resolvê-lo. Todavia, para ser utilizado como ferramenta de trabalho esse conceito deve ser estudado com mais detalhe, o que faremos a seguir. Um algoritmo é um texto direcionador (tal qual uma receita de bolo), onde cada linha contém uma ação primitiva. A função do algoritmo, quando executado, é a de agir (operar) sobre os dados, transformando-os em informações úteis. Logo construir um algoritmo é descrever um padrão inalterável de comportamento, a partir de ações primitivas, possibilitando a reprodução de um evento a cada execução do algoritmo |
|||||
ICEA/EAD
© 2005 |
|||||