Inform e Glulx/Le basi di Inform/Salti ed etichette: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Nuova pagina: ==Salti ed etichette== In Inform, esiste anche l’istruzione <tt>jump</tt> in grado di controllare l’esecuzione del programma, come accade nel seguente esempio: ! Esempio sull'uti…
 
Nessun oggetto della modifica
Riga 1: Riga 1:
{{Inform e Glulx}}

==Salti ed etichette==
==Salti ed etichette==
In Inform, esiste anche l’istruzione <tt>jump</tt> in grado di controllare l’esecuzione del programma, come accade nel seguente esempio:
In Inform, esiste anche l’istruzione <tt>jump</tt> in grado di controllare l’esecuzione del programma, come accade nel seguente esempio:
Riga 50: Riga 52:


[[Categoria:Inform e Glulx|Le basi di Inform|Salti ed etichette]]
[[Categoria:Inform e Glulx|Le basi di Inform|Salti ed etichette]]
{{Avanzamento|100%|13 giugno 2009}}
{{Avanzamento|100%|26 dicembre 2009}}

Versione delle 15:33, 26 dic 2009

Indice del libro

Salti ed etichette

In Inform, esiste anche l’istruzione jump in grado di controllare l’esecuzione del programma, come accade nel seguente esempio:

! Esempio sull'utilizzo dell'istruzione JUMP

Include "Parser"; Include "VerbLib"; Include "Replace";
Constant TENTATIVI 5;
[ Funz_princip; ClearScreen(); ! pulisce lo schermo Domanda(); print "^Premi un tasto per uscire^"; KeyCharPrimitive(); ! legge un carattere dalla tastiera ];
[ Domanda x count; count = 0; .Inizio; print "^Ogni quanti anni compare la cometa di Halley? "; x = GetNumber(2); if (x == 76) { print "La risposta @`e esatta!!!^"; count = TENTATIVI; } else print "Spiacente, la risposta non @`e esatta...^"; count++; if (count < TENTATIVI) jump Inizio; ];
[ Initialise; Funz_princip(); quit; ! fine del programma ];
Include "Io"; Include "ItalianG";

L’istruzione .Inizio; è un’etichetta (in inglese label) alla quale l’istruzione jump fa sempre riferimento. Alla fine della funzione Domanda, l’istruzione if (count < TENTATIVI) jump Inizio; dice al compilatore: se il valore contenuto nella variabile count è minore del valore della costante tentativi, vai all’etichetta Inizio, altrimenti prosegui.

In questo modo abbiamo simulato un ciclo do-until, ovviamente a scopo puramente didattico e dimostrativo; non ha alcun senso, infatti, simulare qualcosa che esiste già. Questo stratagemma veniva utilizzato moltissimo con alcuni vecchi Basic degli anni ’80, che di fatto non avevano i cicli while e do... until e dovevano in qualche modo "arrangiarsi".

È bene comunque sapere che Inform mette a disposizione anche questa possibilità, perché, in alcune funzioni particolarmente complesse, potrebbe rivelarsi una valida scappatoia[1].

Note

  1. Cliccate qui per scaricare il listato di questo esercizio (il file 3.13.inf).