Construção de algoritmos em Pseudocódigo – selecionar caso … fimselecionar

Depois de alguns exercício a aplicar a estrutura se… então… senão… fimse, provavelmente acabamos por concluir que, em certos casos específicos, não é muito prática a sua utilização.

Vamos pensar, a título de exemplo, no seguinte problema:

“Dado um número inteiro, compreendido entre 1 e 4, representando os quatro trimestres do ano, vamos fazer corresponder a sua descrição por extenso.”

Algoritmo em pseudocódigo

Nome Trimestres
Descrição
    Dado um número inteiro, compreendido entre 1 e 4, representando
    os quatro trimestres do ano, este programa faz corresponder a
    sua descrição por extenso.
Variáveis
    trimestre: Inteiro
Início
    ler (trimestre)
    se trimestre = 1
    então   escrever("Primeiro trimestre")
    senão   se trimestre = 2
            então   escrever("Segundo trimestre")
            senão   se trimestre = 3
                    então   escrever("Terceiro trimestre")
                    senão   se trimestre = 4
                            então   escrever("Quarto trimestre")
                            senão   escrever("ERRO!")
                            fimse
                    fimse
            fimse
    fimse
fim

Neste ponto já somos convidados a pensar como ficaria esta estrutura encadeada para outros exemplos como:

  • os dias da semana;
  • os meses do ano;
  • os signos;

Felizmente existe uma estrutura de escolha múltipla, ou de seleção, que se adequa melhor a estas situações.

Trata-se da estrutura “selecionar caso … fim caso“.

Esta estrutura representa-se assim em pseudocódigo:

    selecionar caso <variável>
        <valor1>: <instruções a executar quando ocorre o valor 1>
        <valor2>: <instruções a executar quando ocorre o valor 2>
        <valor3>: <instruções a executar quando ocorre o valor 3>
         ...
        [senão  : <instruções a executar quando falham todos os valores acima previstos>]

Assim temos:

  • <variável> é uma variável cujo valor pretendemos selecionar.
  • <valor1> trata-se de um valor que, no caso de coincidir com o conteúdo da variável, determina a execução das instruções associadas.
  • [ … ] a parte do comando relativa ao senão, ou seja, quando todos os valores previstos falharem, é executada esta. A sua utilizaçao é opcional.

O algoritmo ficaria então com este aspeto:

Nome Trimestres
Descrição
    Dado um número inteiro, compreendido entre 1 e 4, representando
    os quatro trimestres do ano, este programa faz corresponder a
    sua descrição por extenso.
Variáveis
    trimestre: Inteiro
início
    ler (trimestre)
    selecionar caso trimestre
        1:  escrever("Primeiro trimestre")
        2:  escrever("Segundo trimestre")
        3:  escrever("Terceiro trimestre")
        4:  escrever("Quarto trimestre")
        senão
            escrever("ERRO!")
    fimselecionar
fim

Seguem-se uma implementação deste problema.

Em linguagem C++

#include <iostream>
using namespace std;
int main()
{
    int trimestre;
    cin >> trimestre;
    switch(trimestre)
    {
        case 1:
            cout << "Primeiro trimestre" << endl;
            break;
        case 2:
            cout << "Segundo trimestre" << endl;
            break;
        case 3:
            cout << "Terceiro trimestre" << endl;
            break;
        case 4:
            cout << "Quarto trimestre" << endl;
            break;
        default:
            cout << "ERRO!" << endl;
    }
    return 0;
}

 

Anterior Índice Seguinte
Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s