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
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
run-length encoding
fixacao
algoritmos e pseudocódigo · codificação de dados
Revisar algoritmos de codificação e manipulação de strings.
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.
ciencia_tecnologia
criatividade
abstrato
Questões parecidas com resolução
- Descreva em pseudocódigo um algoritmo que recebe na variável 'dados' uma sequência de bytes ASCII e produz na saída…
- Descreva um algoritmo em pseudocódigo que receba na variável 'texto' (sequência de bytes) e aplique codificação por…
- Desenhe um algoritmo em pseudocódigo que receba na variável 'texto' (sequência de bytes ASCII) e produza duas saídas…
- Em pseudocódigo, descreva um algoritmo que recebe na variável 'imagem' uma matriz 8x8 de pixels binários e produz (a) a…
- Escreva um algoritmo em pseudocódigo que receba uma string de texto e devolva uma tabela (map) com a frequência de cada…
- 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…
🔎 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
