Tipos de Programação Parte 2.
Programação Estruturada:
O que é:
Não existe uma definição universalmente aceita para a programação estruturada; ao contrário, existem várias escolas de pensamento que a conceituam.
No sentido mais restrito, o conceito de programação estruturada diz respeito à forma do programa e do processo de codificação. É um conjunto de convenções que o programador pode seguir para produzir o código estruturado.
Onde podemos preconizar que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, Seleção e iteração.
Estruturas Básicas de Controle
As três estruturas básicas de controle para a construção de programas estruturados :
Seqüência: É usada para controlar a execução do programa, os comandos são executados na mesma ordem em que aparecem no código fonte. As estruturas de seleção, iteração e desvio são usadas para alterar o fluxo de execução do programa de sua ordem seqüencial normal.
Seleção: É usada para testar uma condição e, então, dependendo de ser o teste verdadeiro ou falso, um dos dois conjuntos alternativos de instruções é executado.
Iteração: É usada para executar um conjunto de instruções em um número inteiro de vezes – isto é, para construir um laço (loop). Deve-se observar que existem duas formas básicas para a estrutura de iteração: DO UNTIL e WHILE.
Objetivos:
O principal objetivo da programação estruturada é produzir um programa de alta qualidade a baixo custo, proporcionando uma disciplina de programação para conseguir:
• Melhorar a confiabilidade do programa
• Aumentar a legibilidade do programa
• Minimizar a complexidade do programa
• Simplificar a manutenção do programa
• Aumentar a produtividade do programador
• Estabelecer uma metodologia disciplinada de programação
Quando Usar:
Aplicações de pequeno porte.
Vantagens
As principais vantagens da programação estruturada são:
· Os programas são mais fáceis de entender
· Reduz a complexidade das provas
· Aumenta a produtividade do programador
· Os programas ficam melhor documentado internamente.
Desvantagens:
· A capacidade de reúso de código é limitada pela interdependência entre procedimentos.
· A seqüência das chamadas pode se tornar demasiadamente emaranhada, o que dificulta muito a manutenção e a depuração de código.
· Não há possibilidade de se criar procedimentos mais específicos a partir de outros mais genéricos.
· Uma mudança na representação dos dados implica na alteração em cada local onde estes são acessados.
Observações:
Um programa está estruturado se possui um único ponto de entrada e só um de saída, existem de “1 a n” caminhos desde o princípio até o fim do programa e por último, que todas as instruções são executáveis sem que apareçam loops infinitos

