Faça uma função recursiva que receba um vetor como parâmetro e retorne o maior elemento do vetor.

Passo 1

Vamos começar entendendo o que o exercício está pedindo. Precisamos criar uma função recursiva que recebe um vetor (ou array) como parâmetro e retorna o maior elemento desse vetor. Para resolver isso, vamos precisar compreender o que é recursão e como podemos aplicá-la para percorrer os elementos do vetor e encontrar o maior número.

Passo 2

Primeiro, vamos relembrar o que é uma função recursiva. Recursão é quando uma função chama a si mesma para resolver um problema menor do mesmo tipo. Isso é útil para dividir problemas grandes em partes menores e mais fáceis de resolver.

Passo 3

No nosso caso, queremos encontrar o maior número em um vetor de forma recursiva. A ideia é comparar elementos do vetor um por um e manter o controle do maior encontrado até o momento.

Passo 4

Vamos definir a condição de parada da nossa recursão. A condição de parada é essencial para evitar que a função chame a si mesma indefinidamente. Para nosso problema, a condição de parada será quando o vetor tiver apenas um elemento. Nesse caso, esse único elemento é, obviamente, o maior.

Passo 5

Agora, vamos pensar em como implementar a lógica de comparação. A cada chamada recursiva, vamos comparar o último elemento do vetor com o maior elemento encontrado nas chamadas anteriores. A função retornará o maior entre esses dois valores.

Passo 6

Vamos colocar tudo isso em código. Aqui está como a função recursiva pode ser implementada em Python:
def encontrar_maior(vetor):
    # Condição de parada: se o vetor tem apenas um elemento
    if len(vetor) == 1:
        return vetor[0]
    else:
        # Chamada recursiva: encontrar o maior do restante do vetor
        maior_restante = encontrar_maior(vetor[:-1])
        # Comparar o último elemento com o maior encontrado até agora
        if vetor[-1] > maior_restante:
            return vetor[-1]
        else:
            return maior_restante

Resposta

Portanto, utilizando a função encontrar_maior, passando o vetor desejado como parâmetro, a função retornará o maior elemento presente no vetor de forma recursiva.

Exercícios relacionados

Crie um tipo de registro TEMPO que contenha os seguintes campos: Horas e Minutos. Faça uma função que receba um número inteiro que representa um intervalo de tempo medido em minutos e devolva o correspondente número de horas e minutos (por exemplo, converte 131 minutos em 2 horas e 11 minutos).
Interface da função:
struct tempo converteTempo(int minutos) {}
Faça um programa que leia um vetor VET de 5 strings. Leia mais uma string PALAVRA. Buscar a string PALAVRA no vetor VET e imprimir sua posição no vetor. Caso PALAVRA não estiver no vetor, imprimir a mensagem
Faça um programa que leia um vetor de 10 caracteres, e diga quantas consoantes foram lidas. Imprima as consoantes.
Leia um vetor de 20 posições. Imprima a soma dos elementos do vetor; a média dos elementos do vetor; e quantos elementos são maiores do que a média dos elementos do vetor.