Crie um algoritmo que leia um número, e se o número for múltiplo de 3 e de 5 ao mesmo tempo, mostre "Múltiplo de 3 e 5 ".
- Um número
é múltiplo de
se
Passo 1
O enunciado pede que eu crie um algoritmo que leia um número e, se esse número for múltiplo de 3 e de 5 ao mesmo tempo, mostre a mensagem "Múltiplo de 3 e 5 ".
Informações dadas e suposições que vou usar (tudo pego do enunciado ou necessário para formular a solução):
Informações dadas e suposições que vou usar (tudo pego do enunciado ou necessário para formular a solução):
- O algoritmo deve ler um número (vou assumir que o número lido é um inteiro; se o enunciado quiser lidar com não inteiros, isso precisa ser explicitado).
- Definição fornecida: um número
é múltiplo de se . - Pergunta a responder: mostrar a mensagem somente quando o número for múltiplo de
e de ao mesmo tempo.
Passo 2
Explicando o operador resto (módulo) de forma bem simples e passo a passo. Isso é importante porque o teste de “múltiplo” usa exatamente isso.
- Definição matemática do resto: dados inteiros
e , existe um quociente inteiro e um resto tal que
O valor
é o que chamamos de
.
- Exemplo 1: para
e ,
logo
.
- Exemplo 2: para
e ,
logo
. Quando o resto é zero,
é múltiplo de
(pela definição que já foi dada).
Passo 3
Como usar isso para testar “múltiplo de 3 e de 5 ao mesmo tempo”. Duas maneiras naturais (vou explicar as duas; na prova pode usar qualquer uma):
- Jeito direto (checar os dois): verificar se simultaneamente
Se ambas forem verdadeiras, então
é múltiplo de
e de
.
- Jeito curto (usar o mínimo múltiplo comum): como
e são primos entre si, o mínimo múltiplo comum é . Assim, ser múltiplo de e de ao mesmo tempo é equivalente a ser múltiplo de ; isto é,
Explicação rápida do porquê: se
é divisível por
e por
, então
contém os fatores
e
, logo contém
. O contrário também vale. Por isso testar
é correto e geralmente mais simples (uma só operação).
Passo 4
Vou explicar passo a passo como implementar isso no algoritmo (forma clara, sem pular etapas). Supondo que o algoritmo faz:
- Ler um número inteiro
. (Ex.: o usuário digita .) - Fazer a verificação: calcular
e OU calcular . - Se a condição for satisfeita, mostrar exatamente a string "Múltiplo de 3 e 5 ". Caso contrário, não mostrar essa mensagem (ou pode mostrar nada / outra mensagem, conforme desejado).
Detalhes práticos que costumam cair na prova/implementação:
- Em muitas linguagens, a operação resto é escrita como
matematicamente, e no código costuma ser n % m. Mas para raciocinar na prova escreva sempre. - O número
é múltiplo de qualquer inteiro não nulo, porque . Então para a mensagem deve aparecer (se quiser excluir esse caso, precisa dizer explicitamente). - Números negativos: matematicamente a condição “ser múltiplo” segue se o resto for zero no sentido matemático; em implementações pratique cuidado com como a linguagem trata resto de negativos, mas para o objetivo da prova normalmente consideramos o critério
.
Passo 5
Exemplos práticos (aplico a regra passo a passo para fixar):
- Exemplo A:
.
Calculare . Ambas verdadeiras, logo mostrar "Múltiplo de 3 e 5 ". - Exemplo B:
.
Calculare . Como , NÃO mostrar a mensagem. - Exemplo C (usando o atalho):
. Calcular . Como é zero, mostrar "Múltiplo de 3 e 5 ". - Exemplo D:
. . Mostrar "Múltiplo de 3 e 5 ".
Passo 6
Versão final do algoritmo em pseudocódigo bem enxuto (esta é a resposta objetiva que você pode escrever na prova ou programar). A forma abaixo usa o teste com
, que é a forma mais simples e eficiente (uma só verificação):
Ler inteiro
Se então
Mostrar "Múltiplo de 3 e 5 "
Fim-Se
Ler inteiro
Se
Mostrar "Múltiplo de 3 e 5 "
Fim-Se
Se preferir checar os dois divisores separadamente, use:
Ler inteiro
Se e
então
Mostrar "Múltiplo de 3 e 5 "
Fim-Se
Ler inteiro
Se
Mostrar "Múltiplo de 3 e 5 "
Fim-Se
Resposta
Ler inteiro
Se então
Mostrar "Múltiplo de 3 e 5 "
Fim-Se
Se
Mostrar "Múltiplo de 3 e 5 "
Fim-Se