Cos'è l'ordine delle operazioni?

L'ordine delle operazioni, chiamato anche precedenza degli operatori, è un insieme di regole che specificano quali procedure devono essere eseguite prima in un'espressione matematica.

Ad esempio, nell'espressione "cinque aggiunti a sei moltiplicati per sette", gli operatori sono addizione e moltiplicazione (cinque, sei e sette sono gli operandi). Se l'aggiunta viene eseguita per prima, il risultato è 77, ma se la moltiplicazione viene eseguita per prima, il risultato è 47. L'ordine delle operazioni stabilisce che la risposta corretta è 47 perché la moltiplicazione e la divisione devono sempre essere eseguite prima dell'aggiunta e della sottrazione.

Ordine matematico delle operazioni

  1. Parentesi, esponenti e radici; poi
  2. Moltiplicazione e divisione; e poi
  3. Addizione e sottrazione.

Suggerimento: un modo semplice per ricordare l'ordine delle operazioni è PEMDAS o "Per favore scusate la mia cara zia Sally".

Programmazione del computer

Nella programmazione per computer, la maggior parte delle lingue usa livelli di precedenza uguali a quelli della scienza e della matematica. Alcune lingue, come Smalltalk e Lisp, non hanno alcuna regola di precedenza: il programmatore deve specificare gli operatori nell'ordine corretto.

Nel linguaggio di programmazione C si applicano i seguenti livelli di precedenza degli operatori, elencati qui in ordine di precedenza decrescente:

Livello 1 (massima precedenza)
operatore:funzionamento:
++Incremento
-diminuzione
()Chiamata di funzione
[]Array sottoscrittivo
.Selezione dell'elemento per riferimento
->Selezione dell'elemento attraverso il puntatore
Livello 2
*Moltiplicazione
/Divisione
%Modulo
Livello 3
+aggiunta
-Sottrazione
Livello 4
<<Spostamento bit a bit a sinistra
>>Spostamento bit a bit a destra
Livello 5
<Meno di
<=Meno o uguale
>Più grande di
> =Maggiore o uguale
Livello 6
==Pari
! =Non uguale
Livello 7
&Bitwise AND
Livello 8
^XOR bit a bit (esclusivo o)
Livello 9
|Bitwise OR (incluso o)
Livello 10
&&AND logico
Livello 11
||OR logico
Livello 12
?:Ternario condizionale
Livello 13
=Assegnazione diretta
+ =Assegnazione per somma
- =Assegnazione per differenza
* =Assegnazione per prodotto
/ =Assegnazione per quoziente
% =Assegnazione per resto
<< =Assegnazione per spostamento a sinistra bit a bit
>> =Assegnazione per spostamento a destra bit a bit
& =Assegnazione per bit AND
^ =Assegnazione tramite XOR bit a bit
| =Assegnazione per OR bit a bit
Livello 14
,virgola

Operatore, procedura, programmazione, termini di programmazione