aula 134

Dúvida | Como inverter um número com a linguagem Portugol?

Vamos a mais uma aula de dúvida? E na aula de hoje vamos aprender como inverter um número com a linguagem portugol. Por exemplo, como transformar o número 123 no número 321?

Este exercício pode ser facilmente resolvido apenas com operações matemáticas, as operações de resto e divisão.

Lembra-se dos conceitos matemáticos de unidade, dezena e centena? Estes conceitos são importantes para resolvermos este exercício.

Como exemplo, vamos avaliar o número 587. A unidade é o dígito mais a direita, ou seja, o digito 7. A dezena é o próximo digito após a unidade, no nosso exemplo a dezena é o dígito 8. Por fim, a centena é o dígito 5. Matematicamente falando podemos dizer que o número 587 é formado por 5 centenas + 8 dezenas + 7 unidades, assim:

(5 * 100) + (8 * 10) + (7 * 1) =
500 + 80 + 7 = 587

Para resolver este exercício precisamos obter os dígitos individualmente, o dígito da unidade, da dezena e da centena.

Como obter o dígito da unidade de um número?

Para obter o dígito da unidade de qualquer valor basta realizar a operação de resto da divisão por 10. O valor obrigatoriamente será um dígito entre 0 e 9, assim:

587 % 10 = 7 (o resto da divisão inteira de 587 por 10 é 7)
999 % 10 = 9
368 % 10 = 8

Podemos salvar este valor em uma variável chamada unidade.

Como obter o dígito da dezena de um número?

Para obter o dígito da dezena a operação é semelhante, contudo o resto da divisão agora é por 100. Assim, o resultado será um valor entre 0 e 99. Porém, não queremos um resultado com dois dígitos, queremos apenas o dígito da dezena. Para obter este dígito basta dividir o resultado por 10 e teremos então o dígito da dezena. Observe que aqui estamos falando em divisão inteira.

(587 % 100) / 10 = 8 (o resto da divisão de 587 por 100 é 87, que dividido por 10 dá 8 e sobra 7)
(999 % 100) / 10 = 9
(368 % 100) / 10 = 6

Assim como fizemos com o dígito da unidade, podemos salvar este valor em uma variável chamada dezena.

Como obter o dígito da centena de um número?

Por fim, o dígito da centena pode ser obtido fazendo a divisão inteira por 100, assim:

587 / 100 = 5 (a divisão inteira de 587 por 100 é 5)
999 / 100 = 9
368 / 100 = 3

Assim como nos casos anteriores, podemos salvar este valor em uma variável chamada centena.

Agora que temos os três valores individuais, podemos manipulá-los de qualquer forma, inclusive para inverter o número original. Observe que inverter um número significa que a unidade passa a ser a centena, a dezena permanece sendo a dezena e a centena se torna a unidade. Assim ao fazer unidade * 100 + dezena * 10 + centena obtemos o número original invertido.

É exatamente esta lógica que desenvolvemos no algoritmo em portugol a seguir:

/*
        Como inverter um número com a linguagem Portugol?

        Código escrito por Wagner Gaspar
        Agosto de 2021
*/

programa{
	
	funcao inicio(){
		inteiro valor = 987
		inteiro unidade, dezena, centena, novo

		unidade = valor % 10
		dezena = (valor % 100) / 10
		centena = valor / 100

		novo = unidade * 100 + dezena * 10 + centena

		escreva(valor + " ao contrário é: " + (unidade * 100 + dezena * 10 + centena))
	}
}

Deixe um comentário

três × 1 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.