ANALISANDO AS ESTRUTURAS


  O objetivo deste capítulo é mostrar ao programador de Pascal ou C, como identificar e separar as estruturas em um programa.

Seja o programa em Pascal:
var a,b : integer;

begin
  a:=5;
  b:=0;
  while (a>b) do
  begin
    if (a>b) then
      writeln('a ainda eh maior')
    else
      writeln('a eh igual a b');  
    a:=a+1;
    b:=b+2;
  end;
end.
  A seguinte pergunta pode surgir: O que pertence ao WHILE? O que pertence ao IF?
  As estruturas em Pascal respeitam aninhamento de estruturas, ou seja, possuem níveis mais externos e níveis mais internos. Uma analogia seria a hierarquia dos parêntesis nas expressões matemáticas. Exemplo:

(5*(4+2)-3*(4*(2+2)))

  Numerando-se os parêntesis, temos:
(5*(4+2)-3*(4*(2+2)))
1  2   2   3  4   431
  Percebemos, então que:
  Normalmente, a visualização da hierarquia das estruturas é facilitada pela identação (ou tabulação) diferenciada do código (não é obrigatória). Assim, linhas de código consecutivas e com a mesma tabulação indicam que elas estão no mesmo nível ou hierarquia e pertencem ao mesmo grupo.
  Na realidade, quem demarca os níveis da estrutura são os delimitadores, como o begin e end (pode ser também repeat-until).
  Observe que no exemplo anterior de código do Pascal, que as estruturas ficam BEM visíveis ao programador.
var a,b : integer;

begin
  a:=5;
  b:=0;
  while (a>b) do
  begin
    if (a>b) then
      writeln('a ainda eh maior')
    else
      writeln('a eh igual a b');
    a:=a+1;
    b:=b+2;
  end;
end.
  As linhas em verde, pertencem ao IF.
  As linhas em azul e verde, pertencem ao WHILE.
  As linhas em vermelho, azul e verde, pertencem ao corpo principal do programa.


/MARMSX/CURSOS/PASCAL