Sull’ordine delle operazioni matematiche

by Rubens on

Qualche giorno fa mi sono imbattuto in una foto su Facebook, sulla pagina Foto che ti daranno fastidio, che ritrae due calcolatrici (quella di Android e una Casio scientifica) che, sottoposte a due espressioni matematiche identiche, danno risultati diversi.

Gli utenti si sono scatenati, e il post ha raggiunto in breve tempo un numero abbastanza alto di commenti.

Premettiamo che il risultato corretto dovrebbe essere 9, quindi a questo giro potrebbe avere più o meno ragione Android…

PEMDAS

PEMDAS sta per Parenthesis, Exponents, Multiplication, Division, Addition, Subtraction, ed è una regola utilizzata per decidere l’ordine delle operazioni da eseguire in una espressione: prima le operazioni fra parentesi (dalle più interne alle più esterne), in seguito gli elevamenti a potenza, e poi divisioni e moltiplicazioni, e addizioni e sottrazioni, in quest’ordine.

Questo tipo di regole si rende necessaria per poter scrivere le operazioni senza utilizzare una quantità esorbitante di parentesi, che renderebbero illeggibile l’espressione.

Regola fondamentale di PEMDAS è che la presenza contemporanea di addizioni e sottrazioni (o moltiplicazioni e divisioni), in assenza di parentesi che possano chiarirne il significato, comporta che queste operazioni vengano eseguite in ordine di lettura, da sinistra verso destra.

Parentesi

Le parentesi sono uno strumento molto potente che, da sole, permetterebbero di scrivere qualsiasi espressione senza ambiguità. Converrete, però, che un’espressione come

((1 + 2) + (3 + ((4 * 5) - (18 \div 3))))

sarebbe più semplice scritta come

1 + 2 + 3 + 4 * 5 - 18 \div 3

e il risultato è sempre uguale a 20, se valutiamo la seconda espressione secondo PEMDAS.

Standard, non definizione

PEMDAS è ciò che, in linguaggio giuridico, chiameremmo standard de facto, termine che si contrappone allo standard de iure e che indica una convenzione che si è affermata in seguito al suo largo utilizzo, e non perché deciso da qualcuno a tavolino. L’errore più comune è pensare che PEMDAS sia una regola intrinseca della matematica, quando invece il suo utilizzo non è altro che una consuetudine, molto diffusa e conosciuta (e usata, talvolta, inconsapevolmente) anche per il fatto che questa regola viene insegnata a scuola, e nei testi didatici.

Altri esempi di strumenti che utilizzano PEMDAS sono Excel, i linguaggi di programmazione C, C#, Java e Javascript, la calcolatrice di Android (come visto nella figura incriminata all’inizio dell’articolo), WolframAlpha, Google, Cortana e la calcolatrice di Windows nelle modalità Scientifica e Programmatore.

Un esempio che avvalora ciò che ho scritto prima sul fatto che PEMDAS non sia una regola imprescindibile della matematica, è che la calcolatrice di Windows in modalità Standard non la segue, valutando semplicmente da sinistra a destra ogni operzione inserita. L’espressione 2 + 1 * 3 darà quindi come risultato 5 in modalità Scientifica, e 9 in modalità Standard.

È davvero necessario usare PEMDAS?

No, non lo è. In realtà nella matematica di livello medio-alto (ma neanche tanto) è praticamente impossibile imbattersi in espressioni in cui è necessario ricorrere a PEMDAS perché ambigue. In caso di ambiguità, si ricorre alle parentesi, e le espressioni dubbie restano quindi una prerogativa di post provocanti di internet, destinati per qualche motivo a diventare virali.

