Considere a lista de dados de leituras de um sensor: [7,7,7,2,2,3,3,3,3]. Escreva um algoritmo em linguagem…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Considere a lista de dados de leituras de um sensor: [7,7,7,2,2,3,3,3,3]. Escreva um algoritmo em linguagem descritiva que percorra a lista, use variáveis para contar repetições consecutivas e produza uma lista comprimida por run-length encoding (pares valor, contagem). Mostre a representação final para o exemplo.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Inicialize uma lista vazia comprimida e duas variáveis: atual = primeiro elemento, contador = 1. 2) Para cada próximo elemento da lista: se for igual a atual, incremente contador; senão, anexe (atual, contador) à lista comprimida, atual = elemento, contador = 1. 3) Após o laço, anexe (atual, contador) final. Para o exemplo o resultado é [(7,3),(2,2),(3,4)]. Complexidade linear O(n). Útil para reduzir armazenamento de dados com muitas repetições consecutivas.
Explicação
O algoritmo descrito efetivamente percorre a lista de dados, contando as repetições consecutivas de cada valor e armazenando essas informações em uma nova lista de pares. A lógica de comparação entre o elemento atual e o próximo permite identificar mudanças e registrar a quantidade de repetições de forma eficiente. O resultado final apresenta uma representação compacta dos dados, facilitando a análise e o armazenamento.
Raio-X da questão
run-length encoding
fixacao
estruturas de repetição · variáveis e contadores
Revisar algoritmos de compressão de dados e contagem de elementos consecutivos.
O aluno pode confundir a lógica de contagem, não considerando corretamente as repetições consecutivas dos elementos da lista.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Carlos anotou estes dados: 7, 3, 7, 1, 7. Aplique um algoritmo simples de contagem para encontrar a frequência do número…
- Descreva em pseudocódigo um algoritmo que recebe na variável 'dados' uma sequência de bytes ASCII e produz na saída…
- Escreva um algoritmo em pseudocódigo que receba uma string (entrada) e devolva sua codificação por run-length encoding…
- Explique como você utilizaria um algoritmo de repetição simples para contar quantas vezes um número aparece em uma lista…
- Descreva um algoritmo que utilize variáveis para resolver o problema de contar quantas vezes um número aparece em uma…
- — De novo apareceu duas vezes o mesmo número! — reclamou a técnica que cuida do sistema de bicicletas compartilhadas da…
🔎 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
