Precedente :: Successivo |
Autore |
Messaggio |
Zeus News Ospite
|
Inviato: 08 Gen 2016 10:05 Oggetto: Questione di aritmetica |
|
|
Leggi l'articolo Questione di aritmetica
Qual è il risultato corretto di 6/2(1+2) e perché?
(Fai clic sull'immagine per visualizzarla ingrandita)
Segnala un refuso
|
|
Top |
|
|
pietro1953 Semidio
Registrato: 13/09/07 07:28 Messaggi: 443 Residenza: in volo
|
Inviato: 10 Gen 2016 11:31 Oggetto: |
|
|
Per avere risultato 1 occorre una parentesi quadra in più:
6 / [ 2 * ( 1 + 2 ) ] |
|
Top |
|
|
MK66 Moderatore Sistemi Operativi
Registrato: 17/10/06 22:24 Messaggi: 8616 Residenza: dentro una cassa sotto 3 metri di terra...
|
Inviato: 10 Gen 2016 12:27 Oggetto: |
|
|
uhm... mi ricorda quando, al laboratorio del politecnico, due studenti fecero lo stesso identico calcolo su due calcolatrici identiche tra loro (entrambe Texas Instruments TI-40 Galaxy, per chi se le ricorda) e ottennero due risultati completamente diversi...
Interessante il fatto che le Casio (esistono ancora?) facciano (o facessero?) le moltiplicazioni senza inserire l'operatore nella formula...
In questo caso, le regole che avevo studiato in quel remoto passato in cui frequentavo le elementari dicono che il risultato corretto è 9: prima le parentesi poi, essendo moltiplicazione e divisione operazioni con la stessa priorità, si procede da sinistra a destra, quindi: (1+2) = 3; 6/2*3 = 9 |
|
Top |
|
|
Gladiator Dio maturo
Registrato: 05/12/10 20:32 Messaggi: 12850 Residenza: Purtroppo o per fortuna Italia
|
Inviato: 10 Gen 2016 20:17 Oggetto: |
|
|
Anch'io ricordo e applico la stessa regola di MK66 per cui anche per me il risultato è 9. |
|
Top |
|
|
{utente anonimo} Ospite
|
Inviato: 11 Gen 2016 13:03 Oggetto: |
|
|
Quindi secondo te 2x/2x=x^2 |
|
Top |
|
|
Benny Moderatore Hardware e Networking
Registrato: 28/01/06 14:35 Messaggi: 6382 Residenza: Non troppo vicino, mai troppo lontano
|
Inviato: 11 Gen 2016 14:29 Oggetto: |
|
|
In questo caso la variabile x usualmente si considera legata alla costante che la precede, quindi potrebbe essere giusto 2x/2x=1, anche se, tieni conto, che nelle funzioni con variabili il simbolo "/" per indicare la frazione non viene utilizzato se non con le opportune parentesi (a meno della generica f(x)/g(x)).
Per operazioni semplici come quella dell'esempio, tutte le moltiplicazioni e divisioni vanno svolte dando precedenza da sinstra a destra (svolgendo prima le addizioni o sottrazioni tra parentesi), quindi il ragionamento di MK66 è giusto. |
|
Top |
|
|
Ripper_92 Eroe in grazia degli dei
Registrato: 11/09/09 10:03 Messaggi: 193
|
Inviato: 17 Gen 2016 23:39 Oggetto: |
|
|
secondo me non è tanto la curiosità sul fatto che 2 calcolatrici (cioè uno stupido esecutore) facciano 2 risultati diversi, ma quanto che il sondaggio sta a 121 per l'uno e 128 per il nove. In altre parole metà delle persone che ha risposto non sa fare i conti (che comunque fa 9 ).
Giusto per spiegare cosa fanno quelle due calcolatrici in quanto posseggo la sorella minore di quella di sinistra: se io scrivo 6/2(1+2) è uguale a 1 ma se io usassi la sintassi corretta, 6/2*(1+2) il risultato viene 9. Credo che la spiegazione del motivo per il quale faccia la prima in quel modo sia perché nella calcolatrice posso fare somme con variabili e con le lettere dei prefissi (Mega, Giga, Tera, kilo, milli, micro, nano, pico), ed evidentemente hanno dato l'implicità come priorità a qualsiasi simbolo dopo un numero diverso da un operatore. Quella di destra mi pare sia della generazione successiva |
|
Top |
|
|
{Carlo} Ospite
|
Inviato: 18 Gen 2016 09:24 Oggetto: |
|
|
Magari le persone che hanno risposto 1 pensano che i conti non li sa fare l'altra metà, e che il risultato fa comunque 1.
Il fatto che più di una calcolatrice dia 1 come risultato (compresa la tua) sta a significare che gli ingegneri che hanno programmato la priorità siano degli incompetenti? O che la questione sia quanto meno controversa e che non si possa liquidare con "fa comunque 9", dipende dalle convenzioni utilizzate. L'utente anonimo qui sotto non ha tutti i torti e non convince la spiegazione di Benny "la variabile x usualmente si considera legata alla costante che la precede": perché solo la variabile x? |
|
Top |
|
|
dacav Mortale devoto
Registrato: 09/09/10 09:39 Messaggi: 7
|
Inviato: 18 Gen 2016 09:50 Oggetto: |
|
|
Se fai il conto con un qualsiasi linguaggio di programmazione ottieni 9. O almeno, con tutti i linguaggi che conosco, non so se ci sono eccezioni. Le operazioni di moltiplicazione e divisione hanno di solito la stessa priorità sul parsing, e associano a sinistra.
Per esempio, in perl:
left * / % x
link |
|
Top |
|
|
Ripper_92 Eroe in grazia degli dei
Registrato: 11/09/09 10:03 Messaggi: 193
|
Inviato: 18 Gen 2016 10:18 Oggetto: |
|
|
{Carlo} ha scritto: | Magari le persone che hanno risposto 1 pensano che i conti non li sa fare l'altra metà, e che il risultato fa comunque 1.
Il fatto che più di una calcolatrice dia 1 come risultato (compresa la tua) sta a significare che gli ingegneri che hanno programmato la priorità siano degli incompetenti? O che la questione sia quanto meno controversa e che non si possa liquidare con "fa comunque 9", dipende dalle convenzioni utilizzate. L'utente anonimo qui sotto non ha tutti i torti e non convince la spiegazione di Benny "la variabile x usualmente si considera legata alla costante che la precede": perché solo la variabile x? |
incompetenti? no. un bug? sì. se il prodotto è sottinteso fa 1, se viene esplicitato viene 9, se fosse una "convenzione" come dici tu dovrebbe fare sempre lo stesso risultato.
in aggiunta il libretto delle istruzioni (che si può comodamente trovare sul sito canon), alla voce dell'ordine delle operazioni (pag 35) non riporta per nulla questa priorità che dovrebbe essere veramente importante dato che stravolge un risultato (link) |
|
Top |
|
|
Benny Moderatore Hardware e Networking
Registrato: 28/01/06 14:35 Messaggi: 6382 Residenza: Non troppo vicino, mai troppo lontano
|
Inviato: 18 Gen 2016 10:57 Oggetto: |
|
|
{Carlo} ha scritto: | L'utente anonimo qui sotto non ha tutti i torti e non convince la spiegazione di Benny "la variabile x usualmente si considera legata alla costante che la precede": perché solo la variabile x? |
Perché se scrivi "2x" la nomenclatura è "due volte x", cioè il due moltiplica la x.
La regola sulla precedenza degli operatori "*" e ":" esiste proprio per evitare queste situazioni.
Il fatto che disattendere questa regola sia divenuto di uso comune (tanto da commettere errori anche negli algoritmi dei calcolatori), non vuol dire che la regola non sia valida e non debba essere rispetata. |
|
Top |
|
|
zero Dio maturo
Registrato: 22/03/08 17:34 Messaggi: 1951
|
Inviato: 24 Mag 2016 15:47 Oggetto: |
|
|
Fa 9 (il form per votare non funziona).
Comunque molte calcolatrici fanno anche altri tipi di errori.
Un test che faccio spesso e' questo:
2/3=
(risultato 0.66666666666)
*3=
(dovrebbe dare 2, ma molte danno 1.99999999 perché fanno pasticci con gli arrotondamenti) |
|
Top |
|
|
{Sergio B.} Ospite
|
Inviato: 25 Mag 2016 08:00 Oggetto: |
|
|
Anche scrivendolo in RPN (Notazione Polacca Inversa, vedi Wikipedia) viene 9. D'altro canto scrivendolo come si scrivevano le espressioni alle elementari (segno di frazione invece di /) il risultato è di nuovo, e correttamente, 9. |
|
Top |
|
|
jumpjack Semidio
Registrato: 23/03/11 08:20 Messaggi: 337
|
Inviato: 25 Mag 2016 08:43 Oggetto: |
|
|
A me hanno insegnato che "*" ha la precedenza su "/", quindi fa 1 !
Però ricordo che avevo notato "pasticci" sulla mia casio FX5500 all'università, quindi in caso di calcoli complessi mettevo decine di parentesi, giusto per essere sicuri...
La matematica non può diventare un'opinione! |
|
Top |
|
|
jumpjack Semidio
Registrato: 23/03/11 08:20 Messaggi: 337
|
Inviato: 25 Mag 2016 08:47 Oggetto: |
|
|
zero ha scritto: | Fa 9 (il form per votare non funziona).
Comunque molte calcolatrici fanno anche altri tipi di errori.
Un test che faccio spesso e' questo:
2/3=
(risultato 0.66666666666)
*3=
(dovrebbe dare 2, ma molte danno 1.99999999 perché fanno pasticci con gli arrotondamenti) |
Questo è un problema differente: i computer non possono rappresentare e calcolare tutti numeri reali (che sono infiniti), ma solo un loro sottoinsieme finito.
E quindi in certi casi "inventano" i risultati.
E' lo stesso principio per cui non esistono vere linee curve o oblique sui monitor, ma solo tante "scalette" di pixel. Le uniche linee oblique esatte sono quelle a 45°, tutte le altre sono solo approssimazioni.
Ricordo che il mio commodore 64 non sapeva calcolare la radice quadrata di 49, mi pare che desse 6.999999. |
|
Top |
|
|
RECAST Eroe in grazia degli dei
Registrato: 15/11/14 21:15 Messaggi: 83
|
Inviato: 25 Mag 2016 09:08 Oggetto: |
|
|
jumpjack ha scritto: | A me hanno insegnato che "*" ha la precedenza su "/", quindi fa 1 !
Però ricordo che avevo notato "pasticci" sulla mia casio FX5500 all'università, quindi in caso di calcoli complessi mettevo decine di parentesi, giusto per essere sicuri...
La matematica non può diventare un'opinione! |
Ho fatto le elementari più di 50 anni fa, per cui potrei aver dimenticato qualche cosa. La regola che conosco io è:
1. le operazioni tra parentesi, con la precedenza alle tonde, poi le quadre, poi le graffe
2.Potenze
3. Moltiplicazioni e divisioni, con la precedenza da sx a dx (in questo caso a sx c'è una divisione e si esegue per prima)
4. addizioni e sottrazioni, sempre da sx a dx.
Il risultato di questa espressione è 9.
imho |
|
Top |
|
|
{enrico} Ospite
|
Inviato: 25 Mag 2016 10:14 Oggetto: |
|
|
E' ovvio che il gioco dimostra che una domanda
ambigua non può avere una risposta esatta.
Se chi ha scritto la formula aveva in mente:
(6/2)*(1+2), la risposta è 9
se invece intendeva:
6/(2*(1+2)), la risposta è 1
I risultati del test dimostrano l’inconsistenza
del modo in cui è stato formulato il quesito |
|
Top |
|
|
{Laura O.} Ospite
|
Inviato: 25 Mag 2016 10:49 Oggetto: |
|
|
Il quesito così posto è fuorviante: il segno / di frazione ha un significato completamente diverso dal segno : di divisione.
L'operazione visualizzata sulle calcolatrici usa la divisione: dunque, avendo la stessa priorità della moltiplicazione *, va eseguita da sx a dx ed il risultato è 9.
Però, se il segno è /, frazione, questa regola non vale più: vanno eseguite PRIMA tutte le operazioni al denominatore e POI va calcolata la frazione. Dunque il risultato è 1.
Chiaro ! |
|
Top |
|
|
hereiam20 Semidio
Registrato: 27/04/09 00:30 Messaggi: 223 Residenza: la domanda è seria?!
|
Inviato: 25 Mag 2016 11:15 Oggetto: |
|
|
Se quell'operazione fosse stata scritta su di un pezzo di carta, il problema non si sarebbe neanche posto e la soluzione "1" non avrebbe consentito di superare l'esame di 5a elementare. Quindi la domanda è: sono i calcolatori che debbono servire noi, o siamo noi che dobbiamo essere loro servitori? |
|
Top |
|
|
{quince} Ospite
|
Inviato: 25 Mag 2016 14:03 Oggetto: |
|
|
Ovviamente 9.
Prima si elabora l'addizione tra parentesi e si arriva a 6/2*3.
Da questo punto si segue l'ordine da sinistra verso destra.
6/2=3 ----> 3*3=9.
Moltiplicazioni e divisioni hanno la precedenza su addizioni e divisioni se ce ne fossero, ma non è questo il caso. |
|
Top |
|
|
|