Fórum Algoritmo de decomposição numérica #616369
29/07/2021
0
Pessoal, estou com dificuldade para resolver um exercício, gostaria da ajuda de vcs!! :)
Segue:
Escreva um algoritmo para realizar a decomposição numérica de um número, utilizando por exemplo: 37843.
Para decompor um número, é preciso escrevê-lo como a soma das ordens dos algarismos, ou seja, a decomposição do número 1523 é igual a: 1000 + 500 + 20 + 3
Fiz da seguinte forma abaixo, mas sinto que tá meio na gambiarra.... e porque também já tá com o número pré-definido, se eu não soubesse que o número é esse (37843) e pedisse pro usuário digitar o número que ele quisesse, como ficaria?
Desde já, agradeço!
Segue:
Escreva um algoritmo para realizar a decomposição numérica de um número, utilizando por exemplo: 37843.
Para decompor um número, é preciso escrevê-lo como a soma das ordens dos algarismos, ou seja, a decomposição do número 1523 é igual a: 1000 + 500 + 20 + 3
Fiz da seguinte forma abaixo, mas sinto que tá meio na gambiarra.... e porque também já tá com o número pré-definido, se eu não soubesse que o número é esse (37843) e pedisse pro usuário digitar o número que ele quisesse, como ficaria?
Desde já, agradeço!
programa
{
funcao inicio()
{
inteiro unidade, dezena, centena, u_milhar, d_milhar, numero
numero = 37843
unidade = ((numero/1)%10)*1
dezena = ((numero/10)%10)*10
centena = ((numero/100)%10)*100
u_milhar = ((numero/1000)%10)*1000
d_milhar = ((numero/10000)%10)*1000
escreva(numero+" Decomposto e:\n")
escreva(d_milhar+"+")
escreva(u_milhar+"+")
escreva(centena+"+")
escreva(dezena+"+")
escreva(unidade+"")
}
}
Carlos Silva
Curtir tópico
+ 0
Responder
Posts
09/08/2021
Yuri Aguiar
Opa, tudo bom meu amigo?
Acompanha comigo o raciocínio... mas antes de tudo tenha em mente que existe outras maneiras bem mais simplificadas de resolver este problema, mas você está no caminho.
Como você deseja apenas trocar o valor pré-definido por algum que o usuário digite, basta colocar um 'leia()' que cada vez que a pessoa digitar um valor, ele será alocado na variável número. Por exemplo:
inteiro n
leia (n)
Suponhamos que a pessoa digite 10, a variável 'n' passará a possuir esse valor.
Espero que eu tenha sido claro.
Abraço.
Ps.: continue seus estudos e não deixe de praticar, tentando sempre resolver os exercícios de diferentes abordagens, assim você trabalha muito bem sua lógica de programação.
Acompanha comigo o raciocínio... mas antes de tudo tenha em mente que existe outras maneiras bem mais simplificadas de resolver este problema, mas você está no caminho.
programa {
funcao inicio() {
inteiro unidade, dezena, centena, u_milhar, d_milhar, numero
leia(numero)
unidade = ((numero/1)%10)*1
dezena = ((numero/10)%10)*10
centena = ((numero/100)%10)*100
u_milhar = ((numero/1000)%10)*1000
d_milhar = ((numero/10000)%10)*1000
escreva(numero + " Decomposto e:\\n")
escreva(d_milhar+"+")
escreva(u_milhar+"+")
escreva(centena+"+")
escreva(dezena+"+")
escreva(unidade+"")
}
}Como você deseja apenas trocar o valor pré-definido por algum que o usuário digite, basta colocar um 'leia()' que cada vez que a pessoa digitar um valor, ele será alocado na variável número. Por exemplo:
inteiro n
leia (n)
Suponhamos que a pessoa digite 10, a variável 'n' passará a possuir esse valor.
Espero que eu tenha sido claro.
Abraço.
Ps.: continue seus estudos e não deixe de praticar, tentando sempre resolver os exercícios de diferentes abordagens, assim você trabalha muito bem sua lógica de programação.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)