Tornando al nocciolo della questione, all’inizio del post ho scritto che 9 dovrebbe essere la soluzione dell’espressione 6 \div 2 (2+1). Il punto è che allo status quo, PEMDAS è la regola più utilizzata da gran parte delle persone, è quella che ci viene insegnata a scuola fin da piccoli, è quella utilizzata dalla maggior parte degli strumenti di calcolo, ed è quindi la più adatta a risolvere un dubbio come quello instillato dall’immagine. L’importante è che tutti siano d’accordo. Ma siccome la matematica non è bella soltanto per la teoria, ma anche per le sue applicazioni pratiche, la cosa ancora più importante è cercare di capire cosa intendeva originariamente l’autore, a patto che l’espressione servisse effettivamente a qualcosa di diverso dal generare confusione.

Convenzioni di notazione

All’inizio di molti testi matematici sono descritte tutta una serie di convenzioni sulla notazione utilizzata dall’autore del testo, che permette di sveltire la scrittura e la lettura di espressioni più o meno complesse. In molti testi, ad esempio, è possibile leggere – quando non si crea ambiguità – funzioni goniometriche prive delle parentesi intorno al proprio parametro, in quanto ne appesantirebbero la notazione. La funzione

sin a

è quindi equivalente a

sin(a)

che sarebbe il modo giusto di scriverla.

Il primo modo è comunque considerato corretto all’interno del testo, in quanto l’autore ne ha chiarito il significato all’inizio.

Torniamo nuovamente al nostro problema. Storicamente, nelle pubblicazioni matematiche, il simbolo di diviso \div veniva utilizzato nelle espressioni in modo diverso da come lo utilizziamo oggi con PEMDAS. Indicava, infatti, che tutto ciò che lo seguiva fosse interpretato come denominatore della frazione il cui numeratore era rappresentato da ciò che lo precedeva.

Secondo questa prassi, l’espressione 6 \div 2 (2+1) non sarebbe interpretata come \frac{6}{2}(2+1) = 9 ma, proprio come riportato dalla calcolatrice CASIO della figura, sarebbe \frac{6}{2(2+1)} = 1.

Conclusioni

Sebbene non esista una regola propria della matematica che possa aiutarci a decidere quale risultato sia assolutamente corretto tra i due riportati dalle calcolatrici, dal mio punto di vista è bene tenere presente che PEMDAS è utilizzato praticamente dappertutto, è quindi a mali estremi, è il rimedio che permette di mettere d’accordo più persone, probabilmente.

È anche bene ricordare che, quando possibile, è meglio evitare notazioni che possano creare dubbi sulla valutazione delle espressioni, in quanto l’utilizzo delle parentesi è probabilmente l’unico metodo universalmente accettato per non creare ambiguità di sorta.

 

FONTI

1. Un articolo basato su questa stessa espressione, pubblicato
sul blog MindYourDecisions.com, contiene anche un link a un
articolo del 1917 sull’utilizzo del simbolo “diviso”

Written by: Rubens

Attualmente vivo, studio e lavoro a Bologna, dove frequento la facoltà di Ingegneria Informatica. Sono appassionato di tecnologia, videomaking e musica.

6 Comments

Alessandra

Ciao, ho trovato questo tuo post cercando proprio spiegazioni su questo PEMDAS/BOMDAS (USA/UK). Non che non avessi capito il significato e il senso dell’acronimo, né che non ricordassi l’ordine delle operazioni. Ma semplicemente mi hanno spiazzata tutti questi quesiti “virali” che sistematicamente sbaglio perché spontaneamente li risolvo come imparato a scuola. Compreso l’ultimo pubblicato sulla pagina Facebook di Khan Academy (quindi una pagina di diffusione di cultura, soprattutto in materie scolastiche).
Dunque, la premessa è che io sono del ’74, quindi puoi immaginarti in che anni abbia frequentato le medie e le superiori. Non ho figli, quindi non sono a conoscenza di come venga insegnata la matematica ultimamente, ma ho studiato allo scientifico e avevo anche iniziato la facoltà di fisica! Non sono un matematico, non ho proseguito gli studi scientifici, ma direi che non fossi messa così male da non riuscire a risolvere le comuni espressioni (anzi, le sapevo fare proprio bene e i miei limiti si sono manifestati solo con problemi matematici ben più complessi!).
Il quesito sulla pagina di Khan Academy è identico a quello mostrato da te all’inizio:
20 diviso 2(5+5)
(non ho il simbolo di divisione sulla tastiera e non voglio appositamente usare quello di frazione)
Ho capito perché tanto Khan quanto metà dei lettori insistono su 100 -facendo sembrare ignoranti quelli che rispondono 1-, però per me la logica continua ad essere che il 2 innanzitutto moltiplica il valore nella parentesi. E difatti alcuni hanno suggerito se ho 20 mele e le divido tra 2 gruppi di 10 persone ciascuno, ogni persona riceverà 1 mela, non certo 100! Per quale motivo è stato deciso di cambiare la notazione? E quando? Se trovassi la mia vecchia Casio scientifica, sicuramente mi darebbe ragione ma Google, Windows e Android no!
Visto che ho capito di dovermi adattare alla nuova notazione, potresti farmi capire quale esempio pratico avvalora il risultato 100, visto che quello delle 20 mele e dei due gruppi di persone lo smentisce?

