Ir para o conteúdo

Aula 8 - Operadores lógicos

Introdução#

Operadores lógicos é o conjunto de símbolos que permitem a crianção verificações de condições mais complexas. Por exemplo:

  1. se te perguntassem se uma pessoa é seu pai, você provavelmente teria que fazer uma verificação como:
se "a pessoa é meu pai" ou "a pessoa é minha mãe" então
    responder "sim"
senão
    responder "não"
  1. se te perguntassem se você pode dirigir, você teria que fazer uma verificação como:
se "eu tiver 18 anos" e "eu tiver habilitação" então
    responder "sim"
senão
    responder "não"
  1. se te perguntassem se você irá sair de casa, você provavelmente teria que fazer uma verificação como:
se não "está chovendo" então
    responder "sim"
senão
    responder "não"

Esses são alguns exemplos cotidianos verificações mais complexas. Notem que os operadores lógicos permitem que criemos verificações ainda mais complexas, com dez, cem ou até mais condições.

Operadores lógicos#

Abaixo a tabela com os operadores lógicos do Visualg:

Operador Descrição Exemplo Resultado
e Retorna VERDADEIRO somente se os dois operandos forem verdadeiros (1 < 2) e (10 > 0) VERDADEIRO
ou Retorna VERDADEIRO quando um os dois operandos for verdadeiros (1 > 10) ou (200 > 50) VERDADEIRO
nao Operador de negação, transforma VERDADEIRO em FALSO. E transforma FALSO em VERDADEIRO nao (1 = 1) FALSO
xou Retorna VERDADEIRO se os dois operandos forem diferentes, e FALSO se forem iguais (1 > 0) ou (2 <> 2) VERDADEIRO

Nota

Os operadores lógicos mais usados são os e, ou e nao. O operador xou é usado em situações muito especificas.

Operador E#

O operador e resulta em VERDADEIRO se os dois operandos lógicos forem VERDADEIRO, caso contrário o resultado será FALSO.

Valor 1 Valor 2 Resultado
VERDADEIRO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO FALSO
FALSO VERDADEIRO FALSO
FALSO FALSO FALSO

Operador OU#

O operador ou resulta em VERDADEIRO se um dos operandos lógicos for VERDADEIRO, caso contrário (os dois forem FALSO) o resultado será FALSO.

Valor 1 Valor 2 Resultado
VERDADEIRO VERDADEIRO VERDADEIRO
VERDADEIRO FALSO VERDADEIRO
FALSO VERDADEIRO VERDADEIRO
FALSO FALSO FALSO

Operador NAO#

O operador nao resulta em VERDADEIRO se o operando lógico for FALSO, caso contrário o resultado será VERDADEIRO.

Valor Resultado
VERDADEIRO FALSO
FALSO VERDADEIRO

Operador XOU#

O operador xou resulta em VERDADEIRO se os dois operandos forem diferentes, caso contrário o resultado será FALSO.

Nota

Este operador normalmente é conhecido como “XOR”.

Valor 1 Valor 2 Resultado
VERDADEIRO VERDADEIRO FALSO
VERDADEIRO FALSO VERDADEIRO
FALSO VERDADEIRO VERDADEIRO
FALSO FALSO FALSO

Exemplo 1#

Vamos criar um programa que um número e diga se ele é menor que 10, está entre 10 e 50 ou se é maior que 50.

$ Digite um número: 15
10 <= N < 50

Forma 1#

forma-1.alg
algoritmo "num"
var

n: inteiro

inicio
    escreva("Digite um número:")
    leia(n)

    se ( n  < 10 ) entao
        escreva("N < 10")
    senao
        se (n >= 10) e (n < 50) entao
            escreva("10 <= N < 50")
        senao
            escreva("N >= 50")
        fimse
    fimse
fimalgoritmo

Forma 2#

forma-2.alg
algoritmo "num"
var

n: inteiro

inicio
    escreva("Digite um número:")
    leia(n)

    se ( n < 10 ) entao
        escreva("N < 10")
    senao
        se nao (n < 50) entao
            escreva("N >= 50")
        senao
            escreva("10 <= N < 50")
        fimse
    fimse
fimalgoritmo

Forma 3#

forma-3.alg
algoritmo "num"
var

n: inteiro

inicio
    escreva("Digite um número:")
    leia(n)

    se (n < 10) entao
        escreva("N < 10")
    senao
        se ( n = 10 ) entao
            escreva("N = 10")
        senao
            se (n > 10) e (n < 50) entao
                escreva("10 < N < 50")
            senao
                se (n = 50) entao
                    escreva("N = 50")
                senao
                    escreva("N > 50")
                fimse
            fimse
        fimse
    fimse


fimalgoritmo

Nota

Observe que o mesmo problema pode ser resolvido de diversas formas. Isso significa que não existe apenas uma forma certa de resolver um problema.

Cada programador tem sua forma de pensar e resolver problemas. O importante é no final todos obtenham o mesmo resultado.

Conclusão#

Nesta aula aprendemos sobre os operadores lógicos e como eles podem ser usados para criar verificações que requerem mais de uma condição.

Vale ressaltar novamente que cada pessoa tem sua forma de pensar e resolver problemas e isso nos mostra que não existe apenas uma forma de fazer as coisas.

Referência#

Aula em vídeo#

Caso prefira também existe o conteúdo em forma de vídeo

Desafios#

Caso queira treinar um pouco mais você pode ver o(s) seguinte(s) enunciado(s):