Sétima aula de Lógica de Programação da turma de Técnico em Informática para Internet, do curso Pronatec/UNIMEP, realizada no segundo semestre de 2014.
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
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
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
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.
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
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