Pagina anteriorIndiceProxima pagina

Algoritmos Computacionais

9.5 Variável Local x Variável Global

Dentro de uma função ou procedimento podemos ter a declaração de outra função ou procedimento.
 
Program Variável;
Var M:...;   M é global a S1,S2,S3,P1,P2 e P3
 
 Procedure  S1; 
  Var P:...;      P é local a S1 e global a S2 e S3
 
Procedure S2; 
        Var A:...;      A é local a S2 e global a S3
 
Function S3; 
             Var B:...;      B é local a S3
             Begin 
             End; { de S3 } 
Begin        { aqui apenas S3 é conhecida }
End; { de S2 } 
Begin       { aqui apenas S2 é conhecida }
End; { de S1 } 
Procedure P1; 
   Var Q:...;      Q é local a P1 e global a P2 e P3
 
Function P2; 
       Var R:...;      R é local a P2
      Begin 
      End; { de P2 } 
Procedure P3; 
      Var S:...;      S é local a P3
      Begin       { aqui P2 é conhecida }
      End; { de P3 } 
Begin       { aqui P2 e P3 são conhecidas }
End; { de P1} 
Begin    { aqui S1 e P1 são conhecidas }
End.
  • As variáveis globais são acessíveis a qualquer subalgoritmo, desde que não haja variável local dentro do módulo com o mesmo nome da variável global.
Procure evitar o uso de variáveis globais dentro de subalgoritmos!!!!

Ex.:

Program Teste (input, output);
Var
  X,Y,Z: Integer;
Function MDC (P1, P2: Integer ): Integer;
  Begin
    While P1 <> P2 Do
        If P1> P2
        Then  P1:= P1 – P2
        Else    P2:= P2 – P1;
    MDC:= P1;
  End; { MDC }

Begin
   X:= MDC (10,15) +31;
   Y:= MDC ( X, 25);
End. {de Teste }


Pagina anteriorIndiceProxima pagina

araujo@eng.uerj.br