Projete em pseudocódigo uma função recursiva agrupar_por_inicial(L) que recebe uma lista L de nomes (strings)…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Descrever com precisão a solução de um problema, construindo o programa que implementa a solução descrita.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete em pseudocódigo uma função recursiva agrupar_por_inicial(L) que recebe uma lista L de nomes (strings) e retorna uma lista de registros {inicial, nomes} onde 'nomes' contém, na ordem original, todos os nomes que começam com a mesma letra. Explique o caso base, a etapa recursiva e dê o resultado para L = ['Ana','Arthur','Beatriz','Bruno','Alice'].
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Modelo de solução (pseudocódigo): func agrupar_por_inicial(L): se L == [] então retorne [] senao nome := primeiro(L) ini := primeira_letra(nome) rest := agrupar_por_inicial(resto(L)) // procurar registro com inicial ini em rest se existe R em rest tal que R.inicial == ini então R.nomes := concatenar([nome], R.nomes) retorne rest senao retorne concatenar([{inicial: ini, nomes: [nome]}], rest) Explicação do caso base: vazio retorna lista vazia. Etapa recursiva: reduz o problema retirando o primeiro nome, agrupa o resto recursivamente e injeta o nome atual no registro correto (cria novo se necessário), preservando ordem por inicial. Exemplo para ['Ana','Arthur','Beatriz','Bruno','Alice']: resultado possível (ordem de grupos conforme primeira ocorrência) = [ {inicial:'A', nomes:['Ana','Arthur','Alice']}, {inicial:'B', nomes:['Beatriz','Bruno']} ].
Explicação
A solução apresentada utiliza recursão para processar a lista de nomes, garantindo que cada nome seja agrupado de acordo com sua inicial. O caso base trata a situação em que a lista está vazia, retornando uma lista vazia, enquanto a etapa recursiva organiza os nomes em registros, preservando a ordem original. O exemplo fornecido ilustra claramente como os nomes são agrupados corretamente, demonstrando a eficácia do algoritmo.
Raio-X da questão
função recursiva em pseudocódigo
avaliacao
função recursiva · estruturas de dados
Revisar conceitos de recursão e estruturas de dados em listas.
O aluno pode confundir a lógica de recursão, não definindo corretamente o caso base e a chamada recursiva, resultando em loops infinitos ou erros de lógica.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Para inscrever estudantes no clube de leitura, a biblioteca da escola usa um formulário digital. O formulário solicita…
- Em uma planilha com várias turmas, uma mesma fórmula foi inserida na primeira linha e copiada para as demais para manter…
- Uma turma quer registrar em ordem as etapas para calcular a média das notas em um programa educacional. — Que recurso de…
- Em uma atividade de programação, o estudante percebe que vai repetir a mesma conta várias vezes para diferentes valores…
- No terminal de empréstimo de bicicletas de um parque urbano, cada devolução é registrada em um painel de leitura. O…
- Em uma frase, defina o que é um algoritmo em computaçã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
