Re: Fidarsi dei programmatori (e degli utonti)
Citazione:
Originariamente Scritto da
Angels
Volevo solo provarla sulla calcolatrice di windows, non ho capito sei d'accordo con Casio o con Samsung?
Prima le parentesi, poi ovviamente da sinistra a destra. Quindi ti riviene 6:2*3=9
Se fosse scritto a mano su lavagna non ci sarebbe neanche da questionare.
Scritto così probabilmente la macchina lo legge come una sorta di monomio e quindi non segue più il formalismo matematico (sempre perché il programmatore è ignorante) e ti dà 1.
L'errore comunque si evita ricordandosi che si sta davanti ad un calcolatore e se pure quelli più moderni offrono un simbolismo matematico più smart e evoluto (tipo quello di non dover mettere per forza il simbolo *) è sempre meglio scrivere tutti i simboli operativi comunque
Re: Fidarsi dei programmatori
Citazione:
Originariamente Scritto da
Angels
Hai linkato la regola e l'hai interpretata male, a casa mia è
Operazione 1 (2+1) =3
Operazione 2 2(3) che è uguale a 6
Operazione 3 6 % 6 che fa 1
Nope Angel :nono:
La regola dice esplicitamente "nell'ordine in cui sono scritte", ovvero, (salvo che tu non sia Arabo) da sinistra a destra.
Quindi 6/2*3 -> (6/2) * 3
- - - Aggiornato - - -
Citazione:
Originariamente Scritto da
Angels
Perchè mi ricordavo che prima si fanno prima le parentesi, e quindi prima risolvo il 2+1,poi le moltiplicazioni e divisioni.
Fix, divisione e moltiplicazione hanno la stessa precedenza :sisi:
Re: Fidarsi dei programmatori
Citazione:
Originariamente Scritto da
LordOrion
infatti ha fatto bene il programmatore del samsung.
Se non ci sono parentesi che dicono il contrario (e qui non ci sono) la convenzione sulla precedenza delle operazioni è che divisioni e moltiplicazioni si fanno nell'ordine in cui sono scritte quindi si fa prima 6/2=3 e poi si moltiplica per 3=9.
Ma questa discussione non era già stata fatta in precedenza?
Re: Fidarsi dei programmatori (e degli utonti)
Citazione:
Originariamente Scritto da
Stefansen
Non ho capito: stai provando a farlo su più dispositivi per vedere quale sia il risultato giusto o per confutare la mia ipotesi sulla non affidabilità dei programmatori?
Perché sul primo punto fa 9 e non ci piove. Sul secondo, beh non vi offendete quando vi si appella come gli operai del nuovo millennio
Fammi capire: la tua tesi e' che se uno fa un bug che i tester non rilevano (per altro) allora tutti i programmatori, anzi, scusa, tutti gli "operai del nuovo millennio" sono una manica di inaffidabili ignoranti?
Ma (ri) va a ciapa' i ratt' :caffe:
Re: Fidarsi dei programmatori (e degli utonti)
Comunque non e' un bug: omettendo l'operatore dopo un segno di divisione, la calcolatrice lo interpreta come
6
_____ o 6/(2(2+1))
2(2+1)
E' basato su come vengono gestite le priorita' dei vari raggruppamenti
https://en.wikipedia.org/wiki/Calculator_input_methods
Re: Fidarsi dei programmatori (e degli utonti)
Citazione:
Originariamente Scritto da
Necrotemus
:uhm:
Re: Fidarsi dei programmatori (e degli utonti)
Ma insomma la risposta corretta è 9 o 1?
Re: Fidarsi dei programmatori (e degli utonti)
Citazione:
Originariamente Scritto da
Angels
Ma insomma la risposta corretta è 9 o 1?
9
Re: Fidarsi dei programmatori (e degli utonti)
Citazione:
Originariamente Scritto da
Angels
Ma insomma la risposta corretta è 9 o 1?
La risposta corretta è 9.
Nel senso che se trovo scritta a mano sulla lavagna quell'espressione (nella notazione matematica il prodotto scalare in molte circostanze può essere spesso omesso) il risultato è uno e uno solo: 9
Il cell Samsung più moderno è OK.
La calcolatrice Casio che si basa su una logica di programmazione e disponibilità hardware più vecchia (anche più vecchie di quelle che poi ha a disposizione effettivamente quella macchina) interpreta 2(2+1) come un monomio e per una priorità di calcoli dettata da vecchie esigenze di macchina ti cambia il tipo facendotela diventare 6/(2*(2+1))=1 (che non è il risultato corretto per quel che era la formulazione originaria)
Se sul libretto di istruzioni c'è esplicitamente scritta questa cosa allora OK, sta all'utente regolarsi di conseguenza. Se non c'è scritta allora stronzo il programmatore o chi per lui doveva scrivere il libretto di istruzioni perché a quel punto o non accetti nulla come risultato (come fa Matlab, provato!) o si dà per scontato che valga il formalismo matematico e a quel punto stai dando un risultato completamente erroneo
Re: Fidarsi dei programmatori (e degli utonti)
Dennis Nedry non vi insegna nulla? MAI fidarsi dei programmatori.
Re: Fidarsi dei programmatori (e degli utonti)
:eek: da queste parti la matematica e' un'opinione