Inform e Glulx/Le basi di Inform/Un po' di matematica non guasta mai: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 41: | Riga 41: | ||
Quindi, supponendo che <tt>a</tt> abbia il valore "12" e che <tt>b</tt> abbia il valore "6", avremo: |
Quindi, supponendo che <tt>a</tt> abbia il valore "12" e che <tt>b</tt> abbia il valore "6", avremo: |
||
{| style="width: |
{| style="width:70%; background:trasparent" |
||
| align="center" | |
| align="center" | |
||
{| class="wikitable" |
{| class="wikitable" |
Versione delle 17:16, 26 dic 2009
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
- ↑ 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.