Inform e Glulx/Le basi di Inform/Un po' di matematica non guasta mai: differenze tra le versioni
m +indice |
m Bot: sostituzione tag obsoleti |
||
Riga 1: | Riga 1: | ||
{{Inform e Glulx}} |
{{Inform e Glulx}} |
||
In Inform, ci sono quattro [[w:Operatore (informatica)|operatori aritmetici]] fondamentali: |
In Inform, ci sono quattro [[w:Operatore (informatica)|operatori aritmetici]] fondamentali: |
||
* il segno di moltiplicazione (*) ➨ < |
* il segno di moltiplicazione (*) ➨ <code>a = 10 * 5;</code> |
||
* il segno di divisione (/) ➨ < |
* il segno di divisione (/) ➨ <code>a = 10 / 5;</code> |
||
* il segno di addizione (+) ➨ < |
* il segno di addizione (+) ➨ <code>a = 10 + 5;</code> |
||
* il segno di sottrazione (–) ➨ < |
* il segno di sottrazione (–) ➨ <code>a = 10 – 5;</code> |
||
Quando un’operazione aritmetica richiede l’utilizzo di più operatori aritmetici, ci troviamo di fronte a un’'''espressione''' ➨ < |
Quando un’operazione aritmetica richiede l’utilizzo di più operatori aritmetici, ci troviamo di fronte a un’'''espressione''' ➨ <code>a = (((10*5) + (10-3)) * 6) + (-9);</code><br> |
||
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: |
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''': |
* '''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''': |
||
Riga 23: | Riga 23: | ||
{| align=center width=50% border=0 |
{| align=center width=50% border=0 |
||
| align=center|< |
| align=center|<code>a = b + 20;</code> |
||
| align=center|< |
| align=center|<code>b = (c * 60) + (b / 30);</code> |
||
| align=center|< |
| align=center|<code>d = (b + 7) * (b - 8);</code> |
||
|} |
|} |
||
Riga 31: | Riga 31: | ||
{| align=center width=50% border=0 |
{| align=center width=50% border=0 |
||
| align=center|< |
| align=center|<code>a = a + 2;</code> |
||
| align=center|< |
| align=center|<code>b = b + 5;</code> |
||
| align=center|< |
| align=center|<code>b = b – a;</code> |
||
| align=center|< |
| align=center|<code>b = b – (a + 3);</code> |
||
|} |
|} |
||
Quindi, supponendo che < |
Quindi, supponendo che <code>a</code> abbia il valore "12" e che <code>b</code> abbia il valore "6", avremo: |
||
{| style="width:100%; background:trasparent" |
{| style="width:100%; background:trasparent" |
||
| align="center" | |
| align="center" | |
||
{| class="wikitable" |
{| class="wikitable" |
||
| align=center| < |
| align=center| <code>a = a + 2</code> |
||
| align=center| < |
| align=center| <code>b = b – a</code> |
||
| align=center| < |
| align=center| <code>b = b – (a + 3)</code> |
||
|- |
|- |
||
| align=center| < |
| align=center| <code>a = 12 + 2</code> |
||
| align=center| < |
| align=center| <code>b = 6 - 12</code> |
||
| align=center| < |
| align=center| <code>b = 6 – (12 + 3)</code> |
||
|- |
|- |
||
| align=center| < |
| align=center| <code>a = 14</code> |
||
| align=center| < |
| align=center| <code>b = -6</code> |
||
| align=center| < |
| align=center| <code>b = –9</code> |
||
|} |
|} |
||
|} |
|} |
||
Se vogliamo poi incrementare o decrementare il valore contenuto in una variabile di 1, esistono delle forme abbreviate<ref>< |
Se vogliamo poi incrementare o decrementare il valore contenuto in una variabile di 1, esistono delle forme abbreviate<ref><code>b++</code> e <code>++b</code> (così come <code>b--</code> e <code>--b</code>) hanno esattamente lo stesso effetto sulla variabile <code>b</code> e la differenza sta solo nel valore delle espressioni.</ref>: |
||
* < |
* <code>b++</code> ➨ viene '''prima''' assegnato il nuovo valore alla variabile e '''dopo''' viene incrementato di 1; |
||
* < |
* <code>++b</code> ➨ viene '''prima''' incrementato di 1 il nuovo valore e '''dopo''' viene assegnato alla variabile; |
||
* < |
* <code>b--</code> ➨ viene '''prima''' assegnato il nuovo valore alla variabile e '''dopo''' viene decrementato di 1; |
||
* < |
* <code>--b</code> ➨ viene '''prima''' decrementato di 1 il nuovo valore e '''dopo''' viene assegnato alla variabile; |
||
== Note == |
== Note == |
Versione attuale delle 20:03, 3 ago 2018
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]
- ↑
b++
e++b
(così comeb--
e--b
) hanno esattamente lo stesso effetto sulla variabileb
e la differenza sta solo nel valore delle espressioni.