SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Lógica de Programação 
Unimep/Pronatec 
2° Semestre/2014 
AULA 07 
- Prof. André Bertoletti - 
apbertolet@unimep.br
Aula de hoje 
•Operadores lógicos 
•Tabela verdade 
•Exercícios C#
NÃO SE ESQUEÇA DA SUA Hora do Código 
Acesse, identifique-se e faça os exercícios! 
abre.ai/horadocodigo
Quando precisamos combinar mais de uma condição 
O que fazer?!
Operadores lógicos 
Operador 
Significado 
E 
Só será verdadeiro quando ambos os lados da condição for verdade 
OU 
Só será verdadeiro quando pelo menos um dos lados da condição for verdade 
NÃO 
Sempre inverterá o resultado lógico informado
E
E 
= 
E 
= 
E 
= 
E 
=
OU
OU 
= 
= 
= 
= 
OU 
OU 
OU
Conheça a Tabela Verdade Associação entre condições lógicas
Tabela verdade com o operador lógico “e” 
A 
B 
A e B 
Verdade 
Verdade 
Verdade 
Falso 
Verdade 
Falso 
Verdade 
Falso 
Falso 
Falso 
Falso 
Falso 
Só será VERDADE quando todos os lados forem VERDADE
Tabela verdade com o operador lógico “ou” 
A 
B 
A ou B 
Verdade 
Verdade 
Verdade 
Falso 
Verdade 
Verdade 
Verdade 
Falso 
Verdade 
Falso 
Falso 
Falso 
Só será VERDADE quando pelo menos um dos lados for VERDADE
Tabela verdade com o operador lógico “não” 
A 
não A 
Verdade 
Falso 
Falso 
Verdade 
Sempre inverterá o valor lógico do lado verificado
Resolva a Tabela verdade a seguir utilizando o operador lógico “e” 
A 
B 
C 
A e B e C 
Verdade 
Verdade 
Falso 
Falso 
Falso 
Verdade 
Falso 
Falso 
Verdade 
Falso 
Verdade 
Falso 
Verdade 
Verdade 
Verdade 
Verdade 
Falso 
Verdade 
Verdade 
Falso
Resolva a Tabela verdade a seguir utilizando o operador lógico “ou” 
A 
B 
C 
A ou B ou C 
Verdade 
Verdade 
Falso 
Verdade 
Falso 
Verdade 
Falso 
Verdade 
Verdade 
Falso 
Verdade 
Verdade 
Falso 
Falso 
Falso 
Falso 
Falso 
Verdade 
Verdade 
Verdade
Hierarquia de resolução das operações 
^ 
MOD 
(raiz(), abs(), round(), etc...) 
(<, >, ==, !=, etc...)
Resolvendo uma expressão lógica 
não 2 ^ 3 < 4 ^ 2 ou abs(int(15.0/-2)) < 10 
não 2 ^ 3 < 4 ^ 2 ou abs(int(-7,5)) < 10 
não 2 ^ 3 < 4 ^ 2 ou abs(-7) < 10 
não 2 ^ 3 < 4 ^ 2 ou 7 < 10 
não 8 < 16 ou 7 < 10 
não V ou V 
F ou V 
V
Vamos treinar um pouco?!
Lista de Exercícios Resolva as expressões lógicas a seguir
Exercício X_1 
1 + 2 == 3 e 4 > 2 – 1 
3 == 3 e 4 > 1 
V e V 
V
Exercício X_2 
2 ^ 2 != 5 e “Luiz” == “Augusto” 
4 != 5 e “Luiz” == “Augusto” 
V e F 
F
Exercício X_3 
não abs(3 - 10) != 5 e ((30*2) <= 60) ou “A”== “B” 
não abs(3 - 10) != 5 e (60 <= 60) ou “A”== “B” 
não abs(3 - 10) != 5 e V ou “A”== “B” 
não abs(-7) != 5 e V ou “A”== “B” 
não 7 != 5 e V ou “A”== “B” 
não V e V ou F 
F e V ou F 
F ou F 
F
Exercício X_4 
Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. 
EXPRESSÃO 
VERDADEIRO ou FALSO 
(A+C) > B 
Falso 
B >= (A + 2) 
Verdadeiro 
C == (B – A) 
Verdadeiro 
(B + A) <= C 
Falso 
(C+A) > B 
Falso
Exercício X_5 
Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas. 
SALARIO 
IR 
SALLIQ 
EXPRESSÃO 
VERDADEIRO ou FALSO 
100,00 
0,00 
100,00 
(SALLIQ >= 100,00) 
Verdadeiro 
200,00 
10,00 
190,00 
(SALLIQ < 190,00) 
Falso 
300,00 
15,00 
285,00 
SALLIQ == SALARIO - IR 
Verdadeiro
Exercício X_6 
Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. 
EXPRESSÃO 
VERDADEIRO ou FALSO 
(A > C) e (C <= D) 
Verdadeiro 
(A+B) > 10 ou (A+B) == (C+D) 
Verdadeiro 
(A>=C) e (D >= C) 
Verdadeiro 
ABS(A – D) < C e (B == C) 
Falso 
RAIZ(B) <= A ^ 2 e (D < C) ou A + 2 * 5 != C + 2 
Verdadeiro
Aplicando estes conceitos nos nossos algoritmos Associação entre condições lógicas
Exercício S_6 (aula passada) 
Fazer um programa para receber valores inteiros X, Y e Z do usuário e determinar se estes valores podem formar os lados de um triângulo equilátero. Sabendo-se que um triangulo desta natureza possui todos os seus lados com medidas iguais.
Exercício S_6 (Algoritmo sem operadores lógico) 
1.Inicio 
2. Decimal X 
3. Decimal Y 
4. Decimal Z 
5. Ler(X) 
6. Ler(Y) 
7. Ler(Z) 
8. Se (X == Y) 
9. Inicio 
10. Se (Y == Z) 
11. Inicio 
12. Escrever(“Estas medidas FORMAM um triangulo equilátero”) 
13. Fim 
14. Senão 
15. Inicio 
16. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 
17. Fim 
18. Fim 
19. Senão 
20. Inicio 
21. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 
22. Fim 
23.Fim 
Sem utilizar os operadores lógicos, nós somos obrigados a encadear diversos comando Se(), um dentro do outro.
Exercício S_6 (Algoritmo com operadores lógico) 
1.Inicio 
2. Decimal X 
3. Decimal Y 
4. Decimal Z 
5. Ler(X) 
6. Ler(Y) 
7. Ler(Z) 
8. Se (X == Y e Y == Z) 
9. Inicio 
10. Escrever(“Estas medidas FORMAM um triangulo equilátero”) 
11. Fim 
12. Senão 
13. Inicio 
14. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 
15. Fim 
16.Fim 
Com os operadores lógicos, fica mais fácil e objetivo resolver algumas condições lógicas.
Bora codificar! Passe o exercício anterior para um programa em C#
Operadores lógicos em C# 
Algoritmo 
C# 
e 
&& 
ou 
|| 
não 
!
Exercício S_6 (Programa C# com operadores lógico)
Vamos treinar um pouco?!
Lista de Exercícios Resolva os exercícios a seguir em algoritmo e/ou C#
Exercício S_7 
Elabore um algoritmo que dado o nome e a idade de um nadador, classifique-o em uma das seguintes categorias: 
•Infantil A = 5 a 7 anos  Se (Idade >=5 e Idade <=7) 
•Infantil B = 8 a 11 anos 
•Juvenil A = 12 a 13 anos 
•Juvenil B = 14 a 17 anos 
•Adultos = Maiores ou igual a 18 anos
Exercício S_7 (em algoritmo) 
1.Inicio 
2. texto Nome 
3. inteiro Idade 
4. Ler(Nome) 
5. Ler(Idade) 
6. Se (Idade >= 5 e Idade <= 7) 
7. Inicio 
8. Escrever(“Infantil A”) 
9. Fim 
10. Senão Se (Idade >= 8 e Idade <= 11) 
11. Inicio 
12. Escrever(“Infantil B”) 
13. Fim 
14. Senão Se (Idade >= 12 e Idade <= 13) 
15. Inicio 
16. Escrever(“Juvenil A”) 
17. Fim 
18. Senão Se (Idade >= 14 e Idade <= 17) 
19. Inicio 
20. Escrever(“Juvenil B”) 
21. Fim 
22. Senão Se (Idade >= 18) 
23. Inicio 
24. Escrever(“Adulto”) 
25. Fim 
26.Fim
Exercício S_7 (em C#) 
FORMATO 1: 
Sem utilizar o comando ELSE. 
Dá certo, porém, haverá desperdício de processamento, visto que o programa testará todos os IFs.
Exercício S_7 (em C#) 
FORMATO 2: 
Utilizando o ELSE, com a abertura “{“ e fechamento “}” de blocos entre eles.
Exercício S_7 (em C#) 
FORMATO 3: Utilizando o ELSE, sem a abertura “{“ e fechamento “}” de blocos entre eles.
Desenvolva um programa que: 
–Leia 4 (quatro) números; 
–Calcule o quadrado de cada um; 
–Se o valor resultante do quadrado do terceiro número for entre 10 e 50, imprima-o na tela e finalize; 
–Caso contrário, imprima todos os valores lidos e seus respectivos quadrados. 
Exercício S_8
Exercício S_8 (em algoritmo) 
1.Inicio 
2. decimal N1, N2, N3, N4, Q1, Q2, Q3, Q4 
3. Ler(N1) 
4. Ler(N2) 
5. Ler(N3) 
6. Ler(N4) 
7. Q1  N1 ^ 2 
8. Q2  N2 ^ 2 
9. Q3  N3 ^ 2 
10. Q4  N4 ^ 2 
11. Se (Q3 >= 10 e Q3 <= 50) 
12. Inicio 
13. Escrever(Q3) 
14. Fim 
15. Senão 
16. Inicio 
17. Escrever(N1); 
18. Escrever(Q1); 
19. Escrever(N2); 
20. Escrever(Q2); 
21. Escrever(N3); 
22. Escrever(Q3); 
23. Escrever(N4); 
24. Escrever(Q4); 
25. Fim 
26.Fim
Exercício S_8 (em C#)
João Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar o rendimento diário de seu trabalho. Toda vez que ele traz um peso de peixes maior que o limite estabelecido pelo regulamento de pesca do estado de São Paulo (50 kilos) deve pagar um multa por quilo excedente. João precisa que você faça um programa que leia a variável P (peso de peixes) e verifique se há excesso. Se houver, gravar na variável E (Excesso) e na variável M o valor da multa que João deverá pagar, conforme o regulamento abaixo. Escreva no final os resultados de E e M: 
-até 20kg a mais, pagará R$ 4,00 por Kg excedente 
-21kg a 30kg a mais, pagará R$ 6,00 por Kg excedente 
-acima de 30kg a mais, pagará R$ 9,00 por Kg excedente 
Exercício S_9
Exercício S_9 (em algoritmo) 
1.Inicio 
2. decimal P 
3. decimal E 
4. decimal LimiteEstadoSP  50 
5. decimal M 
6. Ler(P) 
7. E = P - LimiteEstadoSP; 
8. Se (E > 0) 
9. Inicio 
10. Se (E <= 20) 
11. M  E * 4; 
12. Senão SE (E >= 21 e E <= 30) 
13. M  E * 6; 
14. Senão 
15. M  E * 9; 
16. Escrever (E); 
17. Escrever(M); 
18. Fim 
19. Senão 
20. Escrever("Não houve excesso de peixes desta vez."); 
21.Fim
Exercício S_9 (em C#)
Por hoje é só... Agora é hora de estudar!

Mais conteúdo relacionado

Semelhante a Lógica de Programação - Unimep/Pronatec - Aula 07

Algoritmos - Aula 07 C - Resolucao de Exercicios - Resolucao
Algoritmos - Aula 07 C - Resolucao de Exercicios - ResolucaoAlgoritmos - Aula 07 C - Resolucao de Exercicios - Resolucao
Algoritmos - Aula 07 C - Resolucao de Exercicios - ResolucaoRodrigo Kiyoshi Saito
 
Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.merciaregina6
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06André Phillip Bertoletti
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bitsRicardo Bolanho
 
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de DecisãoRodrigo Kiyoshi Saito
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 
aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacaoAislan Rafael
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08André Phillip Bertoletti
 
Tomada de decisao - logica
Tomada de decisao - logicaTomada de decisao - logica
Tomada de decisao - logicaSedu
 
Aula 11 - Validação de Dados.pdf
Aula 11 - Validação de Dados.pdfAula 11 - Validação de Dados.pdf
Aula 11 - Validação de Dados.pdfViniciusBortolini1
 
Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoaldoirjava
 

Semelhante a Lógica de Programação - Unimep/Pronatec - Aula 07 (20)

Algoritmos - Aula 07 C - Resolucao de Exercicios - Resolucao
Algoritmos - Aula 07 C - Resolucao de Exercicios - ResolucaoAlgoritmos - Aula 07 C - Resolucao de Exercicios - Resolucao
Algoritmos - Aula 07 C - Resolucao de Exercicios - Resolucao
 
Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.Aula de apresentação Python explicando conceitos e aplicações.
Aula de apresentação Python explicando conceitos e aplicações.
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
 
Aula 3 - 06/04/11
Aula 3 - 06/04/11Aula 3 - 06/04/11
Aula 3 - 06/04/11
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
portugol
portugolportugol
portugol
 
Aula04
Aula04Aula04
Aula04
 
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
2019-2 - Algoritmos - Aula 06 A - Tomada de Decisão
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 
aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacao
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
Ruby learning
Ruby learningRuby learning
Ruby learning
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 
Algop - aula 04 pascal 1
Algop - aula 04 pascal 1Algop - aula 04 pascal 1
Algop - aula 04 pascal 1
 
Tomada de decisao - logica
Tomada de decisao - logicaTomada de decisao - logica
Tomada de decisao - logica
 
Aula 11 - Validação de Dados.pdf
Aula 11 - Validação de Dados.pdfAula 11 - Validação de Dados.pdf
Aula 11 - Validação de Dados.pdf
 
Algop - aula 03
Algop - aula 03Algop - aula 03
Algop - aula 03
 
Videoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programaçãoVideoulas de algoritmos e lógica de programação
Videoulas de algoritmos e lógica de programação
 
Matemática do GENTE - 7º ano
Matemática do GENTE - 7º anoMatemática do GENTE - 7º ano
Matemática do GENTE - 7º ano
 

Mais de André Phillip Bertoletti

Teste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedorTeste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedorAndré Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4André Phillip Bertoletti
 

Mais de André Phillip Bertoletti (20)

Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Comunidade Locais de TI
Comunidade Locais de TIComunidade Locais de TI
Comunidade Locais de TI
 
Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
The clean coder
The clean coder The clean coder
The clean coder
 
Teste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedorTeste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedor
 
Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12
 
Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11
 
Política nas mídias sociais
Política nas mídias sociaisPolítica nas mídias sociais
Política nas mídias sociais
 
Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10
 
Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9
 
Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8
 
Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9
 
Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6
 
Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7
 
Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6
 
Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4
 
Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3
 
Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2
 
Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5
 
Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4
 

Lógica de Programação - Unimep/Pronatec - Aula 07

  • 1. Lógica de Programação Unimep/Pronatec 2° Semestre/2014 AULA 07 - Prof. André Bertoletti - apbertolet@unimep.br
  • 2. Aula de hoje •Operadores lógicos •Tabela verdade •Exercícios C#
  • 3. NÃO SE ESQUEÇA DA SUA Hora do Código Acesse, identifique-se e faça os exercícios! abre.ai/horadocodigo
  • 4. Quando precisamos combinar mais de uma condição O que fazer?!
  • 5. Operadores lógicos Operador Significado E Só será verdadeiro quando ambos os lados da condição for verdade OU Só será verdadeiro quando pelo menos um dos lados da condição for verdade NÃO Sempre inverterá o resultado lógico informado
  • 6. E
  • 7. E = E = E = E =
  • 8. OU
  • 9. OU = = = = OU OU OU
  • 10. Conheça a Tabela Verdade Associação entre condições lógicas
  • 11. Tabela verdade com o operador lógico “e” A B A e B Verdade Verdade Verdade Falso Verdade Falso Verdade Falso Falso Falso Falso Falso Só será VERDADE quando todos os lados forem VERDADE
  • 12. Tabela verdade com o operador lógico “ou” A B A ou B Verdade Verdade Verdade Falso Verdade Verdade Verdade Falso Verdade Falso Falso Falso Só será VERDADE quando pelo menos um dos lados for VERDADE
  • 13. Tabela verdade com o operador lógico “não” A não A Verdade Falso Falso Verdade Sempre inverterá o valor lógico do lado verificado
  • 14. Resolva a Tabela verdade a seguir utilizando o operador lógico “e” A B C A e B e C Verdade Verdade Falso Falso Falso Verdade Falso Falso Verdade Falso Verdade Falso Verdade Verdade Verdade Verdade Falso Verdade Verdade Falso
  • 15. Resolva a Tabela verdade a seguir utilizando o operador lógico “ou” A B C A ou B ou C Verdade Verdade Falso Verdade Falso Verdade Falso Verdade Verdade Falso Verdade Verdade Falso Falso Falso Falso Falso Verdade Verdade Verdade
  • 16. Hierarquia de resolução das operações ^ MOD (raiz(), abs(), round(), etc...) (<, >, ==, !=, etc...)
  • 17. Resolvendo uma expressão lógica não 2 ^ 3 < 4 ^ 2 ou abs(int(15.0/-2)) < 10 não 2 ^ 3 < 4 ^ 2 ou abs(int(-7,5)) < 10 não 2 ^ 3 < 4 ^ 2 ou abs(-7) < 10 não 2 ^ 3 < 4 ^ 2 ou 7 < 10 não 8 < 16 ou 7 < 10 não V ou V F ou V V
  • 18. Vamos treinar um pouco?!
  • 19. Lista de Exercícios Resolva as expressões lógicas a seguir
  • 20. Exercício X_1 1 + 2 == 3 e 4 > 2 – 1 3 == 3 e 4 > 1 V e V V
  • 21. Exercício X_2 2 ^ 2 != 5 e “Luiz” == “Augusto” 4 != 5 e “Luiz” == “Augusto” V e F F
  • 22. Exercício X_3 não abs(3 - 10) != 5 e ((30*2) <= 60) ou “A”== “B” não abs(3 - 10) != 5 e (60 <= 60) ou “A”== “B” não abs(3 - 10) != 5 e V ou “A”== “B” não abs(-7) != 5 e V ou “A”== “B” não 7 != 5 e V ou “A”== “B” não V e V ou F F e V ou F F ou F F
  • 23. Exercício X_4 Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas. EXPRESSÃO VERDADEIRO ou FALSO (A+C) > B Falso B >= (A + 2) Verdadeiro C == (B – A) Verdadeiro (B + A) <= C Falso (C+A) > B Falso
  • 24. Exercício X_5 Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas. SALARIO IR SALLIQ EXPRESSÃO VERDADEIRO ou FALSO 100,00 0,00 100,00 (SALLIQ >= 100,00) Verdadeiro 200,00 10,00 190,00 (SALLIQ < 190,00) Falso 300,00 15,00 285,00 SALLIQ == SALARIO - IR Verdadeiro
  • 25. Exercício X_6 Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas. EXPRESSÃO VERDADEIRO ou FALSO (A > C) e (C <= D) Verdadeiro (A+B) > 10 ou (A+B) == (C+D) Verdadeiro (A>=C) e (D >= C) Verdadeiro ABS(A – D) < C e (B == C) Falso RAIZ(B) <= A ^ 2 e (D < C) ou A + 2 * 5 != C + 2 Verdadeiro
  • 26. Aplicando estes conceitos nos nossos algoritmos Associação entre condições lógicas
  • 27. Exercício S_6 (aula passada) Fazer um programa para receber valores inteiros X, Y e Z do usuário e determinar se estes valores podem formar os lados de um triângulo equilátero. Sabendo-se que um triangulo desta natureza possui todos os seus lados com medidas iguais.
  • 28. Exercício S_6 (Algoritmo sem operadores lógico) 1.Inicio 2. Decimal X 3. Decimal Y 4. Decimal Z 5. Ler(X) 6. Ler(Y) 7. Ler(Z) 8. Se (X == Y) 9. Inicio 10. Se (Y == Z) 11. Inicio 12. Escrever(“Estas medidas FORMAM um triangulo equilátero”) 13. Fim 14. Senão 15. Inicio 16. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 17. Fim 18. Fim 19. Senão 20. Inicio 21. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 22. Fim 23.Fim Sem utilizar os operadores lógicos, nós somos obrigados a encadear diversos comando Se(), um dentro do outro.
  • 29. Exercício S_6 (Algoritmo com operadores lógico) 1.Inicio 2. Decimal X 3. Decimal Y 4. Decimal Z 5. Ler(X) 6. Ler(Y) 7. Ler(Z) 8. Se (X == Y e Y == Z) 9. Inicio 10. Escrever(“Estas medidas FORMAM um triangulo equilátero”) 11. Fim 12. Senão 13. Inicio 14. Escrever(“Estas medidas NÃO formam um triangulo equilátero”) 15. Fim 16.Fim Com os operadores lógicos, fica mais fácil e objetivo resolver algumas condições lógicas.
  • 30. Bora codificar! Passe o exercício anterior para um programa em C#
  • 31. Operadores lógicos em C# Algoritmo C# e && ou || não !
  • 32. Exercício S_6 (Programa C# com operadores lógico)
  • 33. Vamos treinar um pouco?!
  • 34. Lista de Exercícios Resolva os exercícios a seguir em algoritmo e/ou C#
  • 35. Exercício S_7 Elabore um algoritmo que dado o nome e a idade de um nadador, classifique-o em uma das seguintes categorias: •Infantil A = 5 a 7 anos  Se (Idade >=5 e Idade <=7) •Infantil B = 8 a 11 anos •Juvenil A = 12 a 13 anos •Juvenil B = 14 a 17 anos •Adultos = Maiores ou igual a 18 anos
  • 36. Exercício S_7 (em algoritmo) 1.Inicio 2. texto Nome 3. inteiro Idade 4. Ler(Nome) 5. Ler(Idade) 6. Se (Idade >= 5 e Idade <= 7) 7. Inicio 8. Escrever(“Infantil A”) 9. Fim 10. Senão Se (Idade >= 8 e Idade <= 11) 11. Inicio 12. Escrever(“Infantil B”) 13. Fim 14. Senão Se (Idade >= 12 e Idade <= 13) 15. Inicio 16. Escrever(“Juvenil A”) 17. Fim 18. Senão Se (Idade >= 14 e Idade <= 17) 19. Inicio 20. Escrever(“Juvenil B”) 21. Fim 22. Senão Se (Idade >= 18) 23. Inicio 24. Escrever(“Adulto”) 25. Fim 26.Fim
  • 37. Exercício S_7 (em C#) FORMATO 1: Sem utilizar o comando ELSE. Dá certo, porém, haverá desperdício de processamento, visto que o programa testará todos os IFs.
  • 38. Exercício S_7 (em C#) FORMATO 2: Utilizando o ELSE, com a abertura “{“ e fechamento “}” de blocos entre eles.
  • 39. Exercício S_7 (em C#) FORMATO 3: Utilizando o ELSE, sem a abertura “{“ e fechamento “}” de blocos entre eles.
  • 40. Desenvolva um programa que: –Leia 4 (quatro) números; –Calcule o quadrado de cada um; –Se o valor resultante do quadrado do terceiro número for entre 10 e 50, imprima-o na tela e finalize; –Caso contrário, imprima todos os valores lidos e seus respectivos quadrados. Exercício S_8
  • 41. Exercício S_8 (em algoritmo) 1.Inicio 2. decimal N1, N2, N3, N4, Q1, Q2, Q3, Q4 3. Ler(N1) 4. Ler(N2) 5. Ler(N3) 6. Ler(N4) 7. Q1  N1 ^ 2 8. Q2  N2 ^ 2 9. Q3  N3 ^ 2 10. Q4  N4 ^ 2 11. Se (Q3 >= 10 e Q3 <= 50) 12. Inicio 13. Escrever(Q3) 14. Fim 15. Senão 16. Inicio 17. Escrever(N1); 18. Escrever(Q1); 19. Escrever(N2); 20. Escrever(Q2); 21. Escrever(N3); 22. Escrever(Q3); 23. Escrever(N4); 24. Escrever(Q4); 25. Fim 26.Fim
  • 43. João Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar o rendimento diário de seu trabalho. Toda vez que ele traz um peso de peixes maior que o limite estabelecido pelo regulamento de pesca do estado de São Paulo (50 kilos) deve pagar um multa por quilo excedente. João precisa que você faça um programa que leia a variável P (peso de peixes) e verifique se há excesso. Se houver, gravar na variável E (Excesso) e na variável M o valor da multa que João deverá pagar, conforme o regulamento abaixo. Escreva no final os resultados de E e M: -até 20kg a mais, pagará R$ 4,00 por Kg excedente -21kg a 30kg a mais, pagará R$ 6,00 por Kg excedente -acima de 30kg a mais, pagará R$ 9,00 por Kg excedente Exercício S_9
  • 44. Exercício S_9 (em algoritmo) 1.Inicio 2. decimal P 3. decimal E 4. decimal LimiteEstadoSP  50 5. decimal M 6. Ler(P) 7. E = P - LimiteEstadoSP; 8. Se (E > 0) 9. Inicio 10. Se (E <= 20) 11. M  E * 4; 12. Senão SE (E >= 21 e E <= 30) 13. M  E * 6; 14. Senão 15. M  E * 9; 16. Escrever (E); 17. Escrever(M); 18. Fim 19. Senão 20. Escrever("Não houve excesso de peixes desta vez."); 21.Fim
  • 46. Por hoje é só... Agora é hora de estudar!