Atualizado pela última vez em 26 de outubro de 2023
Sem dúvidas que uma das características mais importantes das linguagens de programação é o controle do fluxo do programa através das estruturas condicionais, que você viu nos últimos dois artigos sobre Switch … case, if, else, else+if. Vamos analisar melhor a anatomia de um IF. Basicamente a estrutura de um IF é essa:
Entre parêntese é o que vai ser testado. Para que seja processada alguma coisa, a condição deve ser verdadeira (true). E todas as linguagens de programação, utilizam operadores de comparação ou lógicos para testar se uma condição é verdadeira.
Operadores de comparação
Esses “operadores de comparação”, todos nós seres humanos utilizamos o tempo inteiro para tomar nossas decisões. Veja alguns exemplos do nosso dia a dia:
- Imagine que você quer colocar água em um copo, aí você olha para ele e começa a usar IF sem nem perceber:
- SE (if) o copo estiver vazio (copo_vazio == true), ENTÃO você coloca água
- SE (if) o copo ainda não estiver cheio até o limite para não derramar, ENTÃO você continuar enchendo, SENÃO (else) você para de encher.
- Imagine que você é um dono de um bar e chega um jovem para comprar cerveja, você vai fazer a seguinte análise condicional:
- SE (if) jovem tiver idade maior ou igual a 18 anos (idade >= 18), ENTÃO você pode vender, SENÃO, você não pode vender.
- Imagine agora que você é um jovem querendo entrar em uma casa de show noturna. A lógica para você poder entrar é a seguinte:
- SE (if) você tiver um ingresso válido E for maior de 18 anos (tem_ingresso == true AND idade >= 18), ENTÃO pode entrar, SENÃO, não pode entrar.
Observe que existem vários sinais que vão ser utilizados para testar para saber se as condições são verdadeiras (true) ou falsas (false). E em algumas situações, você vai testar mais de uma condição, como mostra o terceiro exemplo (“tem ingresso e idade maior ou igual a 18”). Para esses sinais (==, >=), os chamamos de expressões e essas expressões, são os operadores de comparação.
Você já observou que a maioria das decisões de um programa é baseada na comparação entre dois valores assim como fazemos em nosso dia a dia, não é? Para você fixar o conhecimento, vamos usar como base as notas de dinheiro. Como você faz para decidir se uma nota de dinheiro vale mais do que outra? Observando e comparando seus números, ok? Os operadores de comparação servem para a mesma finalidade. Veja a tabela a seguir:
Expressão | Sinal | Resultado |
Nota_5_reais < nota_10_reais | Menor que, “<” | O resultado aqui vai ser True, porque R$ 5 é menor que R$ 10 |
Nota_5_reais > nota_10_reais | maior que, “>” | O resultado aqui vai ser False |
Nota_5_reais <= nota_5_reais | Menor ou igual, “<=” | O resultado aqui vai ser True, porque R$ 5 é nesse caso é menor ou igual a R$ 5 |
Nota_5_reais >= nota_5_reais | Maior ou igual. “>=” | O resultado aqui vai ser True, Similar ao anterior, só vai ser True porque tem o “=” condicionado com “>”. |
Nota_5_reais == nota_10_reais | Igual, “==” | O resultado aqui vai ser False, porque R$ 5 não é igual a R$ 10 |
Nota_5_reais != nota_10_reais | Diferente, “!=” | O resultado aqui vai ser True, porque R$ 5 é diferente de R$ 10 |
Veja na linguagem de programação Python como fica esse exemplo da tabela utilizando os operadores de comparação:
Observe que para esse exemplo, não utilizamos o IF, estou utilizando só o conteúdo dos parênteses, para mostrar para você que sempre vai retornar alguma condição verdadeira ou falsa quando utilizados esses operadores no IF. Veja o exemplo a seguir, onde testo o valor 5 == 10 em um IF. Como você já viu, o retorno é False, porque 5 não é igual a 10, então o conteúdo do escopo de IF não vai ser exibido na tela. Agora se utilizar o sinal “!=” (diferente), o programa vai entrar no escopo do IF, porque a condição é verdadeira (True).
Operadores lógicos
Essa parte vai parecer confusa, mas respira fundo! Leia, releia que você vai aprender!!!! kkkk
Lá no começo no artigo, onde faço o exemplo “entrar em uma casa de show noturna”, veja que deixei de propósito um “AND na cor vermelha”. Observe que esse AND está testando duas condições e essas condições só serão verdadeiras (True) se às duas condições forem verdadeiras. Além do AND, que significa “E”, temos o OR, que significa “OU”. Da mesma forma que os operadores de comparação, você também utiliza esses operadores no seu dia a dia. Vamos aos nossos famosos exemplos…kkkk
Imagine que você quer MUITO comprar uma pizza de queijo, e tem que ser apenas o sabor de queijo! Aí você telefona para efetuar o seu pedido. Seu pedido só vai ser possível (true) SE(if), primeiro, a pizzaria atender sua ligação E (and) tiver a pizza de queijo disponível para entrega. SENÃO, você não faz o pedido. Perceba que essas duas expressões só retornará verdadeiro (true), se ambas forem verdadeiras. Veja a tabela a seguir para ver as possibilidades que existem com o operador lógico AND:
Expressão | Resultado |
True AND True | True |
False AND True | False |
True AND False | False |
False AND False | False |
Dica: O nome dessa tabela, que testa esses valores lógicos, é tabela verdade.
Observe que utilizando AND, a expressão só será verdadeira se ambas às duas expressões forem verdadeiras. Veja na linguagem de programação Python como fica:
A tabela verdade a seguir do operador OR (ou), só será falsa se às duas condições forem falsas. Ou seja, se uma das condições for verdadeira (true), então o resultado será verdadeiro.
Expressão | Resultado |
True OR True | True |
False OR True | True |
True OR False | True |
False OR False | False |
Você deve estar a essa altura pensando: – Agora complicou tudo!!! Vai ser difícil entender! kkkk Ai respondo que não é difícil, sabe porquê? Porque todos esses operadores, você já utiliza instintivamente no seu dia a dia! É só uma questão de observar e praticar essa observação. Relaxa, respira fundo e vai em frente!!! Você vai conseguir aprender “numa boa”!!! Quer ver? Veja outro exemplo bacana a seguir.
Utilizando o mesmo exemplo da pizzaria. Imagine que você ligou na pizzaria, eles atenderam e você quer comprar uma pizza com o sabor queijo OU com o sabor calabresa. SE eles tiverem pelo menos 1 dos sabores (true), você vai comprar, SENÃO, não comprará. Consegue perceber? Pelo menos 1 condição deve ser verdadeira para o resultado ser verdadeiro. E se o atendente disser: Não tem nem um sabor nem outro? Obviamente o resultado será false porque você não quer outro sabor, não é verdade? Veja um exemplo em Python (Se lê “Páiton”):
Operador lógico de negação
Além dos operadores lógicos AND e OR, temos o operador de negação NOT (não). O operador lógico NOT, inverte a condição de entrada: verdadeiro se torna falso, e falso se torna verdadeiro. Normalmente as linguagens de programação utilizam o sinal de exclamação “!” como o operador de negação, porém tem algumas linguagens que utilizam a palavra NOT. Veja um exemplo com as linguagens C# e Python (C# utiliza “!” e Python “not”):
Nesse último exemplo, você viu que existem duas formas de escritas para os operadores de negação (“!” e “not”). Para os operadores condicionais, AND e OR, também existem outras formas diferentes de escritas em várias linguagens de programação. Veja alguns exemplos:
- Nas linguagens de programação C, C#, R e Java, utiliza-se && para “E”, || duas barras em pé para “OU”
- Nas linguagens de programação Python e Delphi, utiliza-se and para “E”, or para “OU”
Como eu sempre falo, foque em aprender os conceitos. Todas as linguagens vão possuir esses operadores e expressões, o que vai mudar de uma linguagem para outra é apenas a forma de escrita (sintaxe).
Chegamos ao final de mais um artigo! No próximo artigo “Principais características de uma linguagem de programação e sua escrita – parte 4”, vamos continuar aprendendo sobre essas características comuns. Repito: FOQUEM NOS CONCEITOS!!!!!! kkkkkk Até lá!
Confiança Sempre!!!
Seja o primeiro a comentar