O documento apresenta conceitos sobre estruturas de decisão em programação, incluindo validação de dados, operadores relacionais e lógicos, e o comando de seleção múltipla. Este último permite escolher entre opções mutuamente exclusivas de forma mais eficiente do que estruturas condicionais encadeadas.
3. Validação de Dados
É uma técnica que verifica se o dado digitado pelo usuário é um valor válido
para o problema em questão.
Esta validação de dados é feita utilizando um CONDIÇÃO, que pode ser:
se <condição> entao
enquanto <condição> faca
4. Operadores Relacionais
As operações com operadores relacionais sempre retornam um valor
VERDADEIRO ou FALSO.
Os operadores relacionais são:
a) = igual
b) < menor
c) > maior que
d) <= menor ou igual que
e) >= maior ou igual que
f) <> diferente de
5. Operadores Lógicos E
As operações com operadores lógicos sempre retornam um valor
VERDADEIRO ou FALSO.
O primeiro operador lógico que veremos será o operador E. Este operador
retorna verdadeiro quando os dois valores de entrada passados para ele são
verdadeiros, caso contrário ele retorna falso. Veja a tabela verdade dele
abaixo:
A B A e B
VERDADEIRO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO FALSO
FALSO VERDADEIRO FALSO
FALSO FALSO FALSO
6. Operadores Lógicos OU
As operações com operadores lógicos sempre retornam um valor
VERDADEIRO ou FALSO.
Este operador retorna verdadeiro quando um ou outro valor de entrada é
verdadeiro e também quando os dois valores são verdadeiros. Ele só
retorna falso quando os dois valores de entrada são falsos. Veja a tabela
verdade dele abaixo:
A B A e B
VERDADEIRO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO VERDADEIRO
FALSO VERDADEIRO VERDADEIRO
FALSO FALSO FALSO
8. Comando de Seleção Múltipla
Em algumas situações ao chegarmos a uma determinada instrução de um
algoritmo devemos selecionar um dentre alguns trechos a seguir, tendo
como base para esta escolha um conjunto de valores.
Para lidar com casos deste tipo foi criado o comando de seleção múltipla
9. Comando de Seleção Múltipla
O comando CASO é utilizado para que seja possível escolher uma opção
dentre várias existentes, eliminando a necessidade de se usar diversas
estruturas de desvio condicional (se...entao) encadeadas.
Isso simplifica a codificação do algoritmo, e facilita sua depuração e
atualização.
Esse comando testa uma condição, e dependendo do resultado, executará
os códigos associados
10. Comando de Seleção Múltipla
A sintaxe pode variar de uma linguagem para outra, mas no VisualG você irá
usa-la assim:
Sintaxe:
11. Comando de Seleção Múltipla
<instruções>
Opção 1
Falsa
Opção 2
Opção n
Falsa
Falsa
Verdadeira
<instruções>
Verdadeira
<instruções>
Verdadeira
12. Comando de Seleção Múltipla - Exemplo
Imagine que você quer decidir o que vai fazer no final de semana. Você terá
3 opções e com base na opção escolhida, será lhe atribuído um horário para
sair de casa e realizar esta atividade.
14. Comando de Seleção Múltipla - Exemplo
Ao tentar decidir o que fazer no fim de semana, você tinha três opções: ir à
praia, ir ao cinema ou ir a um churrasco. Para cada opção, há um comando
diferente (nesse caso, um horário diferente para sair de casa). Isso mostra
que os comandos são mutuamente exclusivos.
Veja que, caso você não escolha nenhuma das opções anteriores, há um
comando definido por padrão (que, nesse caso, é ficar em casa e ler um
livro).
15. Desvio Condicional x Múltipla escolha
Se você compreendeu tudo o que
vimos até agora sobre as
estruturas de decisão, pode estar
se perguntando:
Mas, essa estrutura de múltipla
escolha não é a mesma coisa
que uma estrutura de desvio
condicional composta
encadeada ?
16. Desvio Condicional x Múltipla escolha
De fato, elas podem ser
similares já que os dois
algoritmos a seguir fazem a
mesma coisa!
18. Desvio Condicional x Múltipla escolha
Cada palavra reservada que utilizamos em um algoritmo representa um
comando que o programa vai executar, desde a inicialização do algoritmo,
passando pelos comandos básicos (as instruções primitivas) e os comandos de
cada estrutura de controle, até a finalização do algoritmo. Tudo isso são
instruções que passamos para que o computador execute.
Sabendo disso, podemos ver que o algoritmo que utiliza a decisão encadeada
tem um número maior de instruções. Isso demanda uma quantidade maior de
memória e processamento do computador para executar o algoritmo, o que
afeta diretamente o desempenho
19. Desvio Condicional x Múltipla escolha
Seria como se você precisasse caminhar de um ponto a outro, tendo duas
opções de caminho: em uma, você segue em linha reta e, na outra, você vai
em zigue-zague. Em qual dessas opções você acha que chegaria mais rápido?
Em qual chegaria menos cansado?
Em um algoritmo simples, provavelmente, você não perceberá a diferença.
Mas, em programas maiores e mais complexos, fica evidente a queda no
desempenho. Por isso, é mais conveniente, nesses casos (de seleção
mutuamente exclusiva), utilizar a estrutura de múltipla escolha.
20. Tome nota....
Há, também, outra diferença básica entre as duas estruturas, que pode
determinar quando utilizar uma ou outra:
Desvio Condicional Composto Encadeado Múltipla escolha
Pode testar mais de um valor ao mesmo
tempo. Ou seja, podem ser utilizadas
expressões relacionais.
Só pode testar igualdade e só testa um valor
por vez, por isso, não pode utilizar expressões
lógicas ou relacionais.