Reply
Rubens

Ciao Alessandra. Innanzitutto grazie per la domanda e per aver letto il mio articolo, sono molto contento!

Allora, è passato un po’ di tempo da quando l’ho scritto, ma cerco di fare mente locale e risponderti.

Come ho scritto nell’articolo, rimango dell’idea che un’espressione del genere sia mal posta, e che in ambito strettamente matematico abbia ben poca utilità, data la sua ambiguità. Un matematico, ma anche qualsiasi altra persona che abbia la necessità di esprimere una serie di operazioni con un’espressione, non scriverebbe mai una cosa del genere se non di proposito, e troverebbe probabilmente un modo più chiaro ed elegante per farlo.

Siccome, però, esiste chi scrive intenzionalmente le espressioni in questo modo, è utile mettersi d’accordo e trovare un modo comune per risolvere in maniera univoca l’espressione.

Secondo PEMDAS (che è lo standard per l’ordine delle operazioni) la soluzione è 100. Non c’è un ragionamento pratico per spiegare questo risultato. Semplicemente arrivati al punto di avere 20/2(10), che si può scrivere anche come 20/2*10, ci troviamo di fronte a una divisione e a una moltiplicazione, che secondo la regola hanno la stessa importanza e vanno eseguite in ordine, da sinistra verso destra (quindi 20 diviso 2 è uguale a 10; poi 10 per 10 è uguale a 100).

Purtroppo al momento non ho la possibilità di fare ricerche più approfondite sulla ragione storica di questa scelta, ma in questo articolo dal titolo L’origine dell’ordine delle operazioni, postato sul blog della Microsoft da un dipendente dell’azienda, l’autore sostiene che a partire dal 1800 si sia cominciato a utilizzare l’espressione Ordine delle operazioni nei libri di testo, ma che i matematici non ne facevano uso perché erano più o meno concordi nell’ordine da utilizzare senza la necessità di mettere per iscritto uno standard ufficiale.
A partire dal 1920 si è cominciato a discutere sul fatto che le moltiplicazioni dovessero o meno avere precedenza sulle divisioni. Sebbene non sia stata mai presa ufficialmente una decisione, e che alcuni libri adottino tuttora un sistema diverso, ad oggi la soluzione più comune è quella di dare a moltiplicazioni e divisioni (e ad addizioni e sottrazioni) la stessa importanza, eseguendole quindi da sinistra verso destra. La ragione pratica sembra essere quella di poter alleggerire la notazione rendendola più semplice.

