Incluir um método (07E1) para programa ler um valor inteiro do teclado, e gravar em arquivo os seus divisores pares em ordem decrescente.

Passo 1

Beleza, vamos lá! Temos que criar um método chamado 07E1 que faz o seguinte:
  1. Ler um número inteiro que o usuário digita no teclado.
  2. Encontrar todos os divisores pares desse número.
  3. Ordenar esses divisores de maneira decrescente.
  4. Gravar essa lista ordenada em um arquivo.
Para resolver isso, vamos precisar entender entrada de dados, laços de repetição, condições, listas, ordenação e manipulação de arquivos na linguagem de programação que estivermos usando (vou usar Python como exemplo). Se não estiver familiarizado com algum desses conceitos, não se preocupe que eu explico na medida!

Passo 2

Primeiro, vamos ler um valor inteiro do usuário. Em Python, usamos a função input() para isso, e como o valor é lido como uma string, precisamos converter para inteiro com int().
numero = int(input("Digite um número inteiro: "))
Explicação: input("Digite um número inteiro: ") mostra uma mensagem para o usuário e espera que ele digite algo. int() converte o que foi digitado para um número inteiro.

Passo 3

Agora, precisamos encontrar todos os divisores pares desse número. Um divisor de um número é outro número que divide o primeiro sem deixar resto. Para achar os divisores pares, vamos verificar quais desses divisores são divisíveis por 2.
divisores_pares = []
for i in range(1, numero + 1):
    if numero % i == 0 and i % 2 == 0:
        divisores_pares.append(i)
Explicação:
  • range(1, numero + 1) gera uma sequência de números de 1 até o número digitado.
  • numero % i == 0 verifica se i é um divisor de numero.
  • i % 2 == 0 verifica se i é par.
  • Se ambas as condições forem verdadeiras, adicionamos i à lista divisores_pares.

Passo 4

Com a lista de divisores pares, agora precisamos ordená-los em ordem decrescente. Em Python, podemos usar o método sort() com o parâmetro reverse=True.
divisores_pares.sort(reverse=True)
Explicação: O método sort(reverse=True) organiza a lista de forma que os maiores números fiquem primeiro, ou seja, em ordem decrescente.

Passo 5

Por fim, vamos gravar essa lista ordenada em um arquivo. Vamos criar ou abrir um arquivo em modo de escrita usando with open() para garantir que o arquivo seja fechado corretamente após a escrita.
with open("divisores_pares.txt", "w") as arquivo:
    for divisor in divisores_pares:
        arquivo.write(f"{divisor}\n")
Explicação:
  • open("divisores_pares.txt", "w") abre (ou cria) um arquivo chamado divisores_pares.txt no modo de escrita ("w").
  • for divisor in divisores_pares: percorre cada divisor na lista.
  • arquivo.write(f"{divisor}\n") escreve cada divisor seguido de uma quebra de linha no arquivo.

Resposta

Pronto! Com esse método 07E1, quando você rodar o programa e digitar um número inteiro, ele vai identificar todos os divisores pares desse número, ordená-los de forma decrescente e salvar essa lista no arquivo divisores_pares.txt. Por exemplo, se você digitar 12, o arquivo vai conter:
12
6
4
2
Isso facilita visualizar os divisores pares do número de forma organizada!

Exercícios relacionados