Expressões Lógicas e Operadores

1. Sobre o conteúdo

  • O que é? Trata-se de expressões que utilizam operadores lógicos e relacionais para produzir resultados verdadeiro ou falso.
  • Principais assuntos:
    • Operadores relacionais: igual (==), diferente (!=), menor (<), maior (>), menor ou igual (<=), maior ou igual (>=)
    • Operadores lógicos: e (and), ou (or), não (not), está contido (in), é (is)
    • Precedência de operadores: parênteses → aritméticos → relacionais → lógicos
  • Ponto de atenção: A precedência entre os tipos de operadores é fundamental para resolver expressões corretamente.
  • Conclusão: Expressões lógicas são a base para tomada de decisões em algoritmos e programas.

2. Resumo dos tópicos

Expressões Lógicas

Expressões lógicas são compostas por operadores lógicos e/ou relacionais e retornam sempre valores booleanos (verdadeiro ou falso). Exemplo: 5 > 3 retorna verdadeiro.

Operadores Relacionais

Comparadores entre dois valores. Exemplos:

  • == (igual): 5 == 5 → verdadeiro
  • != (diferente): 5 != 3 → verdadeiro
  • <, >, <=, >=

Operadores Lógicos

Combinam ou negam expressões lógicas:

  • and: ambas verdadeiras
  • or: ao menos uma verdadeira
  • not: inverte o valor lógico
  • in: pertence a uma coleção
  • is: compara identidade

Precedência de Operadores

Ordem de resolução:

  1. Parênteses
  2. Aritméticos
  3. Relacionais
  4. Lógicos

Exemplo: 3 + 2 > 4 and 5 == 55 > 4 and TrueTrue and TrueTrue

3. Mapa Mental

mindmap root((Expressões Lógicas)) Relacionais Igual(==) Diferente(!=) Menor(<) Maior(>) Menor ou Igual(<=) Maior ou Igual(>=) Lógicos and or not in is Precedência Parênteses Aritméticos Relacionais Lógicos

Questões sobre o assunto

Qual é o resultado da expressão: not (5 > 3 and 2 != 3)?
1.50 pontos Média

Resposta correta: B) Falso

Resolução:

1. 5 > 3 → verdadeiro

2. 2 != 3 → verdadeiro

3. verdadeiro and verdadeiro → verdadeiro

4. not verdadeiro → falso

Qual o resultado da expressão: 5 * 2 == 10 and not (3 > 5 or 4 == 4)?
2.50 pontos Difícil

Resposta correta: B) Falso

Resolução:

1. 5 * 2 → 10

2. 10 == 10 → verdadeiro

3. 3 > 5 → falso

4. 4 == 4 → verdadeiro

5. falso or verdadeiro → verdadeiro

6. not verdadeiro → falso

7. verdadeiro and falso → falso

Dada a expressão: not (3 in [1, 2, 4]) or (5 is not 5.0), qual é o resultado?
2.50 pontos Difícil

Resposta correta: A) Verdadeiro

Resolução:

1. 3 in [1, 2, 4] → falso

2. not falso → verdadeiro

3. 5 is not 5.0 → verdadeiro (5 inteiro ≠ 5.0 float)

4. verdadeiro or verdadeiro → verdadeiro

Qual o resultado da expressão abaixo?
(2 ** 3 > 5 and 4 in [1, 2, 3]) or not (7 == 8)
3.50 pontos Muito Difícil

Resposta correta: A) Verdadeiro

Resolução:

1. 2 ** 3 → 8

2. 8 > 5 → verdadeiro

3. 4 in [1, 2, 3] → falso

4. verdadeiro and falso → falso

5. 7 == 8 → falso

6. not falso → verdadeiro

7. falso or verdadeiro → verdadeiro

Pontuação Total
0.00
<|im_end|>

Texto original

O texto original pode conter falhas de gramática ou de concordância, isso ocorre porque ele foi obtido por um processo de extração de texto automático.
Texto extraído do video Algoritmos e Programação de Computadores I - Expressões lógicas e operadores (LIBRAS)

