Você está na página 1de 25

Professor: Jos Carrra

profjosecarrera@gmail.com http://ead.gilsonteixeira.com

Sumrio - Procedimentos
Introduo Benefcios Procedimentos Variveis Locais x Variveis Globais Procedimentos com parmetros

Passagem por Valor Passagem por Referncia

Exerccios
2

Introduo

Programas desenvolvido at agora englobam toda a lgica p/ soluo de um problema. Program exemplo; Var ... Begin ... end.
3

Programao Modular

comum, em programao, decompor a lgica de programas complexos em programas menores. Bloco principal

Modulo 1

Modulo 2

Modulo 3
4

Introduo

A modularizao, em pascal, pode ser feita atravs de procedimentos (procedures) e funes (functions).
Subprogramas so blocos de instrues que realizam tarefas especficas.

Introduo

Vantagens:
Subprograma pode ser executado quantas vezes forem necessrias. Problemas podem ser subdivididos em pequenas tarefas, tendendo a ficarem menores e mais organizados. Permite diferentes programadores trabalhando simultaneamente.
6

Procedimentos

Estrutura de programa autnoma que est includa num programa Pascal. Nele podemos utilizar todos os elementos j vistos anteriormente em pascal, como se fosse um programa completo.

Para isso, precisamos declarar e chamar o procedimento.


7

Procedimentos

Sintaxe:
Procedure Nome; var <variveis> Begin <instrues> End;

Onde:

Nome o identificador do procedimento.


8

Procedimentos

Estrutura de programa autnoma que est includa num programa Pascal. Nele podemos utilizar todos os elementos j vistos anteriormente em pascal, como se fosse um programa completo.

Para isso, precisamos declarar e chamar o procedimento.


Obs: Em Pascal os procedimentos devem ser definidos antes do programa principal.
9

Declarao

Exemplo: Criar um procedimento que realiza a soma de dois nmeros A e B.


Procedure soma; Var a,b:integer; begin write(Valor de A: ); read(a); write(Valor de B: ); read(b); write(Resultado= , a+b); end;

10

Exemplo: Criar o programa principal, que exibe menu e chama a soma.


Program calculadora; Var opcao:integer; begin write(Menu Principal); write(1 - Soma); write(Escolha uma opo: ); read(opcao); if (opcao=1) then soma; End.

Chamada

11

Variveis Globais X Locais

Variveis Globais:
Declarada no incio de um programa. Pode ser utilizada por qualquer procedimento ou funo.

Variveis Locais:
Declarada dentro de uma funo ou procedimento. valida apenas dentro da subrotina que est declarada.
12

Procedimentos

Variveis Globais

Variveis Locais
Procedure soma; Var a,b:integer; begin ... end;

Program calculadora; Var opcao:integer; begin ... End.

13

Procedimentos

Crie um novo procedimento para operao de subtrao.


Procedure subtracao; Var a,b:integer; begin write(Valor de A: ); read(a); write(Valor de B: ); read(b); write(Resultado= , a-b); end;

14

Sintaxe:

Procedimentos com Parmetros


Procedure Nome (parmetros); var <variveis> Begin <instrues> End;

Onde:

Nome o identificador do procedimento. Parmetros so os dados esperados pelo procedimento.


15

Procedimentos com Parmetros


Parmetros:

Servem como ponto de comunicao entre o programa principal e a rotina. Asseguram que a rotina receber os dados necessrios para execuo. Podem ser passados de duas formas: por valor e por referncia
16

Procedimentos com Parmetros


Passagem

por Valor:

Caracteriza-se pela no alterao do valor do parmetro real, quando este manipulado dentro da rotina.

O contedo da varivel passada copiado para a rotina, onde, qualquer modificao no afeta o valor real.

Declarao dos parmetros no precedida por var

17

Procedimentos com Parmetros


Declarao Passagem por Valor Exemplo: Procedimento que realiza a soma de dois nmeros (A e B) passados pelo programa principal.

Procedure soma(a,b:integer); Begin write(Resultado= , a+b); end;


18

Exemplo: Criar o programa principal, que chama a soma.


Program calculadora; Var opcao, a, b:integer; begin write(Menu Principal); write(1 - Soma); write(Escolha uma opo: ); read(opcao); if (opcao=1) then begin writeln(Valor de A e B); readln(a,b); soma(a,b); end; End.

Procedimentos com Parmetros

19

Procedimentos com Parmetros


Passagem

por Referncia:

Caracteriza-se pela alterao do valor do parmetro real, quando este manipulado dentro da rotina. O parmetro passado referenciado pela rotina, onde, qualquer modificao afeta o valor real.

Parmetros so precedidos da palavra reservada var

20

Procedimentos com Parmetros


Declarao Passagem por Referncia Exemplo: Procedimento que realiza a soma de dois nmeros (A e B) passados por valor e (resultado) passado por referncia.

Procedure soma(a,b:integer; var resultado:integer); Begin resultado:= a+b; end;

21

Exemplo: Criar o programa principal, que chama a soma.


Program calculadora; Var opcao, a, b, resultado:integer; begin write(Menu Principal); write(1 - Soma); write(Escolha uma opo: ); read(opcao); if (opcao=1) then begin writeln(Valor de A e B); readln(a,b); soma(a,b); writeln(Resultado: , resultado); end; End.

Procedimentos com Parmetros

22

Procedimentos

- Exerccio 1:

Crie uma sub-rotina que receba um nico valor representando segundos. Essa sub-rotina dever convert-lo para horas, minutos e segundos.
A varivel dos segundos ser passada por valor.
(Exerccio 4 da lista)

23

Procedimentos

- Exerccio 2:

Crie uma sub-rotina que leia 5 valores inteiros, determine e mostre o maior e o menor deles.

(Exerccio 9 da lista)
24

Material disponvel em: http://ead.gilsonteixeira.com

profjosecarrera@gmail.com
25

Você também pode gostar