• Nenhum resultado encontrado

Operadores Lógicos e Tabela Verdade

N/A
N/A
Protected

Academic year: 2022

Share "Operadores Lógicos e Tabela Verdade"

Copied!
33
0
0

Texto

(1)

Operadores Lógicos e Tabela Verdade

Prof. Iuri Sônego Cardoso

Programação / Lógica de Programação

(2)

Conteúdo

• Introdução;

• Operadores Lógicos;

• Expressões e Prioridades;

• Tabela Verdade;

Prof. Iuri nego Cardoso

(3)

Introdução

• Vimos até aqui operadores aritméticos e relacionais.

o + - * / %

o == <= >= < > !=

Prof. Iuri nego Cardoso

(4)

Introdução

• Estes operadores operam com dados dos tipos numéricos (int e float) e caracteres (char).

• Existem operadores que operam com dados do tipo lógico (int) e servem para unir condições.

Prof. Iuri nego Cardoso

(5)

Operadores Lógicos

Prof. Iuri nego Cardoso

(6)

Operadores Lógicos

• São operadores que conectam duas sentenças lógicas.

• Operam com operandos do tipo lógico.

• Resultam em um valor lógico (1 ou 0).

Prof. Iuri nego Cardoso

(7)

Operadores Lógicos

• IMPORTANTE: Os operadores lógicos possuem

Prof. Iuri nego Cardoso

Operação Operador Prioridade Exemplo Resultado Não

(Negação) ! 1 ! X Oposto do valor de X

E

(Conjunção) && 2 X && Y

1 (verdadeiro) somente quando X e Y tiverem o valor 1 (verdadeiro). Caso um deles tenha o valor 0 (falso) resulta no valor 0 (falso).

Ou

(Disjunção) || 3 X || Y

1 (verdadeiro) nos casos em que pelo menos um dos operandos (X ou Y) tenha valor 1 (verdadeiro). Caso ambos tenham valor 0 (falso) resulta em 0(falso).

(8)

Operadores Lógicos

• Operador ! (NÃO lógico)

o Tabela Verdade

o A expressão !A lê-se como “não A”.

Prof. Iuri nego Cardoso

A !A

1 0

0 1

(9)

Operadores Lógicos

• Operador && (E lógico)

o Tabela Verdade

o Expressão A && B lê-se “A e B”.

Prof. Iuri nego Cardoso

A B A && B

1 1 1

1 0 0

0 1 0

0 0 0

(10)

Operadores Lógicos

• Exemplo com operador || (OU lógico)

o Tabela Verdade

o Expressão A || B lê-se “A ou B”.

Prof. Iuri nego Cardoso

A B A || B

1 1 1

1 0 1

0 1 1

0 0 0

(11)

Operadores Lógicos

• Exemplo com operador ! (não)

o Afirmativa: Vou para praia quando não chover

o Expressão: vouParaPraia = ! chovendo

o Tabela Verdade

Prof. Iuri nego Cardoso

chovendo vouParaPraia Significado

1 0 Não vou para praia (porque está chovendo).

0 1 Vou para praia (porque não está chovendo).

(12)

#include <stdio.h>

main() {

int chovendo, vouParaPraia;

printf("Digite se esta chovendo (1=sim, 0=nao): ");

scanf("%d", &chovendo);

vouParaPraia = ! chovendo;

printf("\nIrei para praia (0=falso, 1=verdadeiro): %d", vouParaPraia);

Prof. Iuri nego Cardoso }

(13)

Operadores Lógicos

• Exemplo com operador && (e)

o Afirmativa: Vou para praia se for dia de sol e tiver dinheiro

o Expressão: vouParaPraia = diaDeSol && tiverDinheiro o Tabela Verdade

Prof. Iuri nego Cardoso

diaDeSol tiverDinheiro vouParaPraia Significado

1 1 1 Vou para praia (porque é dia de sol

e tenho dinheiro).

1 0 0 Não vou para praia (porque não

tenho dinheiro).

0 1 0 Não vou para praia (porque não é

dia de sol).

(14)

