Num sistema de pagamentos da cantina escolar, ao projetar variáveis para valores monetários, qual escolha…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Classificar informações, agrupando-as em coleções (conjuntos) e associando cada coleção a um ‘tipo de dado’.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Num sistema de pagamentos da cantina escolar, ao projetar variáveis para valores monetários, qual escolha evita erros de arredondamento em cálculos financeiros?
- A) Ponto flutuante, para permitir casa decimal nas transações.
- B) Lista, para armazenar todos os valores de transações em um único lugar.
- C) String, para representar valores em formato textual.
- D) Armazenar como inteiro representando centavos (ex.: 125 para R$1,25).
- E) Booleano, para registrar se um pagamento foi feito ou não.
✅ Resposta correta: alternativa D
Resolução passo a passo
- A questão pergunta qual escolha de tipo de dado evita erros de arredondamento em cálculos financeiros, em um sistema de cantina escolar.
- Ao resolver por conta própria, percebemos que o problema central é a representação numérica. Números de ponto flutuante (como float e double) guardam frações em base binária, e muitas frações decimais simples, como 0,1 ou 1,25 em certas somas, não têm representação exata. Isso gera pequenos erros que se acumulam ao longo de muitas transações.
- Uma solução comum na prática é trabalhar com a menor unidade monetária, o centavo, e armazenar o valor como inteiro. Assim, R$1,25 vira 125, e as somas e subtrações são exatas, pois inteiros não sofrem arredondamento nessas operações.
- Alternativa A está errada, pois ponto flutuante é justamente a fonte do problema de arredondamento.
- Alternativa B está errada, pois lista é uma estrutura para guardar vários valores, sem definir como cada valor é representado.
- Alternativa C está errada, pois string representa texto e não permite cálculos aritméticos diretos e seguros sobre o valor.
- Alternativa E está errada, pois booleano só registra sim ou não e não representa quantias em dinheiro.
- Conclusão: a alternativa D é a correta, pois o inteiro em centavos elimina erros de arredondamento nos cálculos financeiros, coincidindo com o gabarito oficial.
💡 Dica: Considere as melhores práticas para manipulação de valores monetários.
Alternativa por alternativa
O aluno acredita que o ponto flutuante é a melhor escolha porque permite representar casas decimais, sem perceber que essa representação binária é justamente a origem dos erros de arredondamento.
Por que engana: Escolher ponto flutuante por achar que é a melhor opção para representar valores monetários, sem considerar os problemas de precisão que isso pode causar.
O aluno confunde a necessidade de guardar vários valores com a necessidade de representar cada valor com precisão, achando que organizar tudo em uma lista resolve o problema de arredondamento.
O aluno supõe que guardar o valor como texto preserva exatamente o número, sem notar que textos não são calculados de forma direta e exigiriam conversões que não resolvem a questão.
Pontos flutuantes introduzem imprecisão binária; usar inteiros em unidades mínimas (centavos) garante aritmética exata e previsível.
O aluno interpreta mal o contexto de pagamento e acha que registrar se o pagamento ocorreu tem relação com a precisão dos valores, sem perceber que o booleano não representa quantias.
Raio-X da questão
variáveis monetárias
avaliacao
tipos de dados em programação · arredondamento em cálculos
Revisar como evitar erros de arredondamento em cálculos financeiros.
Escolher ponto flutuante por achar que é a melhor opção para representar valores monetários, sem considerar os problemas de precisão que isso pode causar.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- A transmissão semanal de uma rádio comunitária recebe mensagens de moradores que desejam participar ao vivo. Para cada…
- — Se eu digitar "18:05" como numero, o programa nao vai somar certo, ne? — perguntou Joao, enquanto ajudava a organizar…
- Em pseudocódigo, uma variável booleana 'flag' indica se um laço já encontrou o elemento-alvo. Qual tipo de dado é mais…
- Para compactar e transmitir um registro de aluno que não será modificado (nome, data_nasc, matrícula), qual tipo de dado…
- Em um algoritmo escolar, a variável 'tarefas_concluidas' registra quantas tarefas um aluno concluiu em uma semana. Qual…
- Descreva em pseudocódigo um algoritmo que receba duas fontes de dados sobre alunos (um CSV onde o campo 'idade' aparece…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
