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]

Rispondere a