segunda-feira, 10 de maio de 2010

PARAMETROS.

Passagem de parametro
A passagem pode ser por referencia ou por valor.

Vamos ao exemplo de passagem de parametro por referencia:

Program ext4 ;
 var
  n1,n2,op : integer;
  function subt( var a: integer; b:integer): integer;
   var
    x: integer;
   Begin
     x := a - b;
     subt := x;
     writeln('O Resultado da subtração é:',x);
   end;
Begin
   repeat
   Writeln('Digite o primeiro numero ');
   readln(n1);
   Writeln('Digite o segundo numero ');
   readln(n2);
   writeln(subt(n1,n2));
   writeln(' Digite 1- Novo 2- Sair ');
   readln(op);
   until(op=2);
 End.

Explicação:
1-Declarei as variaveis Globais.
2-Criei uma Função por referencia. Contem Var: na declaração das variaveis que retornaram valor.
3-Coloquei a equação dentro da função.
4-Comecei o programa principal e pedi os numeros e li eles.
5-Chamei a Função, subt(n1,n2), n1 e n2 são as variaveis que vão receber os numeros digitados.
6-No programa principal fiz um Repeat para não ter que ficar abrindo o programa toda hora.

Agora por valor:
PROGRAM PotenciaExp5_de_4_valores;

VAR valor1,valor2,valor3,valor4:INTEGER;

PROCEDURE Leitura(n:INTEGER;VAR num:INTEGER);

BEGIN
     REPEAT
           WRITE('Escreva o ',n,'§ valor -> ');
           READLN(num);
     UNTIL (num>0) AND (num<51);
END;

FUNCTION Potenciaexp5(x:INTEGER):INTEGER;

BEGIN
     potenciaexp5:=(SQR(x)*SQR(x)*x);
END;

PROCEDURE Escrita(n,auxresult:INTEGER);

BEGIN
     WRITELN('A Potˆncia de expoente 5 de ',n,' ‚ ',auxresult);
END;


BEGIN  { bloco principal }
     Leitura(1,valor1);
     Leitura(2,valor2);
     Leitura(3,valor3);
     Leitura(4,valor4);
     Escrita(valor1,potenciaexp5(valor1));
     Escrita(valor2,potenciaexp5(valor2));
     Escrita(valor3,potenciaexp5(valor3));
     Escrita(valor4,potenciaexp5(valor4));
END.

Nenhum comentário:

Postar um comentário