Considere o pseudocódigo abaixo.Algoritmo Lógica var a, b, ...
Algoritmo Lógica
var a, b, c, d: inteiro
Início
a ← 2
b ← 5
c ← 10
d ← 3
Se (NÃO((a+c*b) < = (d*b/a)) E ((b+c/d) < (c/a*d-b*a))) então
imprima ("A")
Fim_se
Se (((a+c*b) < = (d*b/a)) OU ((b+c/d) < > (c/a*d-b*a)) E NÃO((c-d)=(d+a))) então
imprima ("B")
Fim_se
Se ((((a+c)*b) < = (d*b/a)) E ((b-c*d) < > (c/a*(d-b)*a))) então
imprima ("C")
Fim_se
Fim
Neste algoritmo será impresso
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C
Vamos analisar o pseudocódigo e entender os detalhes importantes que nos levam à resposta correta. Este tipo de questão testa o conhecimento do candidato sobre operações aritméticas, lógicas e de precedência de operadores.
1. Inicialização das variáveis:
O algoritmo começa inicializando as variáveis:
a ← 2
b ← 5
c ← 10
d ← 3
2. Primeira condição:
Se (NÃO((a+c*b) ≤ (d*b/a)) E ((b+c/d) < (c/a*d-b*a))) então
Vamos calcular as expressões dentro da condição:
(a + c * b) = 2 + 10 * 5 = 2 + 50 = 52
(d * b / a) = 3 * 5 / 2 = 15 / 2 = 7.5 (considerando divisão real)
52 ≤ 7.5 é falso
Como a negação de falso é verdadeiro, precisamos continuar avaliando a condição:
(b + c / d) = 5 + 10 / 3 = 5 + 3.333 = 8.333 (considerando divisão real)
(c / a * d - b * a) = 10 / 2 * 3 - 5 * 2 = 5 * 3 - 10 = 15 - 10 = 5
8.333 < 5 é falso
O 'E' lógico entre verdadeiro e falso resulta em falso. Portanto, a primeira condição não é satisfeita e "A" não será impresso.
3. Segunda condição:
Se (((a+c*b) ≤ (d*b/a)) OU ((b+c/d) <> (c/a*d-b*a)) E NÃO((c-d) = (d+a))) então
Já sabemos que:
(a+c*b) ≤ (d*b/a) é falso
(b + c / d) <> (c / a * d - b * a) 8.333 <> 5 é verdadeiro
Agora, vamos verificar a terceira expressão:
NÃO((c-d) = (d+a))
(c - d) = 10 - 3 = 7
(d + a) = 3 + 2 = 5
7 = 5 é falso,
Logo, NÃO(falso) é verdadeiro
Combinação de expressões:
falso OU (verdadeiro E verdadeiro):
falso OU verdadeiro = verdadeiro
Portanto, a segunda condição é satisfeita e a impressão "B" será realizada.
4. Terceira condição:
Se ((((a+c)*b) ≤ (d*b/a)) E ((b-c*d) <> (c/a*(d-b)*a))) então
Vamos calcular as expressões:
(a+c) * b = (2 + 10) * 5 = 12 * 5 = 60
(d * b / a) = 3 * 5 / 2 = 15 / 2 = 7.5
60 ≤ 7.5 é falso
Como a condição do E lógico já é falso, não é necessário avaliar o restante. A terceira condição não é satisfeita e "C" não será impresso.
Portanto, a única impressão realizada é "B", tornando a alternativa correta C.
Alternativas incorretas:
- A: Apenas "A" não é impresso.
- B: "A" e "B" não são impressos.
- D: "B" e "C" não são impressos.
- E: Apenas "C" não é impresso.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Resolvendo os cálculos e lembrando que as operações de multiplicação e divisão tem prioridade sobre as de subtração e adição quando não estiverem delimitadas por parenteses, deve ficar assim:
Se (NÃO((52) < = (7.5)) E ((5.33) < (5))) então
imprima ("A")
Fim_se
Se (((52) < = (7.5)) OU ((5.33) < > (5)) E NÃO((7)=(1))) então
imprima ("B")
Fim_se
Se (((75) < = (7.5)) E ((25) < > (-1,25)) então
imprima ("C")
Fim_se
logo, a unica condição que passa é a segunda imprimindo a letra B
Legal Mayara San. Embora não impacte no resultado final, o valor apresentado como 5.33 deve ser 8.33, ou seja, 5 + 10/3.
Força Guerreiro!!!!!!
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo