Romolo Manfredini ha scritto: >> L'equazione cui ti riferisci non può essere utilizzata con il concetto >> di divisione euclidea su Z. Dividere un numero (dividendo) per un altro >> numero (divisore) secondo la divisione euclidea implica il concetto di >> "quante volte il divisore sta nel dividendo" cosa che non è garantita su >> Z dall'algoritmo di Euclide. >> Se fosse così dovrebbe essere: >> a : b = q + r >> > > magari la mia matematica è arrugginita, ma la questa non mi torna > a=b*q+r > (a-r)=b*q > a/b - r/b =q > è un mio errore: volevo scrivere:
Se fosse così dovrebbe essere: a : b = q*b + r con b <>0, q <= b e r < b se e solo se a = q x b + r con b<>0, 0<= r <|b| il resto però è corretto. > pertanto non capisco da dove salti fuori l'asserzione precedente > Per tornare al problema, per risolvere l'equazione che sta alla base del > teorema da me riportata sono sufficienti q=2 e di consequenza r=1 positivo > come si può facilmente verificare da -5=-3*2+1. > il problema è il campo in cui è applicabile. Un'operazione definita su un insieme numerico non può essere estesa a qualsiasi altro semplicemente perché non è garantito che un altro insieme goda delle stesse proprietà di quello originario. La divisione euclidea da NxN su N è ben definita, non lo è da ZxZ su Z, lo è da Z+ x Z+ su N. Il concetto della divisione è trovare "IL MASSIMO numero di volte che il divisore è contenuto nel dividendo" (oltretutto la risposta si trova algoritmicamente per sottrazioni successive) l'implementazione incriminata non rispetta questa regola perché per -1 / 60 il massimo è 0 non -1, quindi nel complesso la funzione int(a/b) di OOo ed excel semplicemente non è nel suo complesso una funzione di divisione euclidea e nemmeno di divisione algebrica ma è un "pateracchio" ottenuto con un arrotondamento/troncamento (peraltro molto discutibile) di una divisione definita da RxR su R. Il caso peggiore è quello di Python ed altri linguaggi di programmazione dove è l'operatore di divisione e di conseguenza anche quello di modulo che nel caso di operandi interi producono lo stesso tipo di risultati di OOo ed excel, in quel caso è davvero un grosso problema avere un operatore che in funzione del tipo di operandi produce risultati diversi. > ed adesso si che casca l'asino visto che almeno qui openoffice è incoerente > con la definizione matematica a cui si appella per quotient(-1;60) visto ce > probabilmente usando la floor ottiene quotient(-5;-3)=1 > OOo, excel Python e molte alte implementazioni della divisione non sono propriamente corrette in senso algebrico proprio perché la divisione non è definita su N e Z. > Rimando per evitare post lunghissimo a > http://en.wikipedia.org/wiki/Division_algorithm per maggiori approfondimenti > sull'algoritmo della divisione. > Comunque sia sono perfettamente d'accordo che il problema della divisione > intera in informatica sia uno dei più spinosi e controversi che esistano e > che infiniti programmi (nonchè processori - vedi FDIV bug) ci si siano > scontrati. > > Romolo > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]