Vous êtes sur la page 1sur 17

Modularização

Modularizacao
• E quebrar um problema em pequenas partes,
sendo que cada uma dessas partes sera
responsavel pela realizacao de uma etapa do
problema.
• Para problemas simples ou de complixidade
reduzida, podem-se densevolver proramas
simples com uma sequencia de instrucoes
bem definidas.
• Contudo quando os problemas assumem uma complexidade

consideravel e necessario definir um conjunto de metodos de

organizacao e de estruturacao do nosso trabalho de modo que:

 Diferentes partes ou seccoes (subalgoritmos ou modulos) do

algoritmo/programa possam ser independentes para possibilitar a sua

escrita e teste separadamente;

 Procedimentos do programa posssam ser escrito de forma a serem

reutilizados em diferentes partes do programa;

 Seja posivel que programas complexos possam ser densevolvidos com

base em procedimentos repetetivos ja especificados e testados.


• Subalgoritmos sao trechos de algoritmos que efectuam determinada
tarefa .
• A construcao de algoritmos compostos por subalgoritmos, ou seja a
contrucao de algoritmos atraves de aplicacao de mecanismos de
modularizacao possui as seguintes vantagens:
 Facilita a escrita do algorito.e possivel focar a concepcao e a
especificao de um problema em pequenas partes;
 Facilita a leitura do algoritmo, a sua interpretacao separadamente e
menos complicada do que tentar entender o algoritmo duma so vez;
 Aumenta o nivel de abstracao. E possivel interpretar o algoritmo,
sabendo apenas o que fazem os respectivos modulos;
 Economia do tempo, espaco e esforco. Um subalgoritmo pode ser
evocado quantas vezes for necessaria, evitando a repeticao da escrita
da mesma tarefa;
 Estende a linguagem. Depois da criacao de um modulo, e possivel a
sua actualizacao noutros algoritmos sem que eles sejam
modificados.
• Uma forma intuitiva de proceder a modularizacao de problemas e realizada atraves de

definicao de um modulo principal, que organiza e coordenao trabalho dos

respectivosmodulos para cada ma das subterefas do algoritmo

• Os subalgoritmos (ou modulos) sao partes independentes de um algoritmo

identificados por um nome (indetificador) e sua execucao pode ser feita co zero ou

varios parametros que pasam informacao do agoritmo principal. A sintaxe utilizada

para a sua criacao e similar a dos algoritmos convecionais, excepto colaboracao dos

parametros logo depois do nome subalgoritmo e na instrucao para finalizar o mesmo.

• Na termenologia de programacao, um subalgoritmo cuja execucao resulta num valor

devolvido ao algoritmo principal e denominado por funcao (ou fumction). No caso da

execucao do subalgoritmo nao implicar o retorno de um valor , entao este e chamado

de rotina ou de procedimento(ou procedure)


FUNCOES
• Funcoes sao utilizadas quando apenas um valor E
solicitado pelo algoritmo principal. No final da funcao
a instrucao (Return(valor)) devolve o controle ao
algoritmo principal disponibilizando o valor que
entretanto foi processado na funcao.
• A chamada de uma funcao E usada como um valor
que deve ser atribuido a uma variavel
 Ex:.(x<-function(var1, var2,…)) ou
• Em alternativa de ser usada como parte de uma
instrucao algoritmica
 Ex:. (if function(var1)= constante than ,,,).
• A seguinte sintaxe representa representa de
uma forma generica a especificacao de uma
funcao
Function NOME (parametro1, parametro2, …,
parametroN)
<instrucoes locais a esta funcao
,,,,
Return Valor
Para exempleficar a
utilizacao de uma
funcao, considera
se um algoritmo
que calcula n notas
de alluno.
Considera se o
parametro de
entrada Notas
como um vector
que armazena
diferentes notas
dos N alunos
• Uma funcao e invocada no algoritmo
principal como parte de uma expressao,
por exemplo na imstrucao write (MEDIA
(Notas,n)), que provocara a escrita do
valor retornado pela funcao MEDIA.
Procedimentos
• Umprocedimento e simlar uma funcao, embora nao retorne de uma forma

explicita um valor. De facto um procedimento e invocado de forma diferente

( utiliza se opcionalmente a instrucao call) e valores que retornam ao

algoritmo principal utilizam os respectivs parametros, que assimilam as

eventuais alteracoes de que foram alvo.

• A semelhanca de uma funcao, um procedimento e definido numa parte do

programa, podendoser invocado noutras partes do mesmo programa. A

execucao de procedimento comporta se como se o conjunto de instrucoes que

lhe estao associados fossem copiadas para o local do programa onde foi

invocado.
• A segunte sintaxe representa de uma forma
generia um procedimento.

Procedimento NOME ( parametro 1, parametro2,


…, paarametroN)

<instrucoes locais a este procedimento>

...
Return
Como exemplo
de
procedimentos,
utiliza se o
seguinte
aloritmo que
imprime as
notas e calcula a
medis final de N
alunos
• No exemplo, o procedimento LISTA_NOTAS e
invocada no algoritmo principal atraves da
instrucao Call LISTA_NOTAS (Notas,media,n), que
depois de executado pode disponibilizar os
valores contidos nos seus parametros.
Opcionalmente,sera possivel abdicar da utilizacao
da palavra reservada Call e faz simplesmente
referencia ao nome do procdimento.
Parametros de entrada e saida

• A especificacao de um subalgoritmo e definida


em termos de parametros de entrada e saida.
Um parametro e um tipo especial de variavel
cujo valor pode ser passado entre um algoritmo
principal e qualquer subalgoritmo (parametro
de entrada) e vice versa(parametro de saida).
• Existem os seguintes tipos de parametros
• Parametros de entrada (ex.,
ordena(VAR1,VAR2,VAR3)) que permite que
valores sejam passados para o subalgoritmo a
partir do algoritmo que solicitou a sua
execucao;
• Parametro de sida (ex., Return(VAR)) que
permite que valores sejam passados do
subalgoritmo para o algoritmo que solicitou a
sua execucao ;
• Em todos os subalgoritmos existe uma
correspondencia directa entre a posicao dos
parametros (ou argumentos) invocados no
algoritmo principal e os parametros definidos
na especificao do subalgoritmo.
• E termos deimplementacao ou codificao numa
detrminada linguagem de programacao, os
parametros recebidos por um subalgoritmo
podem serem passados de dois modos
destintos:
 Por valor o subalgoritmo recebe uma copia do
valor da variavel;
 Por referencia ele recebe uma referencia
para cada variavel que constitui um parametro
(ou argumento).
• Quando a passagem e afectuada por
referencia, uma alteracao do conteudo do
parametro resulta numa modificacao da
variavel passada como argumento

Vous aimerez peut-être aussi