GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF69CO06Fácil⏱ medio

Um algoritmo recebe uma coleção de temperaturas em Celsius e atualmente converte todos os valores para…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO06

Comparar diferentes casos particulares (instâncias) de um mesmo problema, identificando as semelhanças e diferenças entre eles, e criar um algoritmo para resolver todos, fazendo uso de variáveis (parâmetros) para permitir o tratamento de todos os casos de forma genérica.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Um algoritmo recebe uma coleção de temperaturas em Celsius e atualmente converte todos os valores para Fahrenheit com fórmula fixa. Para transformar essa rotina em uma função única que realize conversões entre Celsius, Fahrenheit e Kelvin, qual parâmetro deve ser adicionado à assinatura do algoritmo e por quê?

  1. A) Modificar a fórmula fixa para incluir opções de escala na mesma linha de código.
  2. B) Adicionar o parâmetro 'tipo_conversao' (boolean) para verificar se a conversão é Celsius ou Fahrenheit.
  3. C) Adicionar o parâmetro 'escala_fonte' (string) para dizer de onde a temperatura vem.
  4. D) Adicionar o parâmetro 'unidade_destino' (string) que indica a escala alvo.
  5. E) Adicionar o parâmetro 'historico' (lista) para armazenar as temperaturas convertidas.

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. A rotina atual sempre converte de Celsius para Fahrenheit, ou seja, a origem (Celsius) e o destino (Fahrenheit) estão fixos no código. Para generalizar a função para Celsius, Fahrenheit e Kelvin, precisamos tornar variável a escala de saída, que é a parte que hoje está presa à fórmula. Passo 2: O parâmetro 'unidade_destino' (string) indica a escala alvo, por exemplo 'F', 'K' ou 'C'. Com ele, a função escolhe internamente qual fórmula aplicar (C para F: F = C x 9/5 + 32; C para K: K = C + 273,15; e as conversões inversas), sem precisar de uma função nova para cada par de escalas. Passo 3: Por que as outras estão erradas. A: colocar opções de escala dentro da mesma linha de código mistura as fórmulas e não cria uma assinatura de função com parâmetro, sendo uma solução frágil. B: um boolean só distingue duas possibilidades e não consegue representar três escalas. C: 'escala_fonte' informa a origem, mas como as temperaturas de entrada já são em Celsius, essa informação não resolve o que precisa mudar na saída; é um complemento útil para generalizar totalmente, mas não é o parâmetro que a questão pede. E: um histórico de temperaturas é um recurso de armazenamento e não define a conversão. Passo 4: Dúvida registrada: em uma versão totalmente genérica, também faria sentido receber a escala de origem, pois a função poderia converter de qualquer escala para qualquer outra. Porém, dentro do enunciado, a pergunta pede o parâmetro que resolve a limitação atual, que é a escala de destino fixa.

💡 Dica: Considere os tipos de temperatura e como a função deve se comportar.

Alternativa por alternativa

A Erradaerro: Conceitual

Acredita que basta colocar condicionais ou opções dentro da fórmula existente para ter várias escalas, sem alterar a assinatura da função para receber a informação de fora.

B Erradaerro: Conceitual

Imagina que um único valor booleano pode representar a escolha entre as escalas, confundindo a necessidade de três opções com uma escolha binária.

C Erradaerro: Interpretaçãoa que mais engana

Entende que a origem da temperatura é o que precisa ser informado, esquecendo que a entrada já é em Celsius e o problema atual está na saída fixa em Fahrenheit.

Por que engana: Escolher um parâmetro que não permite identificar a escala de destino, dificultando a conversão correta.

D Correta

O parâmetro permite escolher a fórmula correta em tempo de execução, tornando a mesma rotina genérica para todas as escalas e evitando duplicação de código.

E Erradaerro: Conceitual

Confunde a função de conversão com a de armazenamento, achando que guardar o resultado em uma lista define qual escala de saída será usada.

Raio-X da questão

Dificuldade Fácil
Bloom Aplicar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade dupla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

conversão de temperaturas

📌 Objetivo

fixacao

🧱 Pré-requisitos

funções em programação · conversão de unidades

📚 Reveja

Revisar as fórmulas de conversão entre Celsius, Fahrenheit e Kelvin.

⚠️ Erro mais comum

Escolher um parâmetro que não permite identificar a escala de destino, dificultando a conversão correta.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Estratégias de solução de problemas - Generalização

🔎 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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.