Índice

Estrutura de CASE

O comando CASE é importante para a estruturação de um programa que possua diversas opções de execução, tornando-o bem legivel e estruturado, evitando o uso do IF de forma repetida. O comando CASE trás junto com ele uma restrição, onde, seletor tem que ser do tipo char, integer ou boolean.

Comando – CASE...OF 

(Voltar ao Índice)   

 

 

 

 

Sintaxe:

         CASE seletor OF

              alvo1 : comando1;

              alvo2 : comando2;

              alvo3 : comando3;

         END;

 

Sintaxe:

         CASE seletor OF

              alvo1 : BEGIN

                        ... instruções ...

                      END;

             

              alvo2 : comando2;  

             

              alvo3 : BEGIN

                        ... instruções ... 

                      END;

              ELSE comando4; 

         END;

 

 

 

 

A) Altera o funcionamento do programa;

 

Exemplo:

   { Um simples exemplo de como se trabalha com a Estrutura Case }

 

   Uses Crt;

 

   Var X : Integer;

 

   Begin

     Readln (X);

     Case X Of

          1 : Writeln ('Ola Mundo'); { E o valor de X for igual a 1, irá executar essa linha }

          2 : Writeln ('GNOIA');     { X = 2, essa linha será executada }

          3 : Writeln ('Software Livre'); { X = 3 - essa linha será executada }

     End;

   End.

 

B) Explica o funcionamento do programa;

  program Teste_Case;

uses crt;

var numero: integer;

begin

clrscr;

write ('Digite um número inteiro: ');

readln (numero);

case

numero

of

1 : writeln ('O número digitado foi 1');

2 :

begin

writeln ('Eu sei qual o número que você

digitou');

writeln ('O número digitado foi 2');

end;

3,4 : writeln ('O número digitado foi 3 ou 4

');

5..10 : writeln ('O número digitado está ent

re 5 e 10');

else

writeln ('O número digitado não está entre 1 e

10 ');

end;

end.

 

 

C) Explica o funcionamento do programa;

Exemplo:

   Uses Crt;

 

   Var Y, X : Integer;

 

   Begin

     Readln (X, Y);

     Case X Of

          1 : Begin

                Y := 4;

                Writeln ('Entrou no Primeiro alvo');

              End;

 

          2 : Begin

                Y := 3;

                Writeln ('Entrou no Segundo alvo');

              End;

 

          3 : Writeln ('Entrou no Terceiro alvo');

          Else Writeln ('Entrou no Else');

     End;

   End.

 

D) Explica o funcionamento do programa;

 

program aula04_ex1;

uses

  crt;

 

var

  Idade:integer;

 

begin

  clrscr;

  write('How old are you? ');

  readln(Idade);

  writeln;

  case Idade of

     -1: begin

            writeln('Hello Little Baby...');

            writeln('Enjoy your nine months of peaceful life!');

         end;

     0:     writeln('Hello Baby');

     1..5:  writeln('Hello Little Boy / Girl');

     6..10: writeln('Hello Boy / Girl');

     11..15:  writeln('Hello Little Man / Woman');

     16..25:  writeln('Hi');

     26..45:  writeln('Hello');

     46..60:  writeln('Hello Mister / Madam');

     61..120: writeln('Hello Old Man / Old Woman');

     else     begin

                writeln('Hello World...');

                writeln('Can you hear me?');

              end;

  end;

  readln;

end.

 

 

 

 

 

 

C) Resolve os erros;

 

program calculadora;

 

uses crt;

 

var n1, n2, conta: real;

 

operacao: cha;

 

begin

    clrscr;

    writeln ('Inserir 1º valor: ')

    readln ();

 

    writeln('Escolha a operacao [+, -, *, /]: ');

    readln(operacao);

 

    writeln ('Inserir 2º valor: ');

    readln (n2);

 

        case operacao of

        '+': conta:= n1/n2;

        '-': conta:= n1-n2;

        '*': conta:= n1*n2;

        '/': conta:= n1/n2;

        else

        writeln('Invalido');

        end;      

    writeln('O valor da operacao ‚: ',conta);

  

    readkey;

end.

 

 ENVIAR AO PROFESSOR (PROFCARLOS2006@gmail.com)

 

 

(Voltar ao Índice)