Ir ao conteúdo

Principais características de uma linguagem de programação e sua escrita – parte 3

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:

linguagem de programação: anatomia do if

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:

  1. 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.
  1. 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.
  1. 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ãoSinalResultado
Nota_5_reais < nota_10_reaisMenor que, “<”O resultado aqui vai ser True, porque R$ 5 é menor que R$ 10
Nota_5_reais > nota_10_reaismaior que, “>”O resultado aqui vai ser False
Nota_5_reais <= nota_5_reaisMenor ou igual, “<=”O resultado aqui vai ser True, porque R$ 5 é nesse caso é menor ou igual a R$ 5
Nota_5_reais >= nota_5_reaisMaior 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_reaisIgual, “==”O resultado aqui vai ser False, porque R$ 5 não é igual a R$ 10
Nota_5_reais != nota_10_reaisDiferente, “!=”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:

operadores lógicos em python

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).

mais operadores lógicos em python

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ãoResultado
True AND TrueTrue
False AND TrueFalse
True AND FalseFalse
False AND FalseFalse

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:

testando valores lógicos em python

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ãoResultado
True OR TrueTrue
False OR TrueTrue
True OR FalseTrue
False OR FalseFalse

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”):

linguagem de programação: testando valores or em python

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”):

exemplo operadores lógicos nas linguagens_de_programação_csharp e python

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!!!

Olá! Sou Walmir, engenheiro de software com MBA em Engenharia de Software e o cérebro por trás do GrowthCode e autor do livro "Além do Código". Se você acha que programação é apenas sobre escrever código, prepare-se para expandir seus horizontes. Aqui, nós vamos além do código e exploramos as interseções fascinantes entre tecnologia, negócios, artes e filosofia. Você está em busca de crescimento na carreira? Quer se destacar em um mercado competitivo? Almeja uma vida mais rica em conhecimento e realização? Então você chegou ao lugar certo. No GrowthCode, oferecemos insights profundos, estratégias comprovadas e um toque de sabedoria filosófica para catalisar seu crescimento pessoal e profissional.

Publicado emProgramação

Seja o primeiro a comentar

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *