4
respostas

Uso do .mod() em Kotlin e sua finalidade na criação de uma aplicação.

Olá. Três perguntas: 1) Qual a diferença e para qual aplicação irei usar?

% , .rem() e .mod()

Sei que eles são usados para nos trazer o resto da divisão e até onde eu testei só muda com números negativos.

2) Por que o uso do .mod() com o divisor ou dividendo traz um resultado diferente?

3) Em que situações o uso destas expressões podem ser necessárias?

Exemplos:

println("Resultado de 7 rem 3 = " + ( 7.rem(3) ) ) println("Resultado de 7 rem -3 = " + ( 7.rem(-3) ) ) println("Resultado de -7 rem 3 = " + ( -7.rem(2) ) ) println("Resultado de -7 rem -3 = " + ( -7.rem(-3) ) ) println() println("Resultado de 7 mod 3 = " + ( 7.mod(3) ) ) println("Resultado de 7 mod -3 = " + ( 7.mod(-3) ) ) println("Resultado de -7 mod 3 = " + ( -7.mod(3) ) ) println("Resultado de -7 mod -3 = ${-7.mod(-3)}")

Resultado de 7 rem 3 = 1 Resultado de 7 rem -3 = 1 Resultado de -7 rem 3 = -1 Resultado de -7 rem -3 = -1

Resultado de 7 mod 3 = 1 Resultado de 7 mod -3 = -2 Resultado de -7 mod 3 = -1 Resultado de -7 mod -3 = 2

4 respostas

Olá Alexandre, tudo bem?

Respondendo às suas perguntas:

1) A diferença entre os métodos .rem() e .mod() em Kotlin é que o primeiro retorna o resto da divisão com sinal igual ao dividendo, enquanto o segundo retorna o resto da divisão com sinal igual ao divisor. Em outras palavras, o resultado do método .rem() sempre terá o mesmo sinal do número que está sendo dividido, enquanto o resultado do método .mod() sempre terá o mesmo sinal do divisor. Ambos os métodos são úteis para calcular o resto da divisão, mas em situações diferentes. O método .rem() é mais adequado para situações em que você precisa preservar o sinal do dividendo, enquanto o método .mod() é mais adequado para situações em que você precisa preservar o sinal do divisor.

2) O uso do método .mod() com o divisor ou dividendo pode trazer um resultado diferente porque, como mencionado anteriormente, o resultado do método .mod() sempre terá o mesmo sinal do divisor. Portanto, se o divisor for negativo, o resultado também será negativo. Por exemplo, no seu exemplo "Resultado de 7 mod -3 = -2", o resultado é -2 porque o divisor é negativo (-3).

3) O uso desses métodos pode ser necessário em várias situações, como por exemplo, em cálculos matemáticos que envolvam divisão e resto, ou em algoritmos que precisem verificar se um número é par ou ímpar, entre outros.

Espero ter ajudado e bons estudos!

olá Otávio, obrigado por interagir, mas de onde saiu o -2, pois fazendo a conta na mão não existe o -2 em canto algum, sabem explicar isso usando uma fórmula?

Olá Alexandre,

Fazendo na cálculadora, 7 mod -3 dá -2 por conta do -3 ser negativo

Nesse caso, a = 7 e b = -3, então:

7 mod -3 = -2

na calculadora não ajuda rs... essa conta é aritmética modular? gostaria de achar um exemplo com a fórmula decomposta