Vai al contenuto

Inform e Glulx/Le basi di Inform/Un po' di matematica non guasta mai

Wikibooks, manuali e libri di testo liberi.
Indice del libro

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:

 a = a + 2   b = b – a   b = b – (a + 3) 
 a = 12 + 2   b = 6 - 12    b = 6 – (12 + 3) 
 a = 14   b = -6   b = –9 


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;
  1. b++ e ++b (così come b-- e --b) hanno esattamente lo stesso effetto sulla variabile b e la differenza sta solo nel valore delle espressioni.