Algoritmo de decomposição numérica
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
Clique aqui para fazer login e interagir na Comunidade :)