Inform e Glulx/Le basi di Inform/Un po' di matematica non guasta mai
In Inform, ci sono quattro operatori aritmetici fondamentali:
- il segno di moltiplicazione (*) ➨
a = 10 * 5;
- il segno di divisione (/) ➨
a = 10 / 5;
- il segno di addizione (+) ➨
a = 10 + 5;
- il segno di sottrazione (–) ➨
a = 10 – 5;
Quando un’operazione aritmetica richiede l’utilizzo di più operatori aritmetici, ci troviamo di fronte a un’espressione ➨ a = (((10*5) + (10-3)) * 6) + (-9);
In questo caso bisogna fare molta attenzione all’ordine con cui gli operatori lavorano. Infatti, se scriviamo "4 + 2 * 8" e "4 * 2 + 8", avremo come risultato "20" nel primo caso e "16" nel secondo (vengono cioè eseguite, in ordine di priorità, prima le moltiplicazioni e poi le addizioni). Possiamo quindi affermare che:
- gli operatori aritmetici lavorano in ordine di priorità: in un’espressione aritmetica viene eseguita per prima la moltiplicazione e, a seguire, la divisione, l’addizione e la sottrazione. ne consegue che:
- in un’espressione aritmetica le singole operazioni devono essere sempre racchiuse da delle parentesi tonde;
- a ogni parentesi tonda aperta, ne deve sempre corrispondere una tonda chiusa.
Se vogliamo quindi sommare "4 + 2" e moltiplicare poi il risultato ottenuto per "8", avremo: "(4 + 2) * 8".
In Inform è anche possibile usare l’operatore % per ottenere il resto di una divisione. Quindi:
- "15/5" darà come risultato "3", mentre "15%5" darà come risultato "0";
- "17/5" darà come risultato "3", mentre "17%5" darà come risultato "2";
- non è invece possibile dividere per 0 (come d’altra parte la stessa matematica ci insegna) così come non è possibile usare i numeri con la virgola (ad esempio 6.34).
È anche possibile operare sui valori contenuti all’interno delle variabili. Ecco dei possibili esempi:
a = b + 20;
|
b = (c * 60) + (b / 30);
|
d = (b + 7) * (b - 8);
|
Spesso poi, il contenuto di una variabile può essere incrementato o decrementato di un certo valore, come avviene nei seguenti esempi:
a = a + 2;
|
b = b + 5;
|
b = b – a;
|
b = b – (a + 3);
|
Quindi, supponendo che a
abbia il valore "12" e che b
abbia il valore "6", avremo:
|
Se vogliamo poi incrementare o decrementare il valore contenuto in una variabile di 1, esistono delle forme abbreviate[1]:
b++
➨ viene prima assegnato il nuovo valore alla variabile e dopo viene incrementato di 1;++b
➨ viene prima incrementato di 1 il nuovo valore e dopo viene assegnato alla variabile;b--
➨ viene prima assegnato il nuovo valore alla variabile e dopo viene decrementato di 1;--b
➨ viene prima decrementato di 1 il nuovo valore e dopo viene assegnato alla variabile;
Note
[modifica | modifica sorgente]- ↑
b++
e++b
(così comeb--
e--b
) hanno esattamente lo stesso effetto sulla variabileb
e la differenza sta solo nel valore delle espressioni.