Testes Lógicos (If, Else, Elseif e Switch Case)

Produzido por Gustavo Barbosa
Ver Todos os Exercícios

Teoria

Uma introdução básica...

Opa, iae está tudo bem?

Hoje vamos bater um papo sobre os testes lógicos, mas o que são os testes lógicos né?

Bem, vamos imaginar que você precisa ir ao mercado comprar algumas frutas e pra isso, sem perceber, você sempre irá aproximadamente executar um conjunto de atividades até completar a tarefa que é comprar as frutas.

Essas tarefas estão representadas nesse algoritmo abaixo:

Se analisar o algoritmo bem, você percebe que existem dois blocos cujas respostas são sim ou não.

O processamento desses blocos são perguntas, eles recebem uma informação vinda de um bloco anterior, e com essa informação realizam uma pergunta em relação à informação e tomam uma decisão direcionando a informação para o bloco seguinte.

Essa pergunta recebe o nome de teste lógico, nesse exemplo, se a fruta tiver um cheiro ruim seu cérebro processa a informação de pegar outra fruta, mas se a fruta tiver um cheiro agradável, o seu cérebro diz que ela está boa e coloca a fruta no carrinho.

Em síntese, um teste lógico redireciona o fluxo de informação do código para um determinado lugar a depender se sua resposta for SIM ou NÃO.

Mas... como coloco isso no Matlab né?

Calma, calma que iremos ver isso tudinho aqui nos mínimos detalhes!

Funções If e Else

Então basicamente temos três grandes funções que faz esse trabalho de perguntar algo, duas delas estão conjugadas que são as funções if e else outra bastante comum é a switch case.

Vamos primeiramente conversar sobre a if e else, traduzindo para o português a função if é o mesmo que se e a função else é o equivalente ao advérbio mas.

Então sempre que você for fazer um teste lógico deve pensar assim:

Se “a pergunta for sim”

Faça alguma ação

Mas “se a pergunta for Não”

Faça alguma ação

Fim

Logo levando para o algoritmo de comprar uma fruta no supermercado nós executamos o seguinte teste lógico:

Teste lógico: A fruta tem um cheiro ruim?

Se a resposta for “sim”

Coloque a fruta no lugar e selecione outra.

Mas se a resposta for “não”

Coloque a fruta no carrinho.

Fim

Levando para linguagem de programação a sintaxe ficaria:

If “SIM”

Selecionar outra fruta

Else

Colocar no Carrinho

end

Vamos realizar um exemplo no Matlab:

Vamos escrever um código que dá um número e informa se ele é par ou ímpar.

Para isso, vamos utilizar a função mod do Matlab, pois ela calcula o resto da divisão entre dois números, então para ser par a divisão por 2 precisa resultar um 0, então a função do teste lógico fica:

X = m o d ( d i v i d e n d o , 2 )

Então montando o algoritmo do problema se torna:

Então escrevendo na aba new script o seu código deve ficar algo mais ou menos assim:

E ao executar o código, inserindo o valor 10 para a variável A temos:

Aqui nós tivemos duas condições: ele é par ou ímpar, mas e se nós tivéssemos mais de duas condições?

Por exemplo, numa solução de equação de segundo grau que podemos ter até três tipos de solução, como revelado no algoritmo abaixo:

Para isso, podemos usar duas funções: o elseif ou a switch case, então vamos lá.

Função Elseif

A função elseif se traduz do inglês como mas se, aplicando para o exemplo da equação de segundo grau e utilizando a seguinte expressão para o ∆ = B 2 - 4 * A * C , podemos escrever um código no Matlab que mostra o tipo de resultado que a equação do 2 º grau possui:

Quando comparamos com o exemplo anterior vimos que entrou um termo a mais que é o e l s e i f . Então se eu tenho vinte testes lógicos eu começo com o i f e após isso faço dezoito casos de e l s e i f e finalizo com o e l s e , pra que somando tudo totalize os 20 testes, belezinha?

Logo, executando o código anterior, temos:

Função Switch Case

A função s w i t c h   c a s e é utilizada para testes lógicos que possuem mais de uma condição, ou seja, utilizamos ela no mesmo caso que o e l s e i f .

Porém ela é pouco utilizada quando comparada com sua irmã, pois o teste lógico precisa trazer um valor ou um conjunto de valores bem definidos.

Para entender melhor vamos ao exemplo abaixo:

O s w i t c h é onde fica armazenada a variável onde associamos cada valor que leva a uma solução diferente, que chamamos de c a s e .

Nesse exemplo o operador vai escrever um número qualquer, o switch vai analisar qual é o valor, ver em qual caso ele se encaixa e após isso realizar alguma tarefa que está dentro desse caso.

Portanto, se eu digito 1 o switch associa o 1 para o case 1 onde imprime o mês de janeiro e se caso digitar 4 , 5 ou 6 ele vai associar isso ao case 4 , 5 ou 6 que imprime o mês de abril a junho, sacas?

Devido a essa rigidez comumente se utiliza a estrutura e l s e i f por ser mais prática.

Bem pessoal, ficaremos por aqui, mas não esquece de ir olhar os exercícios. Selecionamos alguns beeem legais em relação a esse conteúdo.

Então até maisssss.

Funções If e Else

Função Elseif

Função Switch Case