Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Estágio de Docência
Douglas F. Toledo
Mestrando em Ciência da Computação
DIN - UEM
Sub-rotinas
Programação Modularizada
Revisando
• Blocos de instruções que realizam tarefas específicas;
• Vantagens:
• Chamadas ilimitadas;
• Programas menores;
• Código mais organizado;
• Cuidados:
• Tipos de variáveis;
• Desvio na execução do programa;
Revisando
• Dois tipos:
• Procedimentos;
• Funções;
• Duas abordagens:
• Sem passagem de parâmetros;
• Com passagem de parâmetros;
Exemplo
PROGRAM <nome_do_programa> ;
VAR
<nome_da_variável> : <tipo_da_variável> ;
PROCEDURE <nome_da_procedure> [ <lista_de_parâmetros> ] ;
VAR
<declaração_das_variáveis_da_procedure> ;
BEGIN
<comandos_da_procedure> ;
END;
FUNCTION <nome_da_função> [ <lista_de_parâmetros> ] : <tipo_retornado> ;
VAR
<declaração_das_variáveis_da_função> ;
BEGIN
<comandos_da_função> ;
<nome_da_função> := <valor_retornado> ;
END;
{ Programa Principal }
BEGIN
<comandos> ;
END.
COM PASSAGEM DE PARÂMETROS
Procedimentos e Funções
Conceitualizando
• Parâmetros:
• Valores passados na execução;
• Devem ter o mesmo tipo especificado na sub-rotina;
• Elo entre programa principal e sub-rotinas;
• Uma variável pode ser usada em diversas sub-rotinas;
• Utilizar variáveis globais direto dificulta a manutenção;
Procedimento
PROCEDURE <nome_procedure>(x, y: <tipo_dado>);
{Declaração de variáveis locais}
BEGIN
{comandos}
END;
Procedimento
Exercício 1: Faça um procedimento para verificar se um
dado ano é bissexto.
Dica: Um ano bissexto é divisível por 4, mas não por 100,
ou então é divisível por 400.
Exemplo: 1988 é bissexto pois é divisível por 4 e não é por
100; 2000 é bissexto porque é divisível por 400.
Procedimento
Exercício 2: Faça um procedimento para verificar se um
dado número é par.
Dica: use a função aritmética MOD
Procedimento
Procedimento
Função
FUNCTION <nome_função>(x, y: <tipo_dado>); :
<tipo_dado_retorno>
{Declaração de variáveis locais}
BEGIN
{comandos}
<nome_função> := <valor_retornado>
END;
Função
Exercício 3: Faça uma função que retorne a média de um
aluno. Para tanto, será necessário passar a nota de
trabalho (nt) e a nota da prova (np), ambas com o mesmo
peso.
Função
Exercício 4: Faça uma função que retorne a quantidade de
segundos para uma determinada quantidade de horas.
Função
Função
Desafio
Exercício 5: Crie um programa que receba os valores antigo
e atual de um produto, e chame uma sub-rotina que
determine o percentual de acréscimo entre eles. O
resultado deverá ser mostrado no programa principal.
Desafio
Obrigado
• Dúvidas?