[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[obm-l] Divisão com Resto
- To: obm-l@xxxxxxxxxxxxxx
- Subject: [obm-l] Divisão com Resto
- From: Denisson <denissoncs@xxxxxxxxx>
- Date: Mon, 13 Jun 2005 22:44:03 -0300
- DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type; b=EAfBvlknD0ChDErrWS4TyXMjVa3C84HSmWXy+6tYTiuIL6IvN/qG2FN2Uevbejo1pwM1IFojZz7C+v9CuLn3mWRYgnqyxZjHO4NSu/83eK/NuSsxSSE9jdfRmWPeAA0pTLlrYcgJubBv3nwCi5Ca8kLfzFVukRc42iTjMHq5G0g=
- Reply-To: obm-l@xxxxxxxxxxxxxx
- Sender: owner-obm-l@xxxxxxxxxxxxxx
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