Per tornare al discorso logico, l’esempio delle mele e delle persone è piuttosto interessante, ma non può essere in alcun modo considerato come una dimostrazione del fatto che la moltiplicazione si debba eseguire prima della divisione; è una logica formulata a posteriori appositamente per giustificare la scelta di dare la precedenza alla moltiplicazione, ma che contrasta con PEMDAS.
A questo punto direi che l’ordine da utilizzare è una questione di scelte, e l’esempio delle mele non serve né a dimostrare né a smentire le regole definite da PEMDAS, in quanto adottando quest’ultimo il ragionamento delle mele sarebbe semplicemente sbagliato, mentre rendendo esplicita l’intenzione di eseguire prima le moltiplicazioni, sarebbe corretto. È una questione puramente di notazione e convenzione, come ho scritto nell’articolo ha ben poco a che fare con la teoria matematica.
Ma se mi chiedi di fornirti un esempio analogo a supporto del risultato 100, direi che possiamo vederlo da questo punto di vista: “Ogni cesto di frutta contiene 5 mele e 5 arance, quindi ogni cesto contiene 10 frutti (5+5). Ho 20 cesti. Li divido equamente tra 2 persone. Ogni persona ha 10 cesti (20/2). Quanti frutti ha ogni persona? La risposta è 100, perché ogni persona ha 10 cesti, e in ogni cesto ci sono 10 frutti (10*10 = 100)”. Anche questo ragionamento lascia il tempo che trova, nel senso che non può essere considerato una dimostrazione intesa in termini matematici. Cioè, non è che siccome il ragionamento è giusto (o meglio, porta a un risultato coerente) allora PEMDAS è giusto. Eventualmente potremmo dire che adottando PEMDAS come ordine delle operazioni, questo ragionamento sarebbe corretto, altrimenti no.

Per concludere, non possiamo dire in modo assoluto che il risultato corretto sia 1 piuttosto che 100. Possiamo dire, però, che per una convenzione adottata praticamente in tutto il mondo, il risultato è 100.

Per evitare questi problemi, comunque, sarebbe opportuno scrivere in modo chiaro le operazioni, perché espressioni del genere creano certamente confusione in ambito matematico, tanto quanto delle frasi formate in modo ambiguo creerebbero confusione in ambito linguistico. Ad esempio, la frase “posso sollevare un uomo con una mano sola” potrebbe significare sia che si può sollevare un uomo con l’uso della propria mano, sia che si può sollevare un uomo che possiede una sola mano 😉

Reply
vinicio

L’espressione 20/2*10 non possiede ambiguità. Scrivendola in termini frazionari, cosa che qui è impossibile, si capisce subito che si può svolgere prima la divisione e poi la moltiplicazione: cioè 20/2=10 e poi 10*10=100; oppure prima moltiplicare 20*10=200 e poi dividere 200/2=100. Infatti divisione e moltiplicazione hanno la stessa priorità. Questo si traduce nella famosa regola dell’ordine delle operazioni! Non c’è nulla di convenzionale, ne’ tanto meno da ricercare nel 1800! Ogni libro delle scuole superiori spiega che funziona così. L’implementazione su alcuni calcolatori è semplicemente errata!

Rubens

Non è corretto dire che l’implementazione su alcuni calcolatori è errata, per diversi motivi. Parliamo intanto non di calcolatori in generale, ma di applicazioni. Il fatto stesso che la calcolatrice di Windows si comporti in modo differente a seconda della modalità selezionata, lascia intendere chiaramente che questa sia una scelta intenzionale di progetto, e non un errore. Che poi la scelta sia giusta o meno dal punto di vista progettistico, quello è un altro discorso.

Parliamo di linguaggi di programmazione. La maggior parte segue PEMDAS, alcuni non lo fanno. Esempi sono LISP (1958), APL (1962), Smalltalk (1972), Occam (1983). Come puoi vedere sono linguaggi anche abbastanza vecchi, ma in tutto questo tempo (60 anni per LISP!) non sono mai stati corretti, perché fondamentalmente non c’era niente da correggere. Non è un errore, è una scelta voluta e strettamente legata al funzionamento del linguaggio stesso. Alcuni di questi linguaggi non considerano i simboli +, -, * e / come operatori, ma come funzioni, pertanto non è possibile assegnargli un “ordine delle operazioni”.

APL elabora le espressioni da destra verso sinistra, e senza ordine. Quindi l’espressione 2 + 3 * 5 sarebbe uguale a 17, così come lo sarebbe secondo PEMDAS, ma basta invertirla in 5 * 3 + 2, che ci accorgiamo che il risultato diventa 25, cioè (2 + 3) * 5.