A nossa disciplina de algoritmos e programação de computadores 1, Cão Nivespe, essa é a nossa quinta vida de aula onde eu vou apresentar para vocês a parte de expressões lógicas e operadores.
Na aula passada, a gente viu expressões eritiméticas e agora a gente vai ver então essa parte de expressões lógicas incluindo relacionais também e operadores também que são usados para criar esse tipo de expressão.
Bom, que são expressão lógicas? São expressões onde os operadores são lógicos ou relacionais e cujos operandos podem ser relações ou variáveis constantes do tipo lógico.
Então, vou me entender um pouquinho isso daí.
Eu tenho alguns operadores relacionais que são esses daqui, o que são operadores relacionais? São operadores que relacionam a duas coisas, podem ser, por exemplo, os números ou duas expressões ou constantes, enfim, vai, você vai comparar uma coisa com outra coisa e o resultado vai ser verdadeiro ou falso.
Então, por exemplo, se eu tenho esse operador aqui, que é o igual igual, isso daqui é o equivalente a verificar, de se alguma coisa é igual a outra coisa.
Então, por exemplo, se eu fizer 2 é igual a 2, isso daqui vai me retornar ver do adeiro.
Se eu fizer, por exemplo, 3 igual a 1, isso daqui vai me retornar falso.
É diferente, pessoal, igual, isso daqui é um outro operador que a gente vai ver mais para frente, que é um operador de atribuição.
Então, não tem nada a ver com o operador relacional para a gente comparar duas coisas vezes duas coisas são iguais, a gente usa o igual igual.
A gente tem também um operador de diferente, exclamação seguida do igual.
Então, por exemplo, 3 é diferente de 1, isso aqui me retorna verdadeiro.
Aí eu tenho os operadores menor, maior, menor ou igual, e maior ou igual.
Então, por exemplo, 3 é maior ou igual a 1, isso daqui me retorna verdadeiro.
3 é maior do que 3, isso daqui vai me retornar falso.
Tá bom? Então, a gente tem esses operadores relacionais são operadores que relacionam uma coisa com outra, e isso faz parte da expressão large, então quer dizer o resultado, dessa expressão vai ser um resultado lógico.
Quando a gente diz alguma coisa lógica, a gente pensa sempre em verdadeiro ou falso.
Tudo bem? Bom, olha só alguns exemplos.
Então, o 5 é igual a 5, isso daqui me retorna verdadeiro, que é true.
Olha só esse caso aqui.
Eu tenho uma expressão aritmética desse lado, e eu tenho um número desse outro lado.
A gente vai ver daqui a pouco que existe uma precedência entre os tipos diferentes de expressão.
Então, por exemplo, a expressão aritmética, tá? Isso aqui é uma expressão aritmética.
Isso tudo aqui é uma expressão lógica.
A gente vai ver que as expressões aritméticas têm precedência sobre as lógicas.
Então, o que vai acontecer? Primeiro, você vai resolver a expressão aritmética.
Então, isso aqui vai te dar 3, maior ou igual a 3, e aí depois você resolve a expressão lógica, né? Que 3 é maior ou igual a 3 é melhor ver que me retorna, então, true.
Olha esse outro exemplo.
Eu tenho 13 módulo de 10, quer dizer lembra desse superadura aqui aritmético? Dá uma olhada na aula passada.
Isso daqui é o resto da divisão.
Então, 13, o resto da divisão de 13 por 10 é 3.
Então, você vai resolver primeiro essa expressão aritmética, vai ser 3, é diferente de 3.
Não, é igual.
Então, te retorna falso.
Está aqui.
Tudo bem? Bom, aí a gente tem alguns operadores lógicos que também fazem parte das expressões lógicas.
Então, eu tenho que fazer os operadores end, not e or.
Então, o end é o e, né? Se alguma coisa é verdadeira e outra coisa é verdadeiro, o resultado é verdadeiro.
Se uma coisa é falsa e outra coisa é verdadeiro, o resultado é falso.
Se uma coisa é verdadeira e outra coisa é falsa, o resultado é falso e falso e falso, o resultado é falso.
Então, esse e, que está aqui, é o equivalente a consciência de, no caso do norte, o que é verdadeiro vira falso e o que é falso vira verdadeiro.
Está aqui, né? E, no caso do or, que só o or, ele funciona assim, né? Se uma coisa é verdadeira ou verdadeiro, o resultado é verdadeiro, falso ou verdadeiro, o resultado é verdadeiro, o falso é verdadeiro e falso ou falso, o resultado é falso.
Tá? Bom, mas aí como que a gente usa isso nas expressões lógicas? Eu tenho aqui, ó, eu tenho um exemplo onde eu tenho inicialmente uma expressão relacional, aqui eu tenho uma expressão aritmética e eu tenho tudo isso aqui com uma outra expressão relacional e aí por fim tudo isso é uma expressão lógica.
Então, existe também, pessoal, uma precedência entre os tipos de expressões.
Então, nesse caso, a expressão aritmética é resolvida inicialmente, então, é o equivalente, eu vou copiar aqui, ó, um maior do que três, ou quatro, né? Resovir uma e três, maior do que dois.
Depois disso, a gente faz a resolução das expressões relacionais, que é isso, que é falso e depois isso, que é verdadeiro.
Agora, eu tenho, então, um falso ou verdadeiro, olhando aqui pela tabelinha, um falso ou verdadeiro, o resultado é verdadeiro.
Tá exatamente aqui, ó, tudo bem? Aí é a mesma coisa, então, né, para a linha de baixo, eu vou resolver isso inicialmente, um maior que três é falso e isso daqui, que vai me retornar verdadeiro.
Então, é falso e verdadeiro, o resultado é falso, segundo essa tabela que tá aqui do end do e.
E aí, essa outra que tá aqui, eu tenho um maior do que três é falso, quatro maior do que dois é verdadeiro, só que eu tenho esse note, esse note, ele vai alterar esse falso que tá aqui, que vai virar verdadeiro.
Então, eu tenho um verdadeiro e um outro verdadeiro que veio daqui, o resultado, então, é um verdadeiro.
Outros operadores, eu tenho o pertence ou não pertence, isso daqui vai ficar depois mais claro, na hora que a gente aprender listas e tuplas, você vai verificar se é um determinado elemento, ele está contido ou não numa conjunto, tá? Então, nesse caso, aqui eu tenho que o quatro, ele está no conjunto da lista de cinco, seis, quatro e um, ele está, então, o resultado é verdadeiro, tá? O cinco, ele não está nesse outro conjunto de um, dois, três, quatro, cinco, ele está contido, então, o resultado é um falso.
Tudo bem? Bom, outros operadores, a gente tem o identidade, que é o is e o note is.
Isso daqui, pessoal, a gente usa para verificar se é um determinado elemento, ele é de um determinado tipo.
Então, o quatro, ele é um, uma, na verdade, ele não é um, quatro não é um, um é verdadeiro, quatro não é um, quatro, tá? Então, o resultado é verdadeiro.
O cinco, ele é um inteiro de cinco, quer dizer, aqui é interessante, pessoal, porque esse cinco, ele está seguido do ponto zero, então, na verdade, o parto interpreta isso como um florte de cinco, tá? E então, um florte de cinco é diferente de um ínti de cinco, tá? Ele vai interpretar isso como um cinco ponto zero, é diferente de um cinco inteiro, tá? Então, por isso que ele te retornou falso.
Bom, e aí, a gente tem as precedências, tá, entre os operadores lógicos, né, que é onde o note ele tem precedência sobre o or, que também tem precedência sobre o Andy, tá? E entre todos os operadores, que são as expressões, né, tipos de expressões, a gente tem que os parênteses mais internos têm precedência sobre os operadores aritméticos, que, por sua vez, têm precedência sobre os operadores relacionais, que têm precedência sobre os operadores lógicos.
Então, aqui eu tenho os parênteses, aqui eu tenho os operadores aritméticos com mais, menos vezes potência, etc.
Os operadores relacionais, que é o igual, o diferente, um menor, o maior, que é assim por diante, e os lógicos que são o note, o or, o Andy, o Is e o In, tá? E aí, nisso tudo eu organizei, né, todos esses operadores numa tabela como essa, que vocês podem utilizar como referência na hora de resolver as expressões lógicas.
Então, reparem que a maior precedência é o operador aritmético de potência, e aí você vai, aqui também você tem a precedência na horizontal, né, da esquerda para a direita.
Então, você segue depois os operadores aritméticos, depois eu tenho os operadores relacionais, depois eu tenho essa outra linha aqui, a de atribuição, que a gente ainda não viu, a gente vai ver mais para frente, e depois a gente tem aqui os operadores lógicos.
Então, olha aqui um exemplo, né, ó, eu tenho três potências de dois, então você vai fazer três vezes três nove, aí vezes dois vai te dar o valor de 18.
O cinco menor ou igual a seis é verdadeiro, e o sete é diferente de oito verdadeiro, então verdadeiro e verdadeiro te retorna, true que é verdadeiro.
Nesse outro caso, aqui eu tenho nove maior do que cinco, que é verdadeiro, aí o que eu tenho aqui, ó, eu tenho o três, ele é um íntide de três, então esse três aqui está seguido do ponto zero, então ele é um florte, então ele não é um inteiro, então isso aqui te retornaria falso, mas eu tenho um norte aqui que está alterando de falso para verdadeiro, então na verdade isso aqui vai ser verdadeiro, então eu tenho um verdadeiro e um verdadeiro te retorna um verdadeiro.
E esse último aqui eu tenho sete vezes dois, 14 mais cinco, 19, é maior do que três vezes dez, 30, não, então o resultado é falso.
Está certo? Muito bem, então essa daí foi a nossa vídeo aula sobre expressões lógicas e operadores, então a gente termina aqui essa mais essa vídeo aula, e aí a gente se encontra então numa próxima.
Obrigado e até lá.