Caso

Esse comando também funciona como "desvio de fluxo", como o comando de seleção, sendo útil quando houver mais de uma opção de "desvio" e essa depender de valores inteiros. Várias opções de comando caso devem estar associadas com um único comando escolha. Assim, cada comando caso serve para definir um dos casos possíveis dentro de uma estrutura de múltipla escolha (escolha). Note que sem um comando pare a execução ocorre em cascata a partir do primeiro caso verdadeiro. No exemplo abaixo, ambas as mensagens são exibidas.

Inicialmente deve-se inserir o comando escolha e depois inserir quantas opções de caso forem necessárias.
Também deve-se definir a variável inteira que será examinada para decidir em qual caso entrará, como indicado na figura 1: está escolhendo a variável n como parâmetro para comando escolha.

       
       Fig. 1. Exemplo de uso do 'escolha-caso'.

Depois deve-se definir os valores de cada opção caso, no exemplo indicado na figura 2, foram definidos apenas duas opções caso, ambas com um único comando subordinado, no primeiro caso imprimindo-se a cadeia de caracteres (portanto constante) Entou no caso 0 e no segundo imprimindo-se Entou no caso 1. Entretanto, se o desejado for entrar apenas no caso com o valor igual ao selecionador, então este código apresenta uma falha: falta o finalizador pare que impede que, após entrar no primeiro caso que coincide com o valor de seleção não entre nos demais.
Como neste exemplo a variável n está sempre com o valor inicial 0, o primeiro caso sempre será verdadeiro, entrando nele e como não tem um comando de parada, entrará nos demais, portanto sempre imprimindo as duas mensagens.

       
       Fig. 2. Exemplo de uso do 'escolha-caso' sem o comando pare.

Para inserir uma instrução de parada, deve-se utilizar a opção para inserir pare (e caso) . A inserção de um comando de parada está ilustrado na imagem 3.

       
       Fig. 3. Exemplo de uso do 'escolha-caso-pare'.

Abaixo está um código correspondente ao anterior, mas usando o comando pare, após o último comando subordinado dentro de cada comando caso (no exemplo apenas um). Assim, após entrar no primeiro caso verdadeiro e executar todos os seus comandos, encontraria um pare, o que interromperia a execução do escolha-caso, seguindo para o primeiro comando após o último caso-pare, ou seja, iria para o primeiro comando após o comando escolha-caso completo.
A figura 4 ilustra esse exemplo, note que em sua execução, após executar o comando subordinado ao primeiro caso a execução é interrompida, seguindo para o primeiro comando após o escolha-caso.

       
       Fig. 4. Exemplo de uso do 'escolha-caso-pare'.

O código abaixo é o correspondente textual ao código visual na figura 4 (em Portugol).


Portugol. Código textual correspondente

programa {
  funcao vazio inicio (  )  {
    inteiro n <- 0
    escolha ( n ) {
      caso 0 :
        escreva("Estou no caso 0", "\n")
        pare
      caso 1 :
        escreva("Estou no caso 1", "\n")
        pare
      }
    escreva("Final de programa", "\n")
    }
  }