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!

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ÇADA SUA Hora do Código Acesse, identifique-se e faça os exercícios! abre.ai/horadocodigo
  • 4.
    Quando precisamos combinarmais 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.
  • 7.
    E = E = E = E =
  • 8.
  • 9.
    OU = = = = OU OU OU
  • 10.
    Conheça a TabelaVerdade Associação entre condições lógicas
  • 11.
    Tabela verdade como 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 como 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 como 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 Tabelaverdade 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 Tabelaverdade 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çãodas operações ^ MOD (raiz(), abs(), round(), etc...) (<, >, ==, !=, etc...)
  • 17.
    Resolvendo uma expressãoló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.
  • 19.
    Lista de ExercíciosResolva 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ãoabs(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 Sabendoque 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 Tendoas 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 Sabendoque 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 conceitosnos nossos algoritmos Associação entre condições lógicas
  • 27.
    Exercício S_6 (aulapassada) 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 (Algoritmosem 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 (Algoritmocom 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! Passeo exercício anterior para um programa em C#
  • 31.
    Operadores lógicos emC# Algoritmo C# e && ou || não !
  • 32.
    Exercício S_6 (ProgramaC# com operadores lógico)
  • 33.
  • 34.
    Lista de ExercíciosResolva os exercícios a seguir em algoritmo e/ou C#
  • 35.
    Exercício S_7 Elaboreum 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 (emalgoritmo) 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 (emC#) 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 (emC#) FORMATO 2: Utilizando o ELSE, com a abertura “{“ e fechamento “}” de blocos entre eles.
  • 39.
    Exercício S_7 (emC#) FORMATO 3: Utilizando o ELSE, sem a abertura “{“ e fechamento “}” de blocos entre eles.
  • 40.
    Desenvolva um programaque: –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 (emalgoritmo) 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
  • 42.
  • 43.
    João Papo-de-Pescador, homemde 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 (emalgoritmo) 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
  • 45.
  • 46.
    Por hoje ésó... Agora é hora de estudar!