[0:12]Bem-vindos novamente à nossa disciplina de algoritmos e programação de computadores um para UNIVESP. É, essa é a nossa quinta vídeoaula onde eu vou apresentar para vocês, é, a parte de expressões lógicas e operadores.
[0:36]É, na aula passada a gente viu expressões aritméticas e agora, é, a gente vai ver então essa parte de expressões lógicas, é, incluindo relacionais também, né? E operadores também que são usados, é, para criar esse tipo de expressão, tá? Bom, é, o que 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.
[1:21]Então, ah, vamos entender um pouquinho isso daí. Eu tenho, é, alguns operadores relacionais que são esses daqui. É, o que que são operadores relacionais? São operadores que relacionam, ah, duas coisas, podem ser, por exemplo, dois números, é, ou duas expressões, ou ou, eh, constantes, né? Enfim, você vai comparar uma coisa com outra coisa e o resultado vai ser verdadeiro ou falso. Então, por exemplo, se eu fizer dois é igual a dois, isso daqui vai me retornar verdadeiro.
[2:15]Tá? Se eu fizer, por exemplo, três igual a um, isso daqui vai me retornar falso. É, é diferente, pessoal, do igual, tá? Isso daqui é um outro operador que a gente vai ver mais para frente, que é um operador de atribuição, tá? Então, não tem nada a ver com o operador relacional. É, pra gente comparar, né, duas coisas, ver se duas coisas são iguais, a gente usa o igual, igual. A gente tem também o operador de diferente, que é a exclamação seguida do igual. Então, por exemplo, três é diferente de um. Isso aqui me retorna verdadeiro. Aí eu tenho os operadores, ah, menor, maior, menor ou igual e maior ou igual. Então, por exemplo, três é maior ou igual a um? Isso aqui me retorna verdadeiro.
[3:23]Ah, três é maior do que três? Isso daqui vai me retornar falso. Tá bom? Bom, então a gente tem esses operadores relacionais, é, são então operadores que relacionam uma coisa com outra. E isso faz parte da expressão lógica. Então, quer dizer, o resultado, né, dessa expressão vai ser, ah, 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, né? Então, o cinco é igual a cinco. Isso daqui me retorna verdadeiro, que é true. Olha só esse caso aqui, ó, eu tenho uma expressão aritmética deste lado, e eu tenho um número deste outro lado. É, a gente vai ver daqui a pouco que existe uma, 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. E isso tudo aqui é uma expressão, é, lógica, tá?
[4:39]A gente vai ver que as expressões aritméticas têm precedência sobre as lógicas. Então, o que que vai acontecer? Primeiro, o, você vai resolver a expressão aritmética. Então, isso aqui vai te dar três, maior ou igual a três. E aí depois você resolve a expressão lógica, né, que três é maior ou igual a três, é verdadeiro, que me retorna então true. Tá? Olha esse outro exemplo, eu tenho treze módulo de dez. Quer dizer, lembra deste, deste operador aqui aritmético? Dá uma olhada na aula passada. Isso daqui é o resto da divisão. Então, treze, o resto da divisão de treze por dez é três. Tá? Então, você vai resolver primeiro essa expressão aritmética, vai ser três, é diferente de três? Não, é igual. Então, te retorna falso. Tá aqui. Tudo bem?
[5:45]Bom, é, aí a gente tem alguns operadores lógicos que também fazem parte, tá, das expressões lógicas. Então, eu tenho os operadores and, not e or.
[6:03]Então, o and é 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. Tá? Então, esse e que está aqui, né, é o equivalente a esse and. No caso do not, o que é verdadeiro vira falso e o que é falso vira verdadeiro. Tá aqui, né? Tá? E no caso do or, pessoal, o or ele funciona assim, né? Se uma coisa é verdadeira ou verdadeiro, o resultado é verdadeiro. Falso ou verdadeiro, o resultado é verdadeiro. Verdadeiro ou falso, o resultado é 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 daqui como uma outra expressão, eh, 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 a eu vou copiar aqui, ó, um maior do que três ou quatro, né, resolve um mais três, maior do que dois.
[8:09]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, ó, true. Tudo bem?
[8:37]É, aí é a mesma coisa então, né, para a linha de baixo, né? Eu vou resolver isso inicialmente. Um mais, 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 and, do or, 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 not aqui que está alterando de falso para verdadeiro. Então, na verdade, isso daqui vai ser verdadeiro. Então, eu tenho um verdadeiro e um outro verdadeiro, que veio daqui, e 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, eh, ele, ele está contido ou não numa, numa, num conjunto, tá? Então, nesse caso aqui eu tenho que o quatro, eh, ele está no conjunto do, 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?
[10:30]Bom, outros operadores, a gente tem o identidade, que é o is, e o not is. Isso daqui, pessoal, a gente usa para verificar se um determinado elemento, ele é de um determinado tipo. Então, o, o quatro, ele é um, um, né? Na verdade, é um, ele não é um. Quatro não é um, é verdadeiro. O 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 Python interpreta isso como um float de cinco. Tá? E então, um float de cinco é diferente de um inteiro 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é, onde o not, ele tem precedência sobre o or, e também tem precedência sobre o and. Tá? E entre todos os operadores, eh, 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 tem precedência sobre os operadores relacionais, que tem precedência sobre os operadores lógicos. Então, aqui eu tenho os parênteses. Eh, aqui eu tenho os operadores aritméticos, como mais, menos, vezes, eh, potência e etc. Os operadores relacionais, que é o igual, o diferente, eh, o menor, o maior, e assim por diante. E os lógicos que, eh, são o not, o or, o and, o is e o in. Tá? E aí, nisso tudo, eu organizei, né, todos esses operadores numa, numa tabela como essa, que vocês podem utilizar, eh, como uma referência na hora de resolver a 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, eh, o, os operadores aqui aritméticos, depois eu tenho os operadores relacionais. Depois eu tenho essa outra linha aqui é 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. Tá? Então, olha aqui um exemplo, né, ó, eu tenho três, ah, potência de dois. Então, você vai fazer três vezes três, nove. Aí vezes dois, vai te dar o valor dezoito. O cinco menor ou igual a seis, eh, é 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 que eu tenho aqui, ó? Eu tenho o três, ele é um int de três. Então, esse três aqui ele está seguido do ponto zero. Então, ele é um float. Então, ele não é um inteiro. Então, isso aqui te retornaria falso, mas eu tenho um not aqui que está alterando de falso para verdadeiro. Então, na verdade, isso daqui vai ser verdadeiro. Então, eu tenho um verdadeiro e um verdadeiro, te retorna um verdadeiro. E esse último aqui, eu tenho, eh, sete vezes dois, catorze, mais cinco, eh, dezenove, é maior do que três vezes dez, trinta? Não. Então, o resultado é falso. Está certo? Muito bem, então essa daí foi a nossa vídeoaula sobre expressões lógicas e operadores. Eh, então a gente termina aqui essa, mais essa vídeoaula. Ah, e aí a gente se encontra, então, numa próxima. Obrigado e até lá.



