Cursos / Automação Industrial / Lógica de Programação / Aula

arrow_back Aula 04 - Representação de Algoritmos e Estruturas de Decisão Aninhadas

Estrutura de Decisão Escolha

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.

AخA
1
escreva "Escreva um número inteiro:"
2
var x := leia_inteiro
3
escolha x
4
    caso 1 => escreva "Um"                  # se x == 1
5
    caso 2 => escreva "Dois"                # se x <> 1 e x == 2
6
    caso 3 => escreva "Três"                # se x <> 1 e x <> 2 e x == 3
7
    caso_  => escreva "Outro valor"    # se x <> 1 e x <> 2 e x <> 3
8
fim

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.

x
1
escreva "Qual o número do seu mês de nascimento?"
2
var x := leia_inteiro
3
escolha x
4
    caso 1 => escreva "Janeiro"
5
    caso 2 => escreva "Fevereiro"
6
    caso 3 => escreva "Março"
7
    caso 4 => escreva "Abril"
8
    caso 5 => escreva "Maio"
9
    caso 6 => escreva "Junho"
10
    caso 7 => escreva "Julho"
11
    caso 8 => escreva "Agosto"
12
    caso 9 => escreva "Setembro"
13
    caso 10 => escreva "Outubro"
14
    caso 11 => escreva "Novembro"
15
    caso 12 => escreva "Dezembro"
16
    caso_   => escreva "Número do mês inválido"
17
fim
18

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