Inform e Glulx/Le basi di Inform/If (condition) then... else...: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m +indice
Gian BOT (discussione | contributi)
m Bot: sostituzione tag obsoleti
 
Riga 29:
Include "ItalianG";
 
Tradotta in italiano, l’istruzione <ttcode>if (condition) then</ttcode> suona più o meno così: <ttcode>se (condizione) allora</ttcode>. In questo caso, se il numero introdotto dall’utente è proprio 76, allora il programma stampa a video "<ttcode>La risposta è esatta!!!</ttcode>", altrimenti prosegue senza visualizzare nulla.<br>
Fate molta attenzione a non confondere l’operatore <ttcode>=</ttcode> con l’operatore <ttcode>==</ttcode>; il primo, come già sapete da quanto visto finora, assegna un certo valore a una variabile, mentre il secondo verifica che un certo valore (in questo esempio 76) sia '''uguale''' a un altro (in questo caso il valore contenuto nella variabile <ttcode>x</ttcode>, ovvero il numero digitato dall’utente mediante l’istruzione <ttcode>Getnumber</ttcode>). Gli altri operatori sono:
* <ttcode>(a ~= b)</ttcode> &nbsp;&#x27A8;&nbsp; a è '''diverso''' da b
* <ttcode>(a > b)</ttcode> &nbsp;&#x27A8;&nbsp; a è '''maggiore''' di b
* <ttcode>(a < b)</ttcode> &nbsp;&#x27A8;&nbsp; a è '''minore''' di b
* <ttcode>(a >= b)</ttcode> &nbsp;&#x27A8;&nbsp; a è '''maggiore o uguale''' a b
* <ttcode>(a <= b)</ttcode> &nbsp;&#x27A8;&nbsp; a è '''minore o uguale''' a b
 
È anche possibile usarli insieme, ma in questo caso bisogna utilizzare anche gli [[w:Operatore_(informatica)|operatori logici]], nell’ordine:
* <ttcode>&&</ttcode> detto anche "AND" &nbsp;&#x27A8;&nbsp; es: <ttcode>if ((a > 5) && (b < 10))</ttcode> &nbsp;&#x27A8;&nbsp; restituisce <ttcode>true</ttcode> (la condizione è cioè soddisfatta) se il valore contenuto nella variabile <ttcode>a</ttcode> è ''maggiore'' di 5 '''e''' se il valore contenuto nella variabile <ttcode>b</ttcode> è ''minore'' di 10;
* <ttcode>||</ttcode> detto anche "<ttcode>OR</ttcode>" &nbsp;&#x27A8;&nbsp; es: <ttcode>if ((a > 5) || (b < 10))</ttcode> &nbsp;&#x27A8;&nbsp; restituisce <ttcode>true</ttcode> se il valore contenuto nella variabile <ttcode>a</ttcode> è ''maggiore'' di 5 '''oppure''' se il valore contenuto nella variabile <ttcode>b</ttcode> è ''minore'' di 10.<br>Questo operatore non deve essere confuso con l’operatore (non logico) <ttcode>or</ttcode> che viene usato per testare più valori in una volta sola (ad es.: <ttcode>if (a == 2 or 3 or 4) print...</ttcode>);
* <ttcode>~~</ttcode> detto anche "<ttcode>NOT</ttcode>" &nbsp;&#x27A8;&nbsp; es: <ttcode>if (~~ (a > 5))</ttcode> &nbsp;&#x27A8;&nbsp; restituisce <ttcode>true</ttcode> se il valore contenuto nella variabile <ttcode>a</ttcode> è ''minore'' di 5 (la condizione viene cioè '''negata''' e di conseguenza invertita).
 
[[Immagine:Inform e Glulx-sp.gif|centre|435 px|]]
Riga 75:
Include "ItalianG";
 
di nuovo c’è solo l’istruzione <ttcode>else</ttcode>, che in italiano significa <ttcode>altrimenti</ttcode> e viene usata solo insieme all’istruzione <ttcode>if-then</ttcode>. Ecco quello che accade: se il numero digitato dall’utente è uguale a 76 viene stampato il messaggio "<ttcode>La risposta è esatta!!!</ttcode>", mentre se è diverso da 76 viene stampato il messaggio "<ttcode>Spiacente, la risposta non è esatta...</ttcode>"<ref>Cliccate [http://www.vincenzoscarpa.it/inform/manuale/Capitolo3_esercizi.zip qui] per scaricare i listati di questi due esercizi (i file '''3.08_1.inf''' e '''3.08_2.inf''').</ref>.
 
== Note ==