Faça um programa que solicite dois números inteiros A e B , com \mathrm{A}<\mathrm{B}. Usando for, imprima todos os números entre A e B que sejam múltiplos de 3.
Ao final, mostre quantos múltiplos de 3 foram encontrados. Caso nenhum número seja encontrado, mostre:
Nenhum múltiplo de 3 encontrado no intervalo.

Passo 1

O enunciado pede um programa que:
  • Solicite dois números inteiros \mathrm{A} e \mathrm{B} com \mathrm{A}<\mathrm{B}.
  • Usando um laço do tipo for, imprima todos os números entre \mathrm{A} e \mathrm{B} que sejam múltiplos de \,3.
  • Ao final, mostre quantos múltiplos de \,3 foram encontrados.
  • Se nenhum múltiplo for encontrado, mostrar exatamente a mensagem:
    Nenhum múltiplo de 3 encontrado no intervalo.
Observação de interpretação: aqui vou considerar que “entre \mathrm{A} e \mathrm{B}” inclui os extremos, ou seja, o programa deve testar todos os inteiros \,n tais que \mathrm{A}\le n\le\mathrm{B}.

Passo 2

Ideia geral do algoritmo (visão passo a passo):
  1. Ler \mathrm{A} e \mathrm{B} do usuário e garantir que \mathrm{A}<\mathrm{B}. Se não for, pedir novamente até o usuário inserir valores válidos.
  2. Inicializar um contador para contar quantos múltiplos de \,3 foram encontrados (por exemplo, \text{contador}=0).
  3. Fazer um laço for que percorra todos os inteiros de \mathrm{A} até \mathrm{B} (inclusive).
  4. Para cada inteiro \,n no laço, testar se ele é múltiplo de \,3. Se for, imprimir \,n e incrementar \text{contador}.
  5. Depois do laço, se \text{contador}=0 imprimir a mensagem indicada; caso contrário, imprimir a quantidade encontrada.

Passo 3

Explicando o teste de “múltiplo de \,3” de forma bem prática:
  • Um inteiro \,n é múltiplo de \,3 quando o resto da divisão de \,n por \,3 é zero.
  • Em notação: \,n é múltiplo de \,3 sse \,n \bmod 3 = 0.
  • Exemplos numéricos: \,6\bmod 3 = 0 (logo \,6 é múltiplo), \,7\bmod 3 = 1 (logo \,7 não é múltiplo).
No Python (ou em muitas linguagens), esse teste é feito com o operador do resto: em Python escreve-se \text{n \% 3 == 0}. Aqui estou só mostrando a ideia; o código completo vem no final.

Passo 4

Detalhes sobre o laço for e o intervalo:
  • Em Python a função \text{range(start, end)} gera inteiros começando em \text{start} até \text{end}-1. Para percorrer inclusive \mathrm{B} usamos \text{range}(\mathrm{A}, \mathrm{B}+1).
  • Portanto, para testar todos os inteiros \mathrm{A}\le n\le \mathrm{B} usamos \text{for n in range(A, B+1):}.

Passo 5

Validação de entrada:
  • É comum o usuário digitar valores que não obedecem \mathrm{A}<\mathrm{B} ou digitar algo que não é inteiro.
  • Estratégia segura: ler os valores como inteiros (tratando erro se necessário) e, se \mathrm{A}\ge\mathrm{B}, solicitar novamente até que a condição seja satisfeita.
  • Isso evita comportamento indefinido e garante que o laço for seja executado corretamente.

Passo 6

Formas de imprimir os resultados:
  • Para cada múltiplo encontrado é aceitável imprimir cada número em uma linha separada (simples e claro).
  • Ao final, se o contador for maior que zero, imprimir a quantidade encontrada em uma frase curta (por exemplo: "\{contador\} múltiplo(s) de 3 encontrado(s) no intervalo."ú).
  • Se o contador for zero, imprimir exatamente:
    Nenhum múltiplo de 3 encontrado no intervalo.

Passo 7

Boas práticas que usei no programa final:
  • Tratamento de erro simples para garantir que a entrada seja um inteiro válido.
  • Repetir a leitura de \mathrm{A} e \mathrm{B} enquanto \mathrm{A}\ge\mathrm{B}.
  • Uso de um laço for com \text{range(A, B+1)} para cobrir os extremos.
  • Contagem explícita dos múltiplos para decidir a mensagem final.

Passo 8

Exemplo rápido (fluxo esperado):
  • Usuário digita \mathrm{A}=2, \mathrm{B}=10.
  • Números testados: 2,3,4,5,6,7,8,9,10.
  • Impressão de múltiplos de \,3: 3,6,9 (cada um em sua linha).
  • Impressão final: "3 múltiplo(s) de 3 encontrado(s) no intervalo."ú (ou outra frase equivalente); se nenhum encontrado, imprime a mensagem exata pedida.

Resposta

def ler_int(msg):
    while True:
        try:
            return int(input(msg))
        except ValueError:
            print("Entrada inválida. Digite um número inteiro.")

# Ler A e B garantindo A < B
A = ler_int("Digite o valor de A (inteiro): ")
B = ler_int("Digite o valor de B (inteiro): ")
while A >= B:
    print("Os valores devem satisfazer A < B. Digite novamente.")
    A = ler_int("Digite o valor de A (inteiro): ")
    B = ler_int("Digite o valor de B (inteiro): ")

contador = 0

for n in range(A, B + 1):
    if n % 3 == 0:
        print(n)
        contador += 1

if contador == 0:
    print("Nenhum múltiplo de 3 encontrado no intervalo.")
else:
    print(f"{contador} múltiplo(s) de 3 encontrado(s) no intervalo.")

Exercícios relacionados