#include <stdio.h>

main() {

int diaDeSol, tiverDinheiro, vouParaPraia;

char respDiaDeSol, respTiverDinheiro;

printf("É dia de sol? (s=sim, n=nao): ");

scanf("%c", &respDiaDeSol);

fflush(stdin);

printf("Tenho dinheiro? (S=sim, n=nao): ");

scanf("%c", &respTiverDinheiro);

fflush(stdin);

diaDeSol = respDiaDeSol == 'S';

tiverDinheiro = respTiverDinheiro == 'S';

vouParaPraia = diaDeSol && tiverDinheiro;

if (vouParaPraia) {

printf("\nVou para praia.");

Prof. Iuri nego Cardoso

(15)

Operadores Lógicos

• Exemplo com operador || (ou)

o Afirmativa: Vou para praia se eu estiver de férias ou for feriado

o Expressão: vouParaPraia = ferias || feriado o Tabela Verdade

Prof. Iuri nego Cardoso

ferias feriado vouParaPraia Significado

1 1 1 Vou para praia (porque estou de

férias e também é feriado).

1 0 1 Vou para praia (porque estou de

férias).

0 1 1 Vou para praia (porque é feriado).

(16)

Exercícios

• Exercício 1

Professor: Iuri nego Cardoso

(17)

Expressões e Prioridades

Prof. Iuri nego Cardoso

(18)

Expressões e Prioridades

Prioridade Operador(es) Exemplo(s) Grupo 1 ( )

funções

(X + Y) pow(X,Y)

Parênteses e funções. OBS: toda função pode ser tratada como um parênteses.

2 !

- +

! X + Y - Z

Operadores unários (um operando), tanto aritméticos quanto lógico.

3 * / % X * Y X / Y

Operadores Aritméticos de multiplicação e divisão.

4 +

-

X + Y W - Z

Operadores Aritméticos de adição e subtração.

5 == != > X == Y Operadores Relacionais

Prof. Iuri nego Cardoso

(19)

Expressões e Prioridades

Prioridade de Execução

( ) funções 5 º == != > >= < <=

+ - ! (unários) &&

* / % ||

+ - (adição e subtração)

Prof. Iuri nego Cardoso

X = pow( 5 + abs(-5 - 1) , 2 ) + 1 > 10 && 6 > -6 X = pow( 5 + abs(-6) , 2 ) + 1 > 10 && 6 > -6

X = pow( 5 + 6 , 2 ) + 1 > 10 && 6 > -6 X = pow( 11 , 2 ) + 1 > 10 && 6 > -6

X = 121 + 1 > 10 && 6 > -6 X = 122 > 10 && 6 > -6

X = 1 && 6 > -6 X = 1 && 1

(20)

#include <stdio.h>

main() {

int diaDeSol, tiverDinheiro, vouParaPraia;

char respDiaDeSol, respTiverDinheiro;

printf("É dia de sol? (s=sim, n=nao): ");

scanf("%c", &respDiaDeSol);

fflush(stdin);

printf("Tenho dinheiro? (S=sim, n=nao): ");

scanf("%c", &respTiverDinheiro);

fflush(stdin);

diaDeSol = respDiaDeSol == 's';

tiverDinheiro = respTiverDinheiro == 's';

vouParaPraia = diaDeSol && tiverDinheiro;

if (vouParaPraia) {

printf("\nVou para praia.");

Prof. Iuri nego Cardoso

(21)

#include <stdio.h>

main() {

char respDiaDeSol, respTiverDinheiro;

printf("É dia de sol? (s=sim, n=nao): ");

scanf("%c", &respDiaDeSol);

fflush(stdin);

printf("Tenho dinheiro? (S=sim, n=nao): ");

scanf("%c", &respTiverDinheiro);

fflush(stdin);

if (respDiaDeSol == 's' && respTiverDinheiro == 's') { printf("\nVou para praia.");

}

else {

printf("\nNão vou para praia.");

Prof. Iuri nego Cardoso

(22)

Exercícios

• Exercício 2

Professor: Iuri nego Cardoso

(23)

Tabela Verdade

Professor: Iuri nego Cardoso

(24)

Tabela Verdade

• Tabelas Verdade são elaboradas considerando-se o número de variáveis de uma expressão;

• Todas as combinações possíveis de valores lógicos de uma expressão são dispostas em uma tabela verdade.

Professor: Iuri nego Cardoso

(25)

Tabela Verdade

• O número de linhas de uma tabela verdade é sempre igual ao número de combinações de valores possíveis entre as variáveis;

• O número de combinações possíveis é calculado pela fórmula:

C = 2n

o n: número de variáveis;

o c: número de combinações possíveis.

Professor: Iuri nego Cardoso

(26)

Tabela Verdade

• Tabela Verdade de expressão 3 variáveis:

o S = X || Y && Z

Professor: Iuri nego Cardoso

X Y Z S 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1

(27)

Tabela Verdade

• Tabela Verdade de expressão 4 variáveis:

o S = !W && X || Y && Z

Professor: Iuri nego Cardoso

W X Y Z S 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1

W X Y Z S 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1

(28)

Tabela Verdade

• C = 2n

o Quando n = 1, C = 2

o Quando n = 2, c = 4

o Quando n = 3, c = 8

o Quando n = 4, c = 16

o Quando n = 5, c = 32

Professor: Iuri nego Cardoso

(29)

Tabela Verdade

• Variáveis repetidas em uma expressão são consideradas apenas uma vez.

o S = ! X || X && Y

o 2 variáveis diferentes: X e Y.

o C = 2n = 4

Professor: Iuri nego Cardoso X Y S

0 0 1 0 1 1 1 0 0

(30)

Exercícios

• Exercício 3

Professor: Iuri nego Cardoso

(31)

Considerações Finais

• Operadores Lógicos;

• Expressões e Prioridades;

• Tabela Verdade.

Prof. Iuri nego Cardoso

(32)

Bibliografia

LOPES, A.; GARCIA, G. Introdução à programação: 500 algoritmos resolvidos. 15 ed. Rio de Janeiro: Campus, 2002.

MEDINA, Marco; FERTIG, Cristina. Algoritmos e Programação: Teoria e Prática. 1 ed, São Paulo, Novatec, 2005. ISBN 857522073X.

ARAÚJO, Everton Coimbra de. Algoritmos: fundamento e prática. 3.

ed. ampl. e atual Florianópolis: Visual Books, 2007. 414 p. ISBN 8575022091.

Prof. Iuri nego Cardoso

(33)

Iuri Sônego Cardoso iuri.cardoso@ifsc.edu.br

Prof. Iuri nego Cardoso

Referências

Documentos relacionados

...uma organização de áreas especializadas baseada em frames em que um frame dinâmico orientado para o processo fornece as bases conceituais para a localização

Para realizar essa Produção Textual Interdisciplinar em Individual (PTI), você deve se colocar na situação da professora Ana Carolina e elaborar um Plano de Ensino para uma turma de

No âmbito do Programa de Expansão e Desenvolvimento da Educação Pré-Escolar, para o ano lectivo 2005-2006, o Estado compromete-se a apoiar financeiramente as instituições em que

Se você apresentar qualquer tipo de irritação ocular ou qualquer novo problema nos olhos, como vermelhidão dos olhos ou inchaço das pálpebras, entre em contato com seu

Sede da Secretaria de Fazenda do Distrito Federal Normas Complementares Não identificadas.. • Planejar e reportar aos gestores das agências de atendimento sobre manutenções

3.2.14.2 Observado o disposto no item 3.2.7, a análise dos documentos e esclarecimentos apresentados em resposta às Exigências Reiteradas em relação ao Pedido de Listagem

Viam-no bem até à primeira curva, onde se encontrava o grande ácer morto há dois anos, que o avô ainda não tinha decidido cortar.. Mas, para lá dele, tudo se

Dadas essas circunstâncias, vários estudos a respeito das normas e da contabilização dos arrendamentos vem sendo desenvolvidos no Brasil e no exterior, sob diversos