Informática, perguntado por Lucaspedrosa17363626, 10 meses atrás

Marque com X os casos em que existe a necessidade de conversão explícita: int x = 3; float z = 8.5f double y = 7.986; long w = 4 ( ) x ← y ( ) z ← w/x ( ) y ←w*z ( ) z ← x + y - w ( ) w ← x*x

Soluções para a tarefa

Respondido por marcusviniciusbelo
0

Apenas as alternativas a) e d) devem ser convertidas explicitamente.

Acredito que se trata de uma questão sobre a Linguagem C. Desse modo, temos que salientar que a conversão explícita se torna necessária onde a conversão não é feita automaticamente durante a operação.

Vamos analisar cada alternativa, separadamente:

x ← y

Aqui temos uma atribuição direta, onde y (um número double) está sendo atribuído a x (uma variável inteira). Como um double é maior que um inteiro, nesse caso, devemos converter explicitamente x para double.

z ← w/x

w e x são do tipo long e inteiro, respectivamente. Desse modo, o resultado da divisão será um número do tipo long, pois x será promovido automaticamente para long durante a operação. Contudo, z é do tipo float, que é maior do que um long. Deste modo, não necessita de uma conversão explícita.

y ← w*z

w e z são do tipo long e float, respectivamente. Sendo assim, o resultado dessa multiplicação será um número do tipo float. y é do tipo double, sendo maior do que o resultado da multiplicação. Portanto, não há necessidade de uma conversão explícita aqui.

z ← x + y - w

x é inteiro, y é double e w é long. Sendo assim, o resultado das duas operações aritméticas será do tipo double (maior dentre os três). Z é do tipo float, desse modo deve ser convertido para double, explicitamente.

w ← x*x

x é do tipo int, logo x*x também será inteiro. Logo, w, que é do tipo long (maior do que inteiro) não precisa ser convertido.

Você pode aprender mais sobre Tipos de Dados aqui: https://brainly.com.br/tarefa/15640489

Perguntas interessantes