Inform e Glulx/Le basi di Inform/Un po' di matematica non guasta mai: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m +indice
Gian BOT (discussione | contributi)
m Bot: sostituzione tag obsoleti
 
Riga 1:
{{Inform e Glulx}}
In Inform, ci sono quattro [[w:Operatore (informatica)|operatori aritmetici]] fondamentali:
* il segno di moltiplicazione (*) &nbsp;&#x27A8;&nbsp; <ttcode>a = 10 * 5;</ttcode>
* il segno di divisione (/) &nbsp;&#x27A8;&nbsp; <ttcode>a = 10 / 5;</ttcode>
* il segno di addizione (+) &nbsp;&#x27A8;&nbsp; <ttcode>a = 10 + 5;</ttcode>
* il segno di sottrazione (–) &nbsp;&#x27A8;&nbsp; <ttcode>a = 10 – 5;</ttcode>
 
Quando un’operazione aritmetica richiede l’utilizzo di più operatori aritmetici, ci troviamo di fronte a un’'''espressione''' &nbsp;&#x27A8;&nbsp; <ttcode>a = (((10*5) + (10-3)) * 6) + (-9);</ttcode><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:
* '''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:
 
{| align=center width=50% border=0
| align=center|<ttcode>a = b + 20;</ttcode>
| align=center|<ttcode>b = (c * 60) + (b / 30);</ttcode>
| align=center|<ttcode>d = (b + 7) * (b - 8);</ttcode>
|}
 
Riga 31:
 
{| align=center width=50% border=0
| align=center|<ttcode>a = a + 2;</ttcode>
| align=center|<ttcode>b = b + 5;</ttcode>
| align=center|<ttcode>b = b – a;</ttcode>
| align=center|<ttcode>b = b – (a + 3);</ttcode>
|}
 
Quindi, supponendo che <ttcode>a</ttcode> abbia il valore "12" e che <ttcode>b</ttcode> abbia il valore "6", avremo:
 
{| style="width:100%; background:trasparent"
| align="center" |
{| class="wikitable"
| align=center|&nbsp;<ttcode>a = a + 2</ttcode>&nbsp;
| align=center|&nbsp;<ttcode>b = b – a</ttcode>&nbsp;
| align=center|&nbsp;<ttcode>b = b – (a + 3)</ttcode>&nbsp;
|-
| align=center|&nbsp;<ttcode>a = 12 + 2</ttcode>&nbsp;
| align=center|&nbsp;<ttcode>b = 6 - 12</ttcode>&nbsp;
| align=center|&nbsp;&nbsp;<ttcode>b = 6 – (12 + 3)</ttcode>&nbsp;
|-
| align=center|&nbsp;<ttcode>a = 14</ttcode>&nbsp;
| align=center|&nbsp;<ttcode>b = -6</ttcode>&nbsp;
| align=center|&nbsp;<ttcode>b = –9</ttcode>&nbsp;
|}
|}
 
 
Se vogliamo poi incrementare o decrementare il valore contenuto in una variabile di 1, esistono delle forme abbreviate<ref><ttcode>b++</ttcode> e <ttcode>++b</ttcode> (così come <ttcode>b--</ttcode> e <ttcode>--b</ttcode>) hanno esattamente lo stesso effetto sulla variabile <ttcode>b</ttcode> e la differenza sta solo nel valore delle espressioni.</ref>:
* <ttcode>b++</ttcode> &nbsp;&#x27A8;&nbsp; viene '''prima''' assegnato il nuovo valore alla variabile e '''dopo''' viene incrementato di 1;
* <ttcode>++b</ttcode> &nbsp;&#x27A8;&nbsp; viene '''prima''' incrementato di 1 il nuovo valore e '''dopo''' viene assegnato alla variabile;
* <ttcode>b--</ttcode> &nbsp;&#x27A8;&nbsp; viene '''prima''' assegnato il nuovo valore alla variabile e '''dopo''' viene decrementato di 1;
* <ttcode>--b</ttcode> &nbsp;&#x27A8;&nbsp; viene '''prima''' decrementato di 1 il nuovo valore e '''dopo''' viene assegnato alla variabile;
 
== Note ==