Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação de Computadores I
Rafael Cardoso
rafaelcardoso@ifsul.edu.br
Operadores Lógicos
Operadores Lógicos
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)
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)
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
Leia N
17
Operadores Lógicos
#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
#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
#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
#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
#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
#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
#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
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”
26
CCurso Superior de Engenharia Elétrica
Programação de Computadores I
Rafael Cardoso
rafaelcardoso@ifsul.edu.br
Operadores Lógicos