Projete em pseudocódigo um algoritmo recursivo max_recursive(L) que recebe uma lista não vazia L de inteiros e…
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
Projete em pseudocódigo um algoritmo recursivo max_recursive(L) que recebe uma lista não vazia L de inteiros e retorna o maior valor. Explique o caso base, a chamada recursiva e como a variável que guarda o máximo é atualizada.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta modelo (pseudocódigo): função max_recursive(L): se comprimento(L) == 1: retornar L[0] m = max_recursive(L[1:]) se L[0] > m: retornar L[0] senão retornar m Caso base: lista unitária retorna seu elemento. A chamada recursiva obtém o máximo da cauda; a variável m guarda o máximo parcial e é comparada com a cabeça para propagar o maior valor.
Explicação
O algoritmo identifica o maior valor ao dividir a lista em uma cabeça e uma cauda, onde a cabeça é comparada com o resultado da chamada recursiva que processa a cauda. O caso base garante que, ao atingir uma lista de um único elemento, esse elemento é retornado como o maior. A atualização da variável m assegura que, a cada comparação, o maior valor encontrado até o momento seja propagado para cima na recursão.
Raio-X da questão
algoritmo recursivo
avaliacao
estrutura de dados · funções recursivas
Revisar conceitos de recursão e algoritmos em pseudocódigo.
O aluno pode confundir a lógica de recursão, não definindo corretamente o caso base ou a chamada recursiva.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Projete em pseudocódigo uma função recursiva maximo(L) que recebe uma lista não vazia de inteiros e retorna o maior…
- Projete em pseudocódigo uma função recursiva profundidade(L) que recebe uma lista L que pode conter elementos e…
- Projete em pseudocódigo uma função recursiva que verifica se uma lista de inteiros L está estritamente crescente (cada…
- Projete em pseudocódigo uma função recursiva subsequencias(L) que recebe uma lista L de inteiros e retorna a lista de…
- Projete em pseudocódigo uma função recursiva quicksort(L) que ordena uma lista L de inteiros em ordem não crescente…
- Projete uma função recursiva em pseudocódigo flatten(L) que recebe uma lista L que pode conter inteiros e sublistas…
🔎 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