E tutto ciò è spiegato nella documentazione di ogni linguaggio di programmazione. Così come i libri delle scuole superiori (ma direi anche elementari e medie) spiegano che in matematica funziona così. Ma essendo libri che hanno come scopo insegnare le basi della matematica, sarebbe inutile dilungarsi sul perché si usi quest’ordine in particolare, e non specificano la convenzionalità della scelta. I libri dell’università, invece, solitamente non parlano dell’ordine delle operazioni perché la notazione utilizzata non necessità di alcun accorgimento, dato che le parentesi esplicitano il significato.

La risposta non la trovi nei libri delle superiori. Ed è quella che ho già spiegato nell’articolo: PEMDAS non è una regola intrinseca della matematica, ma solamente un insieme di regole convenzionalmente adottate per ridurre l’ambiguità della notazione che utilizziamo. Ambiguità che non esisterebbe, se usassimo solo le parentesi.

L’esempio che hai riportato è comunque ambiguo. Hai specificato che l’avresti voluta scrivere in termini frazionari, ma non hai potuto perché non disponi dei caratteri per farlo (in realtà ti faccio notare che è possibile scrivere in html 202*10). È comunque comprensibile nella maggior parte dei casi, perché in assenza di parentesi diamo per scontato che si applichi PEMDAS, e quindi l’avrei risolta esattamente come hai fatto tu. Tuttavia hai usato un esempio fin troppo semplice, dato che è presente un solo numero al denominatore. Se avessi voluto scrivere un’espressione con più operazioni al denominatore, avresti dovuto utilizzare necessariamente le parentesi; un esempio è 20/(2*10). Per comodità, come ho già scritto nell’articolo, alcuni testi utilizzano la convenzione “÷ = frazione”, con la quale è possibile scrivere la frazione 20/(2*10) come 20÷2*10, rendendo più snella la notazione.

Ma altri testi, o alcune calcolatrici, scelgono di utilizzare semplicemente il simbolo / come linea frazionaria. In questi casi l’espressione 20/2*10 significa 20/(2*10).

Ti faccio notare, infine, che il tuo commento non dimostra che PEMDAS sia una regola prettamente matematica.

“Questo si traduce nella famosa regola dell’ordine delle operazioni!”. Qui è presente una fallacia logica. Sembrerebbe che il fatto che tu abbia risolto l’espressione secondo il tuo metodo (applicando PEMDAS, in questo caso), dimostri che PEMDAS sia necessario per risolvere questa frazione. Non è corretto, e hai invertito la causa con l’effetto. PEMDAS è nato per poter snellire la notazione, e quindi tu hai risolto la tua espressione in questo modo.

Non mi dilungo in altri esempi, perché fondamentalmente non servono ad avvalorare la tesi. PEMDAS non è un’entità matematica, non può essere dimostrata matematicamente, ed è – per definizione – una convenzione. E l’unico modo per dimostrartelo, è citare delle fonti storiche dove puoi andare a rintracciare le origini di queste regole. Il resto l’ho già scritto nell’articolo.

daniele.carlini

In modalità standard la calcolatrice esegue solo un calcolo alla volta, quindi è normale che venga un risultato sequenziale, ogni volta che viene inserito un operatore e un numero appare il parziale.

Reply
S

A proposito dell’interpretazione del simbolo ÷.
Se fosse quello a “mandare in crisi” la CASIO, allora dovrebbe risultare 1 anche l’espressione “6÷2x(1+2)”. Invece non è cosí.
Col simbolo della moltiplicazione esplicitato, il risultato è 9.
E siccome immagino siamo tutti d’accordo sul fatto che non ci sia alcuna differenza tra “6÷2(1+2)” e “6÷2x(1+2)”, il problema probabilmente sta in come la casio gestisce la priorità delle operazioni quando il simbolo x non è esplicitato.

Reply

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *