Estruturas de controle em linguagens de programação

Disponível somente no TrabalhosFeitos
  • Páginas : 7 (1516 palavras )
  • Download(s) : 0
  • Publicado : 11 de novembro de 2012
Ler documento completo
Amostra do texto
RESUMO
Este trabalho tem por objetivo apresentar uma visão abrangente dos mecanismos oferecidos por linguagens de programação para apoiar as estruturas de controles mais espicaçadamente na parte de modularização, onde vários sãos os benefícios obtidos com a modularização, com destaque para o aumento da legibilidade, redigibilidade, modificabilidade, reusabilidade, confiabilidade e eficiência deprogramação.
PALAVRAS-CHAVE: estruturas, controle, abstração, modularização, programação.

SUMÁRIO
INTRODUÇÃO 2
1. PROGRAMAÇÃO EM BLOCO MONOLÍTICO 3
2. PROCESSO DE RESOLUÇÃO DE PROBLEMAS COMPLEXOS 3
3. SISTEMAS DE GRANDE PORTE 4
4. SUBDIVISÃO EM MÓDULOS 4
5. ABSTRAÇÃO E MODULARIZAÇÃO 4
6. TIPOS DE ABSTRAÇÕES 6
7. SUBPROGRAMAS 7
8. PERSPECTIVAS DO USUÁRIO E DO IMPLEMENTADOR DOSUBPROGRAMA 7
9. PARÂMETROS REAIS, FORMAIS E ARGUMENTOS 7
10. MODULARIZAÇÃO, ARQUIVOS E COMPILAÇÃO SEPARADA 7
11. VANTAGENS DA MODULARIZAÇÃO 7
CONCLUSÃO 8


INTRODUÇÃO
Incialmente este trabalho explica a respeito de programação em bloco monolítico explicando o motivo de ele ser mais usado antigamente e falando também sobre as desvantagens desse tipo de programação, em seguida será falado arespeito de formas para resolução de problemas complexos, também sobre sistemas de grandes e pequenos portes, terá uma explicação sobre a subdivisão em módulos. Também será apresentado o conceito e os tipos de abstração e juntamente com o conceito de modularização e suas vantagens. No final será falado sobre subprogramas e as perspectivas do usuário e do implementador do subprograma.  
1. PROGRAMAÇÃOEM BLOCO MONOLÍTICO
No começo os programas consistiam de um único bloco monolítico de código, pois a divisão de programas em vários blocos exige um sistema de gerenciamento de memória e consome mais recursos. O programador devia utilizar um pequeno número de variáveis, as quais cumpriam diferentes papéis ao longo do programa, com o intuito de economizar memória. Ao invés de se buscar ordenação nofluxo de controle dos programas, os programadores tinham de definir o fluxo mais eficiente, o que normalmente exigia o uso extensivo e indiscriminado de comandos de desvio incondicional.
Enquanto as aplicações desenvolvidas eram de pequeno porte, isto é, envolviam um número relativamente pequeno de linhas de código e realizavam poucas tarefas (se comparadas às aplicações atuais), essa forma dedesenvolver programas era satisfatória. Contudo, na medida em que novos recursos computacionais se tornavam disponíveis e que se vislumbrava o grande potencial dos computadores para a construção de aplicações mais complexas, foi se constatando que a programação em bloco monolítico tornava pouco viável a construção de grandes sistemas de programação.
Tipicamente, os programas eram escritos por umúnico programador, pois não havia como dividir o programa em trechos relativamente independentes que pudessem ser construídos por programadores diferentes. Além de impedir a divisão do trabalho, o fato das mesmas variáveis serem usadas em todo o programa e o fluxo de controle poder ir de um ponto a qualquer outro do programa provocava a ocorrência de um grande número de erros na programação,atrasando o desenvolvimento do sistema.
2. PROCESSO DE RESOLUÇÃO DE PROBLEMAS COMPLEXOS
Em geral, a técnica fundamental utilizada para resolver problemas complexos consiste no uso da estratégia de “dividir para conquistar”. Usar essa estratégia implica resolver um grande problema dividindo-o em vários subproblemas mais gerenciáveis e resolvê-los independentemente.
Essa estratégia aumenta ainda apotencialidade de reuso de trabalho, uma vez que se podem disponibilizar para reuso as soluções dos subproblemas ao invés de disponibilizar apenas uma solução completa do problema. A implementação da estratégia de “dividir para conquistar” em linguagens de programação é realizada através de técnicas de modularização. Além de apoiar a resolução de problemas complexos, essas técnicas tornam mais fáceis...
tracking img