Estrutura de seleção múltipla ESCOLHA-CASO.

A estrutura ESCOLHA-CASO pode ser uma solução para o algoritmo quando se apresentam muitas estruturas de decisão SE-ENTÃO-SENÃO e quando as verificações são feitas caso a anterior falhe.

Com o comando CASO o algoritmo permite que a busca vá direto ao bloco de código.

Exemplo: Desenvolva um algoritmo como uma calculadora, onde se digita o primeiro número, depois a operação (subtração, soma, divisão ou multiplicação), em seguida o segundo número. O algoritmo executará um cálculo diferente, dependendo de qual operador o usuário escolher – Utilize o comando caso.

algoritmo “Calculadora Basica”
var
num1,num2,resultado : REAL
operacao:caracter
inicio
ESCREVAl (“Digite o primeiro número: “)
LEIA (num1)
ESCREVAl (“Digite a operação: “)
LEIA (operacao)
ESCREVAl (“Digite o segundo número: “)
LEIA (num2)
ESCOLHA operacao
CASO “+”
resultado <- num1 + num2
CASO “-”
resultado <- num1 – num2
CASO “*”
resultado <- num1 * num2
CASO “/”
resultado <- num1 / num2
FIMESCOLHA
ESCREVAl (“Resultado: “, resultado)
fimalgoritmo

Podemos incluir mais uma opção nesta estrutura caso a variável não seja equivalente ao valor informado como opção dos CASOs, que denominamos OUTROCASO.

Quando o usuário digitar um valor diferente dos operadores, o algoritmo apresenta a mensagem que informa a opção inválida, assista o vídeo:

 

Comando Aleatório
Com ele você pode gerar aleatoriamente a digitação de valores numéricos, exemplo – Simulação de um dado:

Obs: Preencher o intervalo dos valores aleatórios – Faixa de valores que serão gerados automaticamente, quando esta opção estiver ativada. Assista o video, copie e cole o código abaixo no Visualg (não esqueça de determiar o intervalo).

Algoritmo “Jogo de dados”
Var
a:inteiro
Inicio
aleatorio on
leia (a)
aleatorio off
escolha a
caso 1
escreval (“Você fez 01 ponto”)
caso 2
escreval (“Você fez 02 pontos”)
caso 3
escreval (“Você fez 03 pontos”)
caso 4
escreval (“Você fez 04 pontos”)
caso 5
escreval (“Você fez 05 pontos”)
caso 6
escreval (“Você fez 06 pontos”)
fimescolha
fimalgoritmo

Questões:
A) Faça um algoritmo com o comando CASO para receber o nome de um clube de futebol.
Logo após a entrada deste nome, o algoritmo deve mostrar na tela se esse time é um dos grandes do Rio de Janeiro ou se pertence aos grandes de São Paulo.
Considerar:
Eixo SP: Santos, Corinthians, Palmeiras e São Paulo.
Eixo RJ: Botafogo, Flamengo, Vasco e Fluminenses.
Se o usuário digitar um time de outro lugar, informar que o time não existe ou está fora do eixo Rio x São Paulo.

B) Faça um algoritmo com o comando CASO que receba o nome do cargo e o valor do salário de um funcionário.
O Algoritmo reajusta o salário do funcionário de acordo com o cargo:
Supervisor – Aumentar salário em 30%
Técnico – Aumentar salário em 20%
Demais cargos – Aumemtar salário em 10%
Mostra na tela o valor do salário reajustado e o cargo que foi digitado.

C) Desenvolva este algoritmo com o comando SE e com o comando CASO.
O algoritmo recebe a idade de uma pessoa.

Se a idade está entre 0 e 2 ano, inclusive, o algoritmo informa que esta pessoa ainda é um bebê.
De 3 até 12, inclusive, uma criança.
De 13 até 18, inclusive, um adolescente.
Acima de 18, um adulto.

Na tela, informe em que categoria se encontra esta pessoa.

D) Faça um algoritmo que leia o ano atual e o ano de nascomento de uma pessoa, calcule a idade e mostre na tela se esta pessoa pode votar:

O voto é obrigatório para o eleitor com idade entre 18 e 70 anos.
Menores de 16 anos não podem votar. Porém, o voto é facultativo para:

  • o eleitor maior de 16 anos e menor de 18 anos;
  • os maiores de 70 anos.