Elaborar um programa Python para somar os dígitos de um número menor que 100.
Passo 1
O enunciado pede para elaborar um programa em Python que some os dígitos de um número menor que
. Ou seja:
- Entrada: um número inteiro
tal que . - Saída: a soma dos dígitos de
.
Informações relevantes dadas:
- O número é menor que
(ou seja, tem até duas casas decimais). - Precisamos somar os dígitos (por exemplo, para
a soma dos dígitos é ). - Não foi pedido formato específico de entrada/saída além disso, então o programa deve ler um número e imprimir a soma dos dígitos.
Passo 2
Entendimento matemático básico (muito importante): qualquer número inteiro de duas cifras pode ser escrito como
onde
é a dezena (o dígito das dezenas) e
é a unidade (o dígito das unidades). Exemplo: para
temos
e
, e realmente
.
Queremos calcular
.
Passo 3
Como extrair
e
usando operações inteiras (conceitos em Python):
- A divisão inteira por
dá a parte das dezenas: . Em Python usamos o operador //, entãoa = n // 10. - O resto da divisão por
dá a unidade: . Em Python usamos o operador %, entãob = n % 10.
Explicando com exemplos:
- Se
: 57 // 10é5e57 % 10é7. - Se
: 8 // 10é0(não tem dezenas) e8 % 10é8.
Passo 4
Algoritmo passo a passo (pseudocódigo) que você pode aplicar na prova:
- Ler inteiro
. - Verificar se
. Se não, sinalizar erro (ou tratar conforme enunciado). - Calcular
. - Calcular
. - Calcular soma =
. - Imprimir soma.
Esse procedimento é curto, usa operações simples e é rápido de fazer à mão ou programando.
Passo 5
Vamos mostrar um exemplo manual para fixar:
- Suponha
. -
. -
. - Soma =
.
Pronto — verifique sempre casos de uma única casa, por exemplo: , , soma .
Passo 6
Tradução do algoritmo para Python (detalhes que você precisa saber na prova):
input()lê uma string; converter para inteiro comint(...).- Tratar possíveis entradas inválidas com
try/excepté boa prática para aulas e testes, mas em problemas de prova costumam supor entrada válida. Aqui eu incluo checagem simples de intervalo para evitar respostas erradas. - Use
print()para mostrar o resultado.
Passo 7
Outra abordagem (opcional, mais intuitiva para alguns): tratar o número como string, somar os caracteres convertidos para inteiro. Exemplo rápido:
s = str(n)- soma =
sum(int(ch) for ch in s)
Essa forma funciona bem e é curta, mas exige conhecimento de iteração esum. A forma aritmética com//e%é a mais básica e frequentemente preferida em provas.
Passo 8
Casos de borda e validação:
-
-> soma . -
-> soma . -
-> soma . - Valores negativos ou
devem ser considerados inválidos conforme o enunciado; no programa abaixo eu aviso quando o número está fora do intervalo.
Passo 9
Complexidade e observações rápidas:
- O algoritmo é O(1) em tempo e espaço (operações constantes).
- É simples de implementar sem calculadora: basta dividir por
e pegar o resto. - Na hora da prova, escreva claramente os passos: extração das dezenas com divisão inteira e unidades com resto da divisão.
Passo 10
Código final em Python (pronto para rodar). Ele lê um inteiro, valida o intervalo e imprime a soma dos dígitos.
Resposta
try:
n = int(input("Digite um número inteiro menor que 100: "))
except:
print("Entrada inválida")
raise SystemExit
if n < 0 or n >= 100:
print("Número fora do intervalo (deve ser 0 <= n < 100)")
else:
a = n // 10
b = n % 10
print(a + b)