Testes Lógicos (If, Else, Elseif e Switch Case)
Produzido por Gustavo BarbosaTeoria
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:
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 , podemos escrever um código no Matlab que mostra o tipo de resultado que a equação do grau possui:
Quando comparamos com o exemplo anterior vimos que entrou um termo a mais que é o . Então se eu tenho vinte testes lógicos eu começo com o e após isso faço dezoito casos de e finalizo com o , pra que somando tudo totalize os 20 testes, belezinha?
Logo, executando o código anterior, temos:
Função Switch Case
A função é utilizada para testes lógicos que possuem mais de uma condição, ou seja, utilizamos ela no mesmo caso que o .
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 é onde fica armazenada a variável onde associamos cada valor que leva a uma solução diferente, que chamamos de .
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 o switch associa o para o case onde imprime o mês de janeiro e se caso digitar , ou ele vai associar isso ao case , ou que imprime o mês de abril a junho, sacas?
Devido a essa rigidez comumente se utiliza a estrutura 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.