PROGRAMMIAMO
JS - Operatori aritmetici
Espressioni

Il significato del termine espressione in programmazione è simile a quello della matematica. Una espressione è un particolare tipo di assegnazione. In parole semplici si tratta di una formula in cui il risultato di un certo calcolo viene assegnato ad una variabile. Per esempio:

area_trapezio = (base_maggior+base_minore)*altezza/2;

Già dall'espressione precedente è possibile osservare che la notazione usata in JS è leggermente diversa da quella usata in algebra. Un'espressione in generale contiene variabili, costanti numeriche e operatori aritmetici.

Operatori aritmetici (binari)

Gli operatori aritmetici in JS sono i seguenti:

+ addizione
- sottrazione
* moltiplicazione
/ divisione
%modulo

Fra gli operatori valgono le regole di precedenza dell'algebra e precisamente: moltiplicazione, divisione e modulo hanno la precedenza su addizione e sottrazione.

Per modificare l'ordine di precedenza si usano le parentesi tonde, come nell'esempio dell'area del trapezio. Non si possono usare parentesi quadre o graffe. Se è necessario si possono usare più parentesi tonde annidate, come in questo esempio:

num = ((a+b)*5 + ris)/2;

 

Operatori unari

Oltre agli operatori precedenti (detti operatori binari in quanto si applicano sempre a una coppia di elementi) il JS prevede anche i seguenti operatori unari (cioè che si applicano a un elemento solo):

- negazione (cambia il segno)
++ incremento
-- decremento

La negazione consente di ottenere un valore negativo di un numero. Ad esempio, -x è il valore negativo del valore numerico rappresentato dalla variabile x.

Gli operatori di incremento e decremento sono applicabili soltanto a variabili e consentono di ottenere un valore rispettivamente aumentato o diminuito di uno. È molto importante la posizione dell’operatore. Infatti, se l’operatore si trova a sinistra dell’operando, l’operazione di incremento o decremento viene eseguita prima della valutazione dell’espressione (preincrement), mentre se si trova a destra l’operazione viene eseguita dopo (postincrement). Chiariamo il concetto con un esempio:

x = 3;
y = ++x;

In questo caso la variabile x viene prima incrementata di uno e quindi il suo valore (4) viene assegnato a y. In questo caso alla fine sia x che y valgono 4.

Si consideri invece questo esempio:

x = 3;
y = x++;

In questo caso l'assegnazione viene eseguita prima dell'incremento e dunque alla fine x vale 4 e y vale 3.

 

Operatori di assegnazione composti

Un caso che si incontra molto frequentemente programmando è l'assegnazione di una variabile a se stessa, dopo averne modificato il valore. Abbiamo già affrontato l'argomento parlando di variabili di accumulo nella sezione dedicata agli algoritmi. Rivediamo qui rapidamente qualche esempio di questo tipo:

somma = somma + incremento;
diff = diff - num;
prodotto = prodotto * fattore;
ris = ris/10;

Il JS (come tutti i linguaggi derivati dal C) consente di abbreviare la scrittura di queste assegnazioni nel seguente modo:

somma += incremento;               // equivale a somma = somma + incremento
diff -= num;                             // equivale a diff = diff - num
prodotto *= fattore;                 // equivale a prodotto = prodotto * fattore
ris /= 10;                                // equivale a ris = ris/10

Si tratta come si è detto di una notazione abbreviata: il suo uso, sebbene piuttosto frequente, non è in nessun caso obbligatorio né rende più veloce l'esecuzione del programma.

 

Modulo

L'operatore modulo (%) non è comunemente usato in algebra e perciò agli inizi presenta qualche difficoltà in più. Il modulo calcola il resto della divisione intera fra due numeri interi. Si consideri il seguente esempio:

int gatti:
int gatti_per_fila;
int resto;
gatti = 44:
gatti_per_fila = 6;
resto = gatti%gatti_per_fila

Al termine dell'esecuzione la variabile resto contiene il valore 2, in quanto 44 diviso 6 dà come risultato 7 col resto di 2. Si osservi che l'operatore % fornisce solo il resto della divisione e non il quoziente della divisione stessa (se si volesse anche il quoziente della divisione, bisognerebbe usare il /).

L'operatore % è molto più utile di quanto forse potrebbe sembrare. Per esempio viene usato per determinare se un numero è divisibile oppure no per un altro. Infatti se due numeri sono divisibili fra loro il resto della loro divisione è zero.

In JS l'operatore modulo può essere usato anche con numeri decimali (floating point), sebbene non sia particolarmente utile in questo caso.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it