1
Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens: Programas pouco claros e pouco eficientes. Algumas vezes, programas formalmente incorrectos. Dificuldade de converter o programa para outra linguagem de programação. Necessidade de adoptar uma nova metodologia de resolução de problemas. Realizar uma passagem progressiva do problema ao programa, de maneira a evitar todos os inconvenientes anteriormente apontados. 2
Vantagens: Programa mais claro e eficiente. Programa formalmente correcto (ausência de erros lógicos). Fácil de converter para qualquer linguagem de programação, pois é praticamente independente da linguagem de programação. 3
Análise Objectivo: compreensão e a descrição do problema proposto. No caso de resolução de problemas simples, as questões essenciais prendem-se com a determinação e especificação dos seguintes pontos: Com que dados vamos trabalhar Entradas. Que resultados devemos obter Saídas. Que processos devemos utilizar para produzir resultados Definição do problema. A fase de Análise torna-se particularmente relevante quando estamos perante problemas complexos. Nestes casos utiliza-se a técnica de decomposição de um problema em subproblemas mais simples. 4
Elaboração de um Algoritmo Como sabemos, um um computador não não resolve problemas sozinho, apenas executa os os passos que que lhe lhe indicamos para para a sua sua resolução. Em Em informática, a formulação de de um um algoritmo não não é mais mais do do que que a descrição, de de forma ordenada, com com clareza e rigor, das das operações que que se se pretende realizar num num computador para para resolver um um problema ou ou atingir determinados objectivos. Um Um bom bom algoritmo, pode pode ser ser escrito na na nossa linguagem natural, utilizando expressões sintéticas e exactas e, e, normalmente, também alguns sinais convencionais. O algoritmo deve deve ser ser formulado de de modo a poder ser ser traduzido numa qualquer linguagem de de programação. 5
Formas de apresentação de algoritmos para computador As As formas mais mais divulgadas para para representação de de algoritmos num num computador são: são: Fluxogramas Pseudocódigo 6
Fluxogramas Os Os fluxogramas são são diagramas representativos do do fluxo das das acções de de um um programa, através de de símbolos, que que representam os os diferentes tipos tipos das das acções e o seu seu encadeamento na na sequência do do programa. Actualmente, os os fluxogramas não não são são muito utilizados. Eles Eles têm têm algum interesse mais mais do do ponto de de vista vista didáctico do do que que na na prática de de programação. Podem ser ser úteis úteis para para visualizar melhor determinadas estruturas de de programação. Para Para representar programas de de média ou ou grande extensão, tornam-se difíceis de de concretizar podem exigir muito espaço, para para além além do do tamanho habitual de de uma uma folha folha de de papel, o que que os os torna tornade dedifícil leitura e manuseamento. 7
Pseudocódigo Por Por pseudocódigo entende-se um um código de de escrita em em que que se se utilizam, usualmente, um um misto de de palavras da da nossa linguagem natural com com palavras e notações típicas das das linguagens de de programação. O pseudocódigo tem-se revelado mais mais prático e mais mais vantajoso na na estruturação do do raciocínio e dos dos elementos (acções, dados) a incluir num num programa. 8
Codificação e Depuração Após formulado o algoritmo, há há que que transcrevê-lo para para a linguagem de de programação, que que se se pretende utilizar trata-se da da operação de de codificação ou ou escrita do do programa --fonte ou ou código fonte. Depois de de termos pronto o programa fonte, para para que que ele ele possa ser ser executado, como já jásabemos, é necessário utilizar software de de tradução (compilador ou ou interpretador), que que irá iráconverter o código fonte fonte para para código máquina. Mas, Mas, antes antes de de darmos o programa por por concluído, ainda poderemos ter ter que que fazer alguns testes de de verificação e eventuais correcções. Antes de de mais mais há há que que verificar se se ele ele está estáescrito correctamente de de acordo com com as as normas impostas pela pela linguagem.; se se houver erros de de escrita, o compilador ou ou o interpretador não não os os deixará passar, o programa não não poderá correr e seremos obrigados a proceder a uma uma revisão do do texto, para para rectificar esses esses mesmos erros. 9
Codificação e Depuração Para Para além além disso, mesmo depois de de o programa passar no no teste teste de de verificação do do compilador ou ou do do interpretador, pode pode muito bem bem acontecer que que tenha falhas do do ponto de de vista vista lógico ou ou de de coerência com com os os objectivos que que se se pretendem alcançar por por imprecisões, deficiente definição algorítmica, vícios de de raciocínio, etc. etc. Há Háentão que que testar o programa, com com dados diversificados e com com diferentes utilizadores; se se houver algum imprevisto, pode pode exigir alterações na na implementação do do programa. A fase fase de de correcção de de erros, quer quer de de sintaxe, quer quer de de concepção lógica chamase depuração. se 10
Programação Estruturada O modelo da programação estruturada surgiu da necessidade de obter programas simples e claros, de fácil manutenção e actualização. As teorias de programação actuais centram-se nas técnicas de programação modular e de programação estruturada. A programação modular é um método de desenho que considera a decomposição de um problema em partes independentes, bem diferenciados logicamente. A programação estruturada é complementar da programação modular, pois enquanto que esta procura dividir u programa em partes mais pequenas, aquela desenvolve estruturalmente cada um dos módulos. 11