Considere int
; Quantas conversões de tipo serão necessárias e qual será o valor atribuído à variável float
pela instrução a seguir. Lembrar que a função pow retorna um valor do tipo float.
Passo 1
O enunciado pede para contabilizar quantas conversões implícitas de int para float ocorrem ao avaliar a expressão e calcular o valor final de v, sabendo que a=2, b=3, c=4, d=5 e que pow retorna float.
Passo 2
Primeiro calculamos c+d e b, pois serão usados em pow. Temos c+d=4+5=9 e b=3. A chamada pow((c+d),2) recebe dois ints (9 e 2) e converte cada um para float (2 conversões). Da mesma forma, pow(b,2) converte b e 2 para float (mais 2 conversões).
Passo 3
Depois, dividimos os resultados de pow: como ambos são float, não há conversão. Em seguida multiplicamos por d; como d é int, ocorre 1 conversão para float.
Passo 4
Agora somamos a (int) ao resultado float anterior: a é convertido para float (1 conversão).
Passo 5
Para o fator (1.0/c), assumimos 1.0 como float, logo c (int) é convertido para float (1 conversão), e o resultado da divisão é float.
Passo 6
Por fim, multiplicamos o subtotal (float) por (1.0/c) (float), sem gerar conversões adicionais.
Passo 7
Somando todas as conversões: 2 (primeiro pow) + 2 (segundo pow) + 1 (multiplicação por d) + 1 (soma com a) + 1 (divisão 1.0/c) = 7 conversões. O valor de v fica:
Resposta
Serão necessárias 7 conversões de tipo e o valor atribuído a v será 11.75.