Buscar

Aula06 Modularizacao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação de Computadores
Modularização
Prof. Dr. Erivelton Geraldo Nepomuceno
Depto. Engenharia Elétrica
Sala 4.23 EL – Prédio do DEPEL
http://www.ufsj.edu.br/nepomuceno 
nepomuceno@ufsj.edu.br 
1/17
UM PROBLEMA DECORRENTE DO 
AVANÇO DA COMPUTAÇÃO (60’) → 
DESENVOLVIMENTO DE SOFTWARE
SEM METODOLOGIA → MUITOS 
ERROS, CONSTANTE RETRABALHO E 
MANUTENÇÃO COMPLEXA:
SOFTWARE ONEROSOS
METODOLOGIAS PARA 
DESENVOLVIMENTO DE SOFTWARE: 
PROGRAMAÇÃO ESTRUTURADA! 2/17
Programação estruturada
● Desenvolvimento do algoritmo por refinamentos 
sucessivos
● Sistematização de estruturas de dados
● Uso sistematizado de um número limitado de 
estruturas de controle
● Transformação de refinamentos sucessivos em 
módulos → modularização
○ Decomposição do algoritmo em módulos
○ Dominar a complexidade
○ Organizar o processo de programação
3/17
Módulo
● Grupo de comandos com função bem definida e 
independente
● Trecho do algoritmo
● Muito útil quando
○ Usado repetidamente
○ É independente
EXEMPLO (PÁGINA 175)
Elaborar um algoritmo para calcular o salário líquido de 
um empregado
4/17
MÓDULO 
PRINCIPAL
MÓDULO 
VANTAGENS
MÓDULO 
DEDUÇÕES
MODULARIZAÇÃO DO EXEMPLO DA PÁG. 175
5/17
Vantagens da modularização
● Manutenção mais simples sem efeitos colaterais no 
resto do código
● Independência na elaboração dos módulos
● Testes e correções dos módulos podem ser feitos 
separadamente
● Uniformidade no processo de desenvolvimento de 
software
● Reutilização do código (trabalho)
● Legibilidade do código
● Em síntese:
○ Maior qualidade
○ Maior eficiência
6/17
Objetos globais x locais
● Escopo de acesso às entidades (variáveis, arquivos, 
etc.) do algoritmo
● Módulos secundários “herdam” os objetos do módulo 
principal → o contrário não se dá
A
B C
7/17
MÓDULO 
PRINCIPAL
MÓDULO 
VANTAGENS
MÓDULO 
DEDUÇÕES
Ferramentas para modularização
● Tipos
○ Sub-rotinas
■ Código modularizado
○ Funções
■ Código modularizado que retorna um valor
● Módulos hierarquicamente subordinados ao 
algoritmo
● Objetivos destes módulos:
○ Evitar repetição de seqüências de comandos
○ Dividir e estruturar o algoritmo
○ Aumentar a legibilidade
8/17
Múltiplos níveis de modularização
MP
S1 S2 F1 F2
S3 F3 S4 F4
9/17
S3
S3
S3
S3
10/17
MP
S1 S2 F1 F2
S3 F3 S4 F4
Sintaxe da sub-rotina
EXEMPLO
Leia dado com uma pergunta ao usuário
11/17
EXEMPLO (PÁGINA 180)
Dados 3 valores distintos, colocá-los em ordem
REPETIÇÕES (MUDAM AS VARIÁVES)
MODULARIZAÇÃO!
12/17
13/17
Passagem de dados
● Transferência de dados entre MP e módulos
● Vinculação dos módulos
● Depende da linguagem de programação
● Tipos nas linguagens de programação
○ Por valor
■ Parâmetros são do tipo “de entrada”
○ Por resultado
■ Parâmetros são do tipo “de saída”
○ Por referência
■ Parâmetros são do tipo “de entrada-saída”
14/17PORTUGOL
Função
● Sub-rotinas que retornam valores
● Relação com funções matemáticas
○ ABS(A)
○ RESTO(A, B)
○ QUOCIENTE(A, B)
○ LOG(A,B)
○ …
● É necessário declarar o tipo retornado
15/17
Sintaxe da Função
16/17
EXEMPLO (PÁGINA 184)
Escrever um algoritmo que leia as medidas dos três lados A, B e C de 
um paralelepípedo, calcule e escreva o valor de sua diagonal
Fim algoritmo
Algoritmo
17/17

Continue navegando