Você está na página 1de 27

CCurso Superior de Engenharia Elétrica

Programação de Computadores I
Rafael Cardoso
rafaelcardoso@ifsul.edu.br

Operadores Lógicos
Operadores Lógicos

Até agora trabalhamos com...


Expressões Aritméticas
Expressões matemáticas envolvendo números, variáveis e os operadores
aritméticos: + soma * multiplicação
- subtração % resto
/ divisão

2
Operadores Lógicos

Até agora...
Expressões Aritméticas
Expressões matemáticas envolvendo números, variáveis e os operadores
aritméticos: + soma * multiplicação
- subtração % resto
/ divisão

Expressões Relacionais
Expressões que envolvem comparações simples utilizando operadores
relacionais:
> maior >= maior ou igual
< menor <= menor ou igual
== igual != diferente 3
Operadores Lógicos

Expressões Lógicas
Operadores Lógicos

Expressões Lógicas
Expressões usadas para criar condições mais complexas.
Uma expressão relacional é uma comparação entre pares de expressões aritméticas.

5
Operadores Lógicos

Expressões Lógicas
Expressões usadas para criar condições mais complexas.
Uma expressão relacional é uma comparação entre pares de expressões aritméticas.

Existem situações onde é necessário fazer comparações que envolvam duas (ou mais)
expressões relacionais.

6
Operadores Lógicos

Expressões Lógicas
Exemplo:
Verificar se o conteúdo de uma variável é positivo e ao mesmo tempo
menor que 10.

7
Operadores Lógicos

Operadores Lógicos
Operadores Lógicos

Operadores lógicos
Operador ‘E’ (and)
A B
Se estiver calor E receber o salário então
viajarei no fim de semana
senão
ficarei em casa
Fim_se

9
Operadores Lógicos

Operadores lógicos
Operador ‘E’ (and)
A B
Se estiver calor E receber o salário então
viajarei no fim de semana
Tabela verdade do operador E
senão
A B A E B
ficarei em casa
Fim_se V V V
V F F
F V F
É verdade APENAS quando os dois
operandos tiverem valor verdadeiro. F F F
10
Operadores Lógicos

Operadores lógicos
Operador ‘OU’ (or)

Se chover OU estiver frio então


ficarei em casa
senão
viajarei no fim de semana
Fim_se

11
Operadores Lógicos

Operadores lógicos
Operador ‘OU’ (or)
A B
Se chover OU estiver frio então
ficarei em casa
Tabela verdade do operador OU
senão
A B A OU B
viajarei no fim de semana
Fim_se V V V
V F V
F V V
Para ser verdade, basta que um dos
operandos seja verdadeiro. F F F
12
Operadores Lógicos

Operadores lógicos
Operador ‘NÃO’ (not)

Se NÃO receber salário então


ficarei em casa
senão
viajarei no fim de semana
Fim_se

13
Operadores Lógicos

Operadores lógicos
Operador ‘NÃO’ (not)

A
Se NÃO receber salário então
ficarei em casa
Tabela verdade do operador NÃO
senão A NÃO A
viajarei no fim de semana
V F
Fim_se
F V

14
Operadores Lógicos

Operadores Lógicos em C
Operador Operação Prioridade
! NÃO 1a

&& E 2a

|| OU 3a

PROBLEMA:
Ler um número inteiro e imprimir a cor onde ele se encontra considerando a linha abaixo.

10 50

15
Operadores Lógicos

Solução 1
Sem operadores Lógicos
Operadores Lógicos

Solução 1 (Sem operadores lógicos)


10 50

Escreva “Informe um número inteiro”

Leia N

17
Operadores Lógicos

Solução 1 (Sem operadores lógicos)


10 50

#include <stdio.h>
Escreva “Informe um número inteiro”
main(){
int n;
Leia N
printf("Informe um número inteiro:");
scanf("%d", &n);

18
Operadores Lógicos

Solução 1 (Sem operadores lógicos)


10 50

#include <stdio.h>
Escreva “Informe um número inteiro”
main(){
int n;
Leia N
printf("Informe um número inteiro:");
N < 10 F scanf("%d", &n);
V

if (n < 10)
Escreva
printf("Azul\n");
"Azul"

19
Operadores Lógicos

Solução 1 (Sem operadores lógicos)


10 50

#include <stdio.h>
Escreva “Informe um número inteiro”
main(){
int n;
Leia N
printf("Informe um número inteiro:");
N < 10 F scanf("%d", &n);
V

N<=50
V F if (n < 10)
Escreva
printf("Azul\n");
"Azul"
Escreva Escreva
"Azul" else
"Vermelho"
if (n<=50)
printf("Vermelho\n");
else
printf("Azul\n");
} 20
Operadores Lógicos

Soluções com
Operadores Lógicos
Operadores Lógicos

Solução 2 (Utilizando operador ‘E’)


10 50

#include <stdio.h>
Escreva “Informe um número inteiro” main(){
int n;
Leia N
printf("Informe um número inteiro:");
scanf("%d", &n);

22
Operadores Lógicos

Solução 2 (Utilizando operador ‘E’)


10 50

#include <stdio.h>
Escreva “Informe um número inteiro” main(){
int n;
Leia N
printf("Informe um número inteiro:");
N >= 10 E N <= 50 scanf("%d", &n);
V F

Escreva Escreva
if (n >= 10 && n <= 50)
"Vermelho" "Azul"
printf("Vermelho\n");
else
printf("Azul\n");
}

23
Operadores Lógicos

Solução 3 (Utilizando operador ‘OU’)


10 50

#include <stdio.h>
main(){
Escreva “Informe um número inteiro”
int n;
Leia N printf("Informe um número inteiro:");
scanf("%d",&n);

24
Operadores Lógicos

Solução 3 (Utilizando operador ‘OU’)


10 50

#include <stdio.h>
main(){
Escreva “Informe um número inteiro”
int n;
Leia N printf("Informe um número inteiro:");
scanf("%d",&n);
N < 10 OU N > 50
V F

Escreva Escreva if (n < 10 || n > 50)


"Azul" "Vermelho"
printf("Azul\n");
else
printf("Vermelho\n");
}

25
Operadores Lógicos

Soluções
10 50

Escreva “Informe um número inteiro” Escreva “Informe um número inteiro” Escreva “Informe um número inteiro”

Leia N Leia N Leia N

N < 10 F N >= 10 E N <= 50 N < 10 OU N > 50


V V F V F

N<=50 Escreva Escreva Escreva


V Escreva
F
"Vermelho" "Azul" "Azul" "Vermelho"
Escreva
"Azul"
Escreva Escreva
"Vermelho" "Azul"

Sem operadores lógicos. Utilizando o operador E. Utilizando o operador OU.

26
CCurso Superior de Engenharia Elétrica
Programação de Computadores I
Rafael Cardoso
rafaelcardoso@ifsul.edu.br

Operadores Lógicos

Você também pode gostar