Você está na página 1de 13

Modularidade

Rotina/Função
Modularidade
 Rotina: agrupamento de instruções afins.
Podem ser classificadas como:

– Rotina sem passagem de parâmetros de


entrada
– Rotina com passagem de parâmetros de
entrada

 Função: agrupamento de instruções que


apresentam um ou mais parâmetros de
entrada e um tipo de dado (inteiro, real,
caracter) de saída (retorno).
Rotina sem passagem de parâmetros
Rotina <nome da rotina>
Início

Instrução_1;
Instrução_2;
.
.
.
Fim
Rotina com passagem de parâmetros
Rotina <nome da rotina> (<identificador> : <tipo de dado>,
<identificador> : <tipo de dado>,

...... ,

<identificador_n> : <tipo de dado>)

Início

Instrução_1;
Instrução_2;
.
.
.
Fim
Função
Função <nome da função> (<identificador> : <tipo de dado>,
<identificador> : <tipo de dado>,

.................................................. ,

<identificador_n> : <tipo de dado>) : <tipo de dado>


Início

Instrução_1;
Instrução_2;
.
.
.
Retorna(<tipo de dado>);
Fim
Exercícios Básicos

Fator, Qtde. Elementos

Dobro Venda Media Tabuada


Valor
Desconto
Media
Valor 1a. Nota
Compra 2a. Nota

CalcDesconto CalcMedia
Algoritmo ExerciciosBasicos Módulo Principal
Início
Inteiro : Opcao, Numero, QtdeElem;

Leia(Opcao);
Enquanto Opcao < 5 Então
Inicio
Se Opcao = 1 Então
Dobro;
Senão
Se Opcao = 2 Então
Venda;
Senão
Chamada da Rotina
Se Opcao = 3 Então
Media;
Senão
Se Opcao = 4 Então
Inicio
Leia(Numero, QtdeElem);
Tabuada(Numero, QtdeElem);
Fim
Passagem de Parâmetros
Leia(Opcao);
Fim São os dados enviados para a Rotina
Fim a partir do Módulo Principal
Rotina Dobro Rotina sem passagem
Início de parâmetros
Inteiro : Numero, Dobro;

Leia(Numero);
Dobro Numero * 2;
Escreva(Dobro);
Fim
Rotina Venda Rotina sem passagem
Início de parâmetros
Inteiro : Codigo, QtdeVend;
Real : PrecUnit, ValComp, ValPagar;

Leia(Codigo, QtdeVend, PrecUnit);


ValComp PrecUnit * QtdeVend;
ValPagar ValComp - CalcDesconto(ValComp) ;
Escreva(ValComp, CalcDesconto(ValComp),ValPagar);
Fim

Chamada da Função

Passagem de Parâmetro

É o dado enviado para a Função


CalcDesconto a partir da
Rotina Venda
Rotina Media Rotina sem passagem
Início de parâmetros
Inteiro : Codigo;
Real : Prv1, Prv2;
Chamada da Função
Leia (Codigo);

Enquanto Codigo > 0 Faça


Inicio
Leia( Prv1, Prv2);
Escreva( CalcMedia(Prv1, Prv2));
Se CalcMedia(Prv1, Prv2) >= 5 Então
Escreva(“Aprovado”);
Senão
Escreva(“Reprovado”);
Passagem de Parâmetros
Leia(Codigo);
São os dados enviados para a
Fim
Função CalcMedia a partir
Fim da
Rotina Venda
Rotina com passagem
de parâmetros
Rotina Tabuada( F, Q : Inteiro)
Início
Inteiro : Cont, Resultado;

Para Cont de 1 ate Q Faça Parâmetros de entrada: São


Inicio variáveis criadas com o
Resultado F * Cont; propósito de armazenar uma
Escreva(F, Cont, Resultado); cópia dos dados que são
Fim enviados por um módulo
Fim (Rotina ou Função).
Parâmetros da Função

Função CalcMedia(P1, P2: Real):Real


Início
Real : Media;

Media ( P1 + P2 )/2; Tipo de Dado


retornado pela
Função
Retorna(Media);
Fim
Parâmetros da Função

Função CalcDesconto(VC: Real):Real


Início
Real : Desc;

Se VC >= 800 Então


Tipo de Dado
Desc 0,15 * VC; retornado pela
Senão Função
Desc 0;

Retorna(Desc);
Fim

Você também pode gostar