Faça uma função recursiva que receba um número inteiro positivo N e imprima todos os números naturais de 0 até N em ordem decrescente.

Passo 1

O enunciado pede uma função recursiva que, dado um inteiro positivo N, imprima todos os números naturais de 0 até N em ordem decrescente. O conteúdo principal aqui é recursão: precisamos identificar o caso base (para parar a chamada) e o passo recursivo (onde a função se chama de novo com valor menor).

Passo 2

Definimos o caso base da recursão: quando chegarmos em N=0, imprimimos 0 e não chamamos a função de novo. Isso evita chamadas infinitas:
if n \(==0\):
    print(\(0\))

Passo 3

No passo recursivo, para n>0, primeiro imprimimos o próprio n e depois chamamos a função com n-1. Assim garantimos que, a cada chamada, o valor diminui até atingir o caso base:
else:
    print(n)
    \(imprimir_numeros_decrescente\)(n - \(1\))

Passo 4

Juntando tudo em uma função Python, temos:
def \(imprimir_numeros_decrescente\)(n):
    """
    Função recursiva que recebe n >\(=0\) e imprime de n até \(0\) em ordem decrescente.
    """
    if n \(==0\):
        print(\(0\))
    else:
        print(n)
        \(imprimir_numeros_decrescente\)(n - \(1\))
Por exemplo, ao chamar \(imprimir_numeros_decrescente\)(\(5\)) o resultado será:
\[543210\]

Resposta

def \(imprimir_numeros_decrescente\)(n):
    """
    Função recursiva que recebe n >\(=0\) e imprime de n até \(0\) em ordem decrescente.
    """
    if n \(==0\):
        print(\(0\))
    else:
        print(n)
        \(imprimir_numeros_decrescente\)(n - \(1\))

Exercícios relacionados