Questão FC373295
O hidrômetro é o equipamento que faz a apuração do consumo de água. Nele há um contador que registra a quantidade que passou pelo medidor. A conta é feita a partir do último número
Linguagens de Programação
FCC · 2018
O hidrômetro é o equipamento que faz a apuração do consumo de água. Nele há um contador que registra a quantidade que passou pelo medidor. A conta é feita a partir do último número registrado em comparação aos valores do novo registro. A diferença entre os dois números aponta o volume de água consumido. Para ler o hidrômetro de ponteiros deve-se anotar os números indicados em preto dos círculos menores. Em sentido horário inicia-se pela unidade, depois a dezena até o último ponteiro que corresponde ao milhar. Um Estagiário foi solicitado a elaborar um trecho de programa em uma linguagem de programação para simular a leitura de cada número do hidrômetro de ponteiro e apresentar o número inteiro correspondente. O trecho elaborado por ele é apresentado abaixo, em Java.
int u=Integer.parseInt(JOptionPane.showInputDialog("Número que corresponde à unidade: "));
int d=Integer.parseInt(JOptionPane.showInputDialog("Número que corresponde à dezena: "));
int c=Integer.parseInt(JOptionPane.showInputDialog("Número que corresponde à centena: "));
int m=Integer.parseInt(JOptionPane.showInputDialog("Número que corresponde ao milhar: "));
...I...
JOptionPane.showMessageDialog(null,"A leitura do hidrômetro de ponteiro corresponde a " + valor,
"Resultado",JOptionPane.INFORMATION_MESSAGE);
A lacuna I é corretamente preenchida com
- int valor = (m + c + d +u);
- double valor = (u * d * c * m);
- double valor = (m/1000 + c/100 + d/10 +u);
- int valor = (m + c + d +u) * 1000;
- int valor = (m*1000 + c*100 + d*10 +u);
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
O hidrômetro fornece quatro dígitos separados: unidade, dezena, centena e milhar. Para formar o número inteiro correspondente é preciso somar cada dígito ponderado pelo seu peso de casa decimal.
Usando as variáveis lidas, a expressão correta é int valor = (m*1000 + c*100 + d*10 + u); porque cada posição representa multiplicação pelo respectivo fator: milhar → 1000, centena → 100, dezena → 10 e unidade → 1.
Em notação matemática: \( \textbf{valor} = 1000\cdot m + 100\cdot c + 10\cdot d + u \). Essa fórmula converte os dígitos separados em um único inteiro equivalente à leitura do mostrador.
Assim, a atribuição calcula corretamente o número total a ser exibido; não é necessário concatenar strings nem operar com potências além dos coeficientes indicados.
Conteúdo do catálogo FC Concursos · Atualizado em