[Cabrinews] Cambio segno e elevamento a potenza

Lucina Cilia lucina.cilia a tiscali.it
Dom 22 Nov 2009 13:45:02 CET


Paolo Bonavoglia ha scritto:
> Paolo Bonavoglia ha scritto:
>   
>> Non me ne ero mai accorto! Il bello è che se si scrive 3 -2^2 si ottiene correttamente -1 
>> (non 7), e addirittura se si scrive 0-2^2 si ha di nuovo correttamente -4: e forse è questo il motivo per cui era sfuggito,
>>     
> Ho ripensato a questo paradossale risultato che dà -2^2  diverso da 
> 0-2^2. Avendo io stesso realizzato in passato alcuni parser di 
> espressioni algebriche per miei programmi, credo di aver capito il 
> problema.
>
> Di solito i parser algebrici come prima cosa traducono l'espressione 
> algebrica in un'espressione RPN (o postfissa) molto più adatta per la 
> valutazione o altra elaborazione automatica. Per esempio l'espressione 
> (2+2)*3 viene tradotta in 2 2 + 3 * (prima la somma poi il prodotto), 
> mentre 2 + 2*3 diventa 2 2 3 * + (prima la somma poi il prodotto).
> Tra i vantaggi della notazione RPN, non sono necessarie le parentesi, 
> l'ordine delle operazioni è sempre univoco.
>
> Non so per certo se Excel e OOCalc usino la RPN ma è molto probabile che 
> sia così.
>
> Ora l'espressione 0 - 2^2 diventa 0 2 2 ^ - (corretto) dove il segno 
> meno rappresenta la sottrazione tra due numeri.
> L'espressione - 2^2 invece non rappresenta un'operazione binaria come 
> addizione, moltiplicazione, potenza, ma un'operazione unaria 
> (cambiamento di segno) e viene quindi gestita da una procedura diversa.
> Correttamente -2^2 si dovrebbe tradurre in  2 2 ^ - (prima la potenza, 
> poi il cambiamento di segno); evidentemente invece in Excel viene 
> tradotta in 2 - 2 ^.
>
> Se poi questo errore sia dovuto a ignoranza delle buone regole 
> dell'algebra da parte del programmatore o a una svista resta da stabilirsi.
>
>   
L'errore evidente diventa ancora più evidente se solo si tiene conto che 
Excel è un software Microsoft.

Per carità abbandonatelo!!! passate a Linux e al software libero.

Geogebra infatti non fa di questi errori!!


Maggiori informazioni sulla lista Cabrinews