FC ConcursosFC Concursos

Questão FC373272

Um Analista de Informática foi encarregado de avaliar as expressões abaixo em uma aplicação desenvolvida na linguagem Java. int a, b, c, d, e; boolean f, g, x, y, z; a=1; b=2; c=3;

Linguagens de Programação

FCC · 2019

Um Analista de Informática foi encarregado de avaliar as expressões abaixo em uma aplicação desenvolvida na linguagem Java.


int a, b, c, d, e;
boolean f, g, x, y, z;
a=1; b=2; c=3; d=4; e=5;
f=true; g=false;
x = !((d-b)/2 >= (b*c/b)) && (!f || (e-c)!= (d-b));
y = (e+c/b)==(d*b) || (e-c*d) <= (d*c-e) && ! (f && g);
z = !(!g || (b/a)<=(c-b/a)) && (d+e-c)!=(b*c);


Concluiu corretamente que os valores resultantes nas variáveis x, y e z, serão, respectivamente,

  1. false, false, false.
  2. false, true, false.
  3. true, true, true.
  4. false, false, true.
  5. true, false, false.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

x: substituindo \(d=4,b=2,c=3,e=5,f=true\) em \(x = !((d-b)/2 >= (b*c/b)) && (!f || (e-c)!=(d-b))\). Temos \((4-2)/2 =1\) e \((2*3)/2=3\), logo \(1>=3\) é false, então ! (false) = true. No outro termo, !f = false e \((5-3)!=(4-2)\) é \(2!=2\) → false. Assim true && (false || false) = true && false = false.

y: em \(y=(e+c/b)==(d*b) || (e-c*d)<=(d*c-e) && !(f&&g)\), com divisão inteira \(3/2=1\). Então \(5+1==8\) → false. Calcula-se \(5-3*4=-7\) e \(4*3-5=7\), logo \(-7<=7\) → true. \(f&&g\) = false, então \(!(f&&g)\)=true. Assim false || (true && true) = true.

z: em \(z = !(!g || (b/a)<= (c-b/a)) && (d+e-c)!=(b*c)\). Com \(g=false,b/a=2,c-b/a=1\) temos \(!g\)=true, então \(!g || 2<=1\) = true; ! (true)=false. Ainda \((4+5-3)=6\) e \(2*3=6\) → \(6!=6\) = false. Portanto false && false = false.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo