GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO04Difícil⏱ medio

Considere um algoritmo que percorre uma lista de temperaturas e conta quantos valores excedem um limite. Para…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO04

Reconhecer o conceito de metaprogramação como uma forma de generalização na construção de programas, permitindo que algoritmos sejam entrada ou saída para outros algoritmos.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Considere um algoritmo que percorre uma lista de temperaturas e conta quantos valores excedem um limite. Para generalizá-lo a diferentes limites sem alterar o corpo do laço, qual elemento deve ser convertido em parâmetro da função?

  1. A) O tipo de dados da lista deve ser mudado para inteiro somente.
  2. B) A saída do resultado deve ser convertida em um booleano indicando se excede.
  3. C) O limite (threshold) deve ser um parâmetro de entrada do algoritmo.
  4. D) O número de iterações do laço deve ser transformado em parâmetro.
  5. E) A lista de temperaturas deve ser convertida em um string concatenado.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. O algoritmo percorre uma lista de temperaturas e conta quantos valores excedem um limite. O limite é o valor de comparação usado dentro do laço, por exemplo se temperatura > limite então conta++.
  2. Queremos reutilizar o mesmo algoritmo para limites diferentes sem mexer no corpo do laço. Para isso, o valor que muda de uma situação para outra deve ser recebido de fora, como parâmetro. Esse valor é o limite (threshold).
  3. Ao transformar o limite em parâmetro de entrada, a comparação dentro do laço continua idêntica; só muda o valor passado na chamada da função. Isso resolve exatamente o problema proposto.
  4. Verificação das demais alternativas:
  5. A) Mudar o tipo da lista para inteiro somente não generaliza nada e ainda restringe os dados, pois temperaturas podem ser decimais.
  6. B) Converter a saída em booleano perderia a contagem, que é o resultado pedido pelo algoritmo.
  7. D) O número de iterações é determinado pelo tamanho da lista e não pelo limite; transformá-lo em parâmetro não afeta a comparação com diferentes limites.
  8. E) Converter a lista em string concatenada não tem relação com a comparação numérica e tornaria a comparação inviável sem conversões.
  9. Portanto, a alternativa correta é a C, que coincide com o gabarito oficial.

💡 Dica: Identifique o elemento que deve ser parametrizado.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

Acredita que generalizar o algoritmo exige apenas ajustar o tipo de dado da lista, confundindo a flexibilidade de um parâmetro com a restrição de tipo.

Por que engana: Confundir a necessidade de alterar o corpo do laço com a modificação de outros elementos que não são essenciais para a generalização do algoritmo.

B Erradaerro: Interpretação

Confunde a saída do algoritmo com o critério de comparação, achando que o resultado deveria ser apenas sim ou não, e não a contagem pedida.

C Correta

Tornar o limite um parâmetro permite reutilizar o mesmo código para critérios diferentes; o laço permanece inalterado e o comportamento muda conforme o valor recebido.

D Erradaerro: Conceitual

Imagina que o número de repetições do laço depende do limite, quando na verdade ele depende do tamanho da lista percorrida.

E Erradaerro: Senso comum

Supõe que a estrutura de dados precisa ser transformada em texto para qualquer generalização, ignorando que a comparação é numérica.

Raio-X da questão

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

parâmetros de função

📌 Objetivo

avaliacao

🧱 Pré-requisitos

funções em programação · parâmetros de função

📚 Reveja

Revisar como utilizar parâmetros em funções de algoritmos.

⚠️ Erro mais comum

Confundir a necessidade de alterar o corpo do laço com a modificação de outros elementos que não são essenciais para a generalização do algoritmo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 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.