Contagem regressiva: Escreva um programa que peça um número inteiro positivo e faça uma contagem regressiva até zero, imprimindo cada número.

Passo 1

O enunciado pede que escrevamos um programa que:
  • peça ao usuário um número inteiro positivo (vou chamar esse número de n);
  • faça uma contagem regressiva de n até 0, imprimindo cada número um por linha.
Informações relevantes que o enunciado dá:
  • entrada: um inteiro positivo n (ou seja, n\ge 0);
  • saída: os números n, n-1, n-2, \dots, 0, cada um em sua própria linha.

Passo 2

Escolha da abordagem simples e prática (sem mistério):
  • vamos usar a linguagem Python porque é bem legível e muito usada em provas e exercícios introdutórios;
  • o programa precisa:
    1. ler uma entrada do usuário (que vem como texto);
    2. converter essa entrada para inteiro;
    3. verificar que o inteiro é não-negativo ( n\ge 0);
    4. repetir a impressão dos números de n até 0.

Passo 3

Como ler a entrada e converter para inteiro — explicando cada peça:
  • em Python, a função input() lê uma linha digitada pelo usuário e retorna uma string (texto).
  • para transformar esse texto num inteiro usamos int(...). Por exemplo, se o usuário digitar "5", int("5") vira o número inteiro 5.
  • porém, se o usuário digitar algo que não é um número (por exemplo "abc"), int(...) gera um erro do tipo ValueError. Para lidar com isso de forma amigável, a gente pode usar try / except para capturar o erro e pedir a entrada de novo.
Exemplo de ideia:
  • pedir a entrada com input("Digite um inteiro positivo: ");
  • tentar converter com int(...);
  • se der erro, avisar e pedir novamente.

Passo 4

Como garantir que o inteiro é não-negativo ( n\ge 0):
  • após converter para inteiro, checar if n >= 0:.
  • se não for, mostrar uma mensagem tipo “Digite um inteiro não-negativo” e pedir outra vez.
  • repetimos esse processo até o usuário fornecer um inteiro válido. Em Python isso é feito com um while True: que só break quando a entrada estiver correta.

Passo 5

Como fazer a contagem regressiva em si — duas formas e por que escolhi uma:
  • forma com for usando range: em Python, range(start, stop, step) gera uma sequência que começa em start, vai até o primeiro valor estritamente maior/menor que stop (dependendo do sinal de step) e pula de step em step.
    • Para ir de n até 0 incluindo 0, usamos range(n, -1, -1). Aqui:
      • start = n (começa em n);
      • stop = -1 (o range para antes de atingir -1, então inclui o 0);
      • step = -1 (vai decrescendo de um em um).
    • Exemplo: se n=5, range(5,-1,-1) gera 5, 4, 3, 2, 1, 0.
  • forma com while: também é possível com while n >= 0: print(n); n -= 1. É igualmente válida.
  • Vou usar for com range(n, -1, -1) porque é concisa e clara.

Passo 6

Explicando a impressão de cada número:
  • em Python, print(i) escreve o valor de i seguido de uma nova linha, então cada número sairá em sua própria linha, exatamente como o enunciado pede.
  • não precisamos fazer nada extra para quebrar linha — print já faz isso por padrão.

Passo 7

Programa completo com validação de entrada e contagem regressiva:
  • o código abaixo lê repetidamente até receber um inteiro não-negativo e então imprime a contagem regressiva de n até 0.
  • exemplo de execução mental: se o usuário digitar n=3, o programa imprimirá
    3
    2
    1
    0

Resposta

while True:
    try:
        n = int(input("Digite um inteiro positivo: "))
        if n >= 0:
            break
        else:
            print("Por favor, digite um inteiro não-negativo.")
    except ValueError:
        print("Entrada inválida. Digite um número inteiro.")

for i in range(n, -1, -1):
    print(i)

Exercícios relacionados