Essa pergunta vai mais especificamente para o prof. Nicolau Saldanha, pois tem a ver mais com umas notas dele, mas quem souber responder, por favor, sinta-se � vontade :)

Prof. Nicolau Saldanha,


    Recentemente eu entrei numa discuss�o com colegas de universidade pq a gente tava construindo um aplicativo
que em dado ponto era necess�rio redefinir a opera��o de divis�o com resto. Eu defendi que era conveniente construir de modo que
o resto seja sempre >=0 pra evitar ambiguidades. Mas outro cara disse que n�o havia problema algum pois o operador
%  das linguagens de programa��o retorna n�meros negativos dependendo do caso.
Isso � verdade, embora eu nunca tenha percebido, pelo menos em Java e Python (as linguagens dispon�veis nesse computador
no momento). Assim por exemplo a opera��o -5%-2 retorna -1, e portanto o quociente � dois. Por�m nas suas notas sobre primos de mersenne na p�gina 9 vc diz, mais ou menos (e foi o que eu aprendi em teoria dos n�meros):
Dados a, b  inteiros, b !=0, ent�o existe (e s�o �nicos) q, r inteiros, r>=0 tal que a=qb+r. Al�m disso se b<0,
q= fun��o teto (a/b). Isso significa que -5 dividido por -2 retorna q=3 e r=1, satisfazendo as condi��es.
Agora a pergunta: Pq essa ambiguidade? H� uma raz�o especial para as linguagens de programa��o (pelo menos essas) usarem
uma defini��o diferente da tradicional (de que o resto deve ser positivo para garantir a unicidade)?

Obrigado,
--
Denisson

Responder a