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

Escreva um algoritmo em pseudocódigo que receba uma string (entrada) e devolva sua codificação por run-length…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO02

Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Escreva um algoritmo em pseudocódigo que receba uma string (entrada) e devolva sua codificação por run-length encoding (RLE). O algoritmo deve codificar sequências consecutivas de um mesmo caractere como caractere seguido da contagem; inclua um exemplo de entrada e saída.

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

Resposta esperada

Algoritmo RLE(s: string) -> string: if s == "" then return "" result <- "" count <- 1 for i from 1 to length(s)-1 do if s[i] == s[i+1] then count <- count + 1 else result <- result + s[i] + toString(count) count <- 1 end if end for result <- result + s[length(s)] + toString(count) return result Explicação: o algoritmo percorre a string uma vez, conta repetições consecutivas e concatena o caractere com sua contagem quando muda o caractere seguinte; complexidade O(n). Exemplo: entrada "AAAABBBCC" -> saída "A4B3C2". Opcionalmente, separar pares com delimitador (ex.: "A:4;B:3;C:2") se for necessário evitar ambiguidade entre caracteres e dígitos.

Explicação

O algoritmo eficientemente percorre a string uma única vez, garantindo que cada caractere e sua contagem sejam processados em tempo linear. A lógica de contagem e concatenação permite a construção da string codificada de maneira clara e direta. A complexidade O(n) assegura que a solução é escalável para strings de diferentes tamanhos.

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

run-length encoding

📌 Objetivo

fixacao

🧱 Pré-requisitos

algoritmos e pseudocódigo · codificação de dados

📚 Reveja

Revisar algoritmos de codificação e manipulação de strings.

⚠️ Erro mais comum

O aluno pode confundir a lógica de contagem, não agrupando corretamente os caracteres consecutivos ou não formatando a saída como esperado.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

criatividade

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programaçã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.