Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Automação Industrial / Lógica de Programação / Aula
Na aula anterior, você estudou a estrutura de decisão se...então, agora você conhecerá outra estrutura de decisão, denominada de estrutura de decisão escolha. No que diz respeito ao âmbito das linguagens de programação, essa estrutura recebe o nome de switch case.
Uma estrutura de decisão escolha permite "enfileirar" vários blocos de código, semelhantemente a um corredor cheio de portas. Assim, 'dependo da chave', uma dessas portas seria acessada. Algumas pessoas consideram essa estrutura de decisão semelhante ao se, porém, com várias possibilidades. Conheça agora a sintaxe da estrutura de decisão escolha.
escreva "Escreva um número inteiro:"
var x := leia_inteiro
escolha x
caso 1 => escreva "Um" # se x == 1
caso 2 => escreva "Dois" # se x <> 1 e x == 2
caso 3 => escreva "Três" # se x <> 1 e x <> 2 e x == 3
caso_ => escreva "Outro valor" # se x <> 1 e x <> 2 e x <> 3
fim
Processando o seu código, por favor aguarde...
A estrutura de decisão escolha permite definir vários comandos caso. No exemplo de código acima, dependo do valor da variável x, será executado o bloco de comandos após o símbolo '=>' até o início do próximo comando caso. No exemplo, temos caso 1, caso 2 e caso 3. Se o valor de x for igual a 1, o primeiro comando escreva será executado; se o valor for 2, então o segundo comando escreva será acionado; já na situação em que o valor de x seja 3, o terceiro comando escreva terá então sua vez.
E se o valor de x não for 1, nem 2 e nem 3? Então o 'caso_' e o respectivo bloco de código serão acionados. Essa opção 'caso_' é acionada quando nenhum dos outros comandos caso é acionado, em outras palavras, se o valor de x não coincidiu com nenhuma das outras situações, 'caso_' será executado. Pode-se dizer que equivale ao "senão" de um último se...então...senão.
O uso da estrutura de decisão escolha permite simplificar algoritmos, principalmente quando for necessário sequenciar múltiplas estruturas se...senãose...então. Nesses casos, é provável que o algoritmo fique mais simples quando é adotada a estrutura de escolha. Veja um exemplo.
escreva "Qual o número do seu mês de nascimento?"
var x := leia_inteiro
escolha x
caso 1 => escreva "Janeiro"
caso 2 => escreva "Fevereiro"
caso 3 => escreva "Março"
caso 4 => escreva "Abril"
caso 5 => escreva "Maio"
caso 6 => escreva "Junho"
caso 7 => escreva "Julho"
caso 8 => escreva "Agosto"
caso 9 => escreva "Setembro"
caso 10 => escreva "Outubro"
caso 11 => escreva "Novembro"
caso 12 => escreva "Dezembro"
caso_ => escreva "Número do mês inválido"
fim
Processando o seu código, por favor aguarde...
Nesse código, o usuário do programa deverá informar o número do mês em que nasceu e as opções válidas são de 1 até 12. Qualquer valor diferente desse intervalo acionará a opção 'caso_', que possui como conteúdo a mensagem de mês inválido.
Esse exemplo pode fazer parte de um menu de opções de um programa e demonstra uma boa situação em que a estrutura de decisão escolha (switch case) é utilizada.
Versão 5.3 - Todos os Direitos reservados