CASE OF


  Tanto o Pascal, como o C apresentam uma estrutura diferente, para análise. É o CASE. No C esta estrutura chama-se SWITCH.
  Esta estrutura pega a variável a ser analisada e faz diversos testes, a fim de descobrir algumas verdades ou mentiras. É uma forma mais inteligente de fazer isto, em vez de uma infinidade de IFs.
  Estrutura:
case variável of
  valor1 : expressão;
  valor2 : expressão;
  ...
  valorn: expressão;
else
  expressão;
end;

  A expressão é o tratamento, caso o valor seja o especificado antes dela. Se for uma linha apenas, é ela pura. Se for duas ou mais, deve ser seguido de begin e end.

  O valor simples também pode ser substituído por faixas seqüenciais ou diversos valores. Ex:
1..10 : writeln('O seu número varia de 1 a 10');
1, 4, 5 : writeln('O seu número é 1, 4 ou 5');

  Exemplo:
var cidade : string;

begin
  write('Qual sua cidade de origem ? ');
  readln(cidade);

  case cidade of
    'RIO' : writeln('Carioca');
    'SAMPA' : writeln('Paulistano');
    'MINAS' : writeln('Mineiro');
  else;
    writeln('Você é de(a): ', cidade); { Não é de nenhuma das três cidades acima }
  end;
end.
Saída:
Qual sua cidade de origem ? RIO
Carioca

  O tratamento do case pode ser complexo, ou seja, com mais de uma expressão. Nesse caso, as expressões deverão ser acompanhadas dos limitadores do Pascal begin e end. Exemplo:
var idade, serie : integer;
    faculdade : string;

begin
  write('Qual a sua idade ? ');
  read(kbd, idade);

  case idade of
    1..17 : begin
              write('Qual a série ? ');
              read(kbd, serie);
            end;
    18..23 : begin
              write('Qual a faculdade ? ');
              read(kbd, faculdade);
            end;
  end;
end.
Saída:
Qual sua idade ? 19
Qual a sua faculdade? Engenharia

  Obs: Utilize no MSX o comando de leitura de dados do teclado "read(kbd, <var>)" e no PC utilize o "readln(<var>)".


/MARMSX/CURSOS/PASCAL