GeraProva GeraProva Provas com IA para professores do Brasil
Computação3º anoBNCC EF15CO02Difícil⏱ longo

Escreva um algoritmo em pseudocódigo que, dada uma lista de dados de sensores (cada registro tem id, tempo e…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF15CO02

Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Escreva um algoritmo em pseudocódigo que, dada uma lista de dados de sensores (cada registro tem id, tempo e valor, onde alguns valores podem ser nulos), retorne uma nova lista na qual os valores nulos sejam preenchidos por interpolação linear entre os vizinhos válidos. Implemente uma função auxiliar para realizar a interpolação e trate casos em que os nulos estejam no início ou no fim da lista.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

função interpolar(valorA, tempoA, valorB, tempoB, tempoX) se tempoB == tempoA então retorne valorA razao <- (tempoX - tempoA) / (tempoB - timeA) retorne valorA + razao * (valorB - valorA) fimfunção algoritmo preencherInterpolacao(lista) n <- comprimento(lista) resultado <- copiar(lista) í <- 1 enquanto í <= n faça se resultado[í].valor é nulo então j <- í + 1 enquanto j <= n e resultado[j].valor é nulo faça j <- j + 1 fimenquanto se j <= n então se í == 1 então para k de 1 até j-1 faça resultado[k].valor <- resultado[j].valor fimpara else valorEsq <- resultado[í-1].valor tempoEsq <- resultado[í-1].tempo valorDir <- resultado[j].valor tempoDir <- resultado[j].tempo para k de í até j-1 faça tempoK <- resultado[k].tempo resultado[k].valor <- interpolar(valorEsq, tempoEsq, valorDir, tempoDir, tempoK) fimpara fimse í <- j else para k de í até n faça resultado[k].valor <- resultado[í-1].valor fimpara pare fimse fimse í <- í + 1 fimenquanto retorne resultado fimalgoritmo

Explicação

O algoritmo preenche valores nulos utilizando interpolação linear, garantindo que os dados sejam suavizados entre valores válidos. Ele trata adequadamente casos em que os nulos estão no início ou no fim da lista, replicando o valor mais próximo disponível. A função auxiliar de interpolação calcula o valor correspondente com base nos tempos e valores dos registros adjacentes, assegurando precisão no preenchimento.

Raio-X da questão

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

interpolação linear

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos e pseudocódigo · interpolação linear

📚 Reveja

Revisar conceitos de algoritmos e interpolação linear.

⚠️ Erro mais comum

O aluno pode esquecer de tratar os casos em que os valores nulos estão no início ou no fim da lista, resultando em erros na interpolação.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Algoritmos

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