summaryrefslogtreecommitdiffstats
path: root/tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook')
-rw-r--r--tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook1731
1 files changed, 1731 insertions, 0 deletions
diff --git a/tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook b/tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook
new file mode 100644
index 00000000000..e5e29b43d19
--- /dev/null
+++ b/tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook
@@ -0,0 +1,1731 @@
+<!--Dear translator: please NEVER translate the id or anything inside the tags as they are needed in english by the application
+ Thanks a lot in advance.-->
+<chapter id="reference">
+<title
+>Guida di &kturtle; alla programmazione &logo;</title>
+<para
+>Questa è la guida del &logo; di &kturtle;. In questo capitolo accenniamo brevemente a tutti i <link linkend="different-instructions"
+>diversi tipi di istruzioni</link
+>. Quindi vengono spiegati uno ad uno i <link linkend="commands"
+>comandi</link
+>. Poi vengono spiegati i <link linkend="containers"
+>contenitori</link
+>, la <link linkend="math"
+>matematica</link
+>, le <link linkend="questions"
+>domande</link
+> e le <link linkend="controlling-execution"
+>istruzioni di controllo dell'esecuzione</link
+>. Infine ti viene mostrato come creare i tuoi comandi con <link linkend="learn"
+>impara</link
+>.</para>
+
+<sect1 id="different-instructions">
+<title
+>Differenti tipi di istruzioni</title>
+<para
+>Come in qualsiasi altro linguaggio, il LOGO ha differenti tipi di parole e di simboli. Qui vengono brevemente spiegate le differenze tra i tipi.</para>
+
+<sect2 id="command">
+<title
+>Comandi</title>
+<para
+>Usando i comandi tu dici alla tartaruga o a &kturtle; di fare qualcosa. Alcuni comandi richiedono argomenti, alcuni restituiscono risultati. <screen
+># avanti è un comando che richiede un argomento, in questo caso il numero 100:
+avanti 100
+</screen>
+</para>
+<para
+>Per una panoramica dettagliata di tutti i comandi che &kturtle; supporta vai <link linkend="commands"
+>qui</link
+>.</para>
+</sect2>
+
+<sect2 id="number">
+<title
+>Numeri</title>
+<para
+>Molto probabilmente conosci già i numeri. Il modo in cui i numeri sono usati in &kturtle; non è molto differente dalla lingua parlata o dalla matematica. </para>
+<para
+>Abbiamo i cosiddetti numeri naturali: <userinput
+>0</userinput
+>, <userinput
+>1</userinput
+>, <userinput
+>2</userinput
+>, <userinput
+>3</userinput
+>, <userinput
+>4</userinput
+>, <userinput
+>5</userinput
+>, ecc. I numeri negativi: <userinput
+>-1</userinput
+>, <userinput
+>-2</userinput
+>, <userinput
+>-3</userinput
+>, ecc. E i numeri decimali, o numeri con la virgola, per esempio: <userinput
+>0.1</userinput
+>, <userinput
+>3.14</userinput
+>, <userinput
+>33.3333</userinput
+>, <userinput
+>-5.05</userinput
+>, <userinput
+>-1.0</userinput
+>. </para>
+<para
+>I numeri possono essere usati in <link linkend="math"
+>calcoli matematici</link
+> e in <link linkend="questions"
+>domande</link
+>. Possono anche essere inseriti in <link linkend="containers"
+>contenitori</link
+>.</para>
+<para
+>I numeri sono <glossterm
+>evidenziati</glossterm
+> con il blu nell'<link linkend="the-code-editor"
+>editor del codice</link
+>.</para>
+</sect2>
+
+<sect2 id="string">
+<title
+>Stringhe</title>
+<para
+>Prima un esempio: <screen>
+scrivi "Ciao, sono una stringa."
+</screen
+> In questo esempio <userinput
+>scrivi</userinput
+> è un comando dove <userinput
+>"Ciao, sono una stringa."</userinput
+> è una stringa. Le stringhe iniziano e finiscono con il carattere <userinput
+>"</userinput
+>, e grazie a questi caratteri &kturtle; sa che è una stringa.</para>
+<para
+>Le stringhe possono essere inserite in <link linkend="containers"
+>contenitori</link
+>. Tuttavia non possono essere usate in <link linkend="math"
+>calcoli matematici</link
+> e <link linkend="questions"
+>domande</link
+>.</para>
+<para
+>Le stringhe sono <glossterm
+>evidenziate</glossterm
+> con il rosso scuro nell'<link linkend="the-code-editor"
+>editor del codice</link
+>.</para>
+</sect2>
+
+
+<sect2 id="name">
+<title
+>Nomi</title>
+<para
+>Quando usi il linguaggio di programmazione &logo; crei nuove cose. Se scrivi un programma spesso avrai bisogno di <link linkend="containers"
+>contenitori</link
+> e, in alcuni casi, di <link linkend="learn"
+>impara</link
+> per creare nuovi comandi. Quando crei un <link linkend="containers"
+>contenitore</link
+> o un nuovo comando con <link linkend="learn"
+>impara</link
+> dovrai specificare un nome.</para>
+<para
+>Puoi scegliere qualsiasi nome, a meno che non abbia già un significato. Per esempio non puoi chiamare <link linkend="forward"
+>avanti</link
+> un contenitore, dato che quel nome è già usato per un comando, e per questo ha un significato. <screen>
+# qui avanti è usato come contenitore, ma ha già un significato
+# così questa riga genererà un errore:
+avanti = 20
+
+# questa funziona:
+avanti 20
+</screen
+> I nomi possono contenere solo lettere, numeri e trattini bassi (_). Devono tuttavia iniziare con una lettera. </para>
+<para
+>Per una spiegazione più esauriente e per vedere più esempi leggi la documentazione sui <link linkend="containers"
+>contenitori</link
+> e sul comando <link linkend="learn"
+>impara</link
+>. </para>
+</sect2>
+
+<sect2 id="assignment">
+<title
+>Assegnamenti</title>
+<para
+>Un assegnamento viene effettuato con il simbolo <userinput
+>=</userinput
+>. Nei linguaggi di programmazione è meglio leggere il singolo <userinput
+>=</userinput
+> non come "uguale" ma come "diventa". La parola "uguale" è più appropriata per <userinput
+>==</userinput
+> che è una <link linkend="questions"
+>domanda</link
+>.</para>
+<para
+>Gli assegnamenti sono usati generalmente per due motivi, (1) per aggiungere <link linkend="containers"
+>contenitori</link
+> e (2) per modificare il contenuto di un contenitore. Per esempio: <screen
+>x = 10
+# il contenitore x ora contiene il numero 10
+W = "La mia età è: "
+# il contenitore W ora contiene la stringa "La mia età è: "
+# questa riga scrive il contenuto dei contenitori 'W' e 'x' sull'area di disegno
+scrivi W + x
+</screen>
+</para>
+<para
+>Per vedere più esempi leggi la sezioni che spiega i <link linkend="containers"
+>contenitori</link
+>.</para>
+</sect2>
+
+<sect2 id="math-symbols">
+<title
+>Simboli matematici</title>
+<para
+>&kturtle; supporta tutti i simboli matematici base: addizione (<userinput
+>+</userinput
+>), sottrazione (<userinput
+>-</userinput
+>), moltiplicazione (<userinput
+>*</userinput
+>), divisione (<userinput
+>/</userinput
+>) e le parentesi <userinput
+>(</userinput
+> e <userinput
+>)</userinput
+>.</para>
+<para
+>Per una spiegazione più esauriente e per vedere più esempi leggi la sezione sulla <link linkend="math"
+>matematica</link
+>.</para>
+</sect2>
+
+<sect2 id="question">
+<title
+>Domande</title>
+<para
+>Possiamo chiedere semplici domande la cui risposta sarà "vero" o "falso".</para>
+<para
+>L'uso delle domande è ampiamente spiegato nella sezione sulle <link linkend="questions"
+>domande</link
+>.</para>
+</sect2>
+
+<sect2 id="questions-glue">
+<title
+>I "collanti" delle domande</title>
+<para
+>Le domande posso essere unite assieme con i cosiddetti "collanti delle domande". Le parole "collanti" sono <userinput
+>e</userinput
+> <userinput
+>o</userinput
+>, e un "collante" speciale: <userinput
+>non</userinput
+>.</para>
+<para
+>L'uso dei "collanti" delle domande è spiegato nella sezione <link linkend="question-glue"
+>I "collanti" delle domande</link
+>.</para>
+</sect2>
+
+
+<sect2 id="comment">
+<title
+>Commenti</title>
+<para
+>I commenti sono linee che iniziano con <userinput
+>#</userinput
+>. Per esempio: <screen>
+# questo è un commento!
+scrivi "questo non è un commento"
+# la linea precedente non è un commento, ma la linea successiva sì:
+# scrivi "questo non è un commento"
+</screen
+> Noi possiamo aggiungere commenti al codice, affinché lo leggiamo noi stessi o lo leggano altri. I commenti sono usati per: (1) aggiungere una piccola descrizione al programma, (2) spiegare come funziona un pezzo di codice nel caso sia un po' complesso, e (3) per "commentare via" linee di codice che dovrebbero essere (temporaneamente) ignorate (guarda l'ultima linea dell'esempio).</para>
+<para
+>Le linee commentate sono <glossterm
+>evidenziate</glossterm
+> con il giallo scuro nell'<link linkend="the-code-editor"
+>editor del codice</link
+>.</para>
+</sect2>
+
+</sect1>
+
+
+<sect1 id="commands">
+<title
+>Comandi</title>
+<para
+>Usando i comandi tu dici alla tartaruga o a &kturtle; di fare qualcosa. Alcuni comandi richiedono argomenti, alcuni restituiscono risultati. In questa sezione spieghiamo tutti i comandi che possono essere usati in &kturtle;. Nota che tutti i comandi predefiniti di cui discutiamo qui sono <glossterm
+>evidenziati</glossterm
+> con il verde scuro nell'<link linkend="the-code-editor"
+>editor del codice</link
+>, ciò può aiutarti a distinguerli.</para>
+
+<sect2 id="moving-the-turtle">
+<title
+>Muovere la tartaruga</title>
+<para
+>Ci sono vari comandi per muovere la tartaruga sullo schermo.</para>
+
+<sect3 id="forward">
+ <title
+>avanti (av)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>avanti</term>
+ <listitem
+><para
+><screen
+>avanti X</screen>
+<userinput
+>avanti</userinput
+> muove la tartaruga avanti di X pixel. Quando la penna è giù la tartaruga lascerà un tratto. <userinput
+>avanti</userinput
+> può essere abbreviato in <userinput
+>av</userinput
+></para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="backward">
+ <title
+>indietro (in)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>indietro</term>
+ <listitem
+><para
+><screen
+>indietro X</screen>
+<userinput
+>indietro</userinput
+> muove la tartaruga indietro di X pixel. Quando la penna è giù la tartaruga lascerà un tratto. <userinput
+>indietro</userinput
+> può essere abbreviato in <userinput
+>in</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="turnleft">
+ <title
+>sinistra (sx)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>sinistra</term>
+ <listitem
+><para
+><screen
+>sinistra X</screen>
+<userinput
+>sinistra</userinput
+> comanda alla tartaruga di girare X gradi a sinistra. <userinput
+>sinistra</userinput
+> può essere abbreviato in <userinput
+>sx</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="turnright">
+ <title
+>destra (dx)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>destra</term>
+ <listitem
+><para
+><screen
+>destra X</screen>
+<userinput
+>destra</userinput
+> comanda alla tartaruga di girare X gradi a destra. <userinput
+>destra</userinput
+> può essere abbreviato in <userinput
+>dx</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="direction">
+ <title
+>direzione (dir)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>direzione</term>
+ <listitem
+><para
+><screen
+>direzione X</screen>
+<userinput
+>direzione</userinput
+> imposta la direzione della tartaruga a X gradi partendo da zero, e così non è relativo alla precedente direzione della tartaruga. <userinput
+>direzione</userinput
+> può essere abbreviato in <userinput
+>dir</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="center">
+ <title
+>centro</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>centro</term>
+ <listitem
+><para
+><screen
+>centro</screen>
+<userinput
+>centro</userinput
+> muove la tartaruga al centro dell'area di disegno.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="go">
+ <title
+>vai</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>vai</term>
+ <listitem
+><para
+><screen
+>vai X,Y</screen>
+<userinput
+>vai</userinput
+> comanda alla tartaruga di andare in un certo punto dell'area di disegno. Questo punto dista X <glossterm linkend="pixels"
+>pixel</glossterm
+> da sinistra e Y <glossterm linkend="pixels"
+>pixel</glossterm
+> dall'alto dell'area di disegno. Nota che usando il comando <userinput
+>vai</userinput
+> la tartaruga non disegnerà una linea.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="gox">
+ <title
+>vaix</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>vaix</term>
+ <listitem
+><para
+><screen
+>vaix X</screen>
+<userinput
+>vaix</userinput
+> usando questo comando la tartaruga si muoverà a X <glossterm linkend="pixels"
+>pixel</glossterm
+> dalla sinistra dell'area di disegno mantenendo la sua altezza.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="goy">
+ <title
+>vaiy</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>vaiy</term>
+ <listitem
+><para
+><screen
+>vaiy Y</screen>
+<userinput
+>vaiy</userinput
+> usando questo comando la tartaruga si muoverà a Y <glossterm linkend="pixels"
+>pixel</glossterm
+> dall'alto dell'area di disegno mantenendosi alla stessa distanza dal bordo sinistro dell'area di disegno.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+</sect2>
+
+<sect2 id="pen">
+<title
+>La tartaruga ha una penna</title>
+<para
+>La tartaruga ha una penna che disegna una linea quando la tartaruga si muove. Ci sono alcuni comandi che controllano la penna. In questa sezione vengono spiegati questi comandi.</para>
+<sect3 id="penup">
+ <title
+>pennasu (ps)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>pennasu</term>
+ <listitem
+><para
+><screen
+>pennasu</screen>
+<userinput
+>pennasu</userinput
+> alza la penna dall'area di disegno. Quando la penna è <quote
+>su</quote
+> non sarà disegnata alcuna linea quando la tartaruga si muove. Vedi anche <userinput
+>pennagiu</userinput
+>. <userinput
+>pennasu</userinput
+> può essere abbreviato in <userinput
+>ps</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="pendown">
+ <title
+>pennagiu (pg)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>pennagiu</term>
+ <listitem
+><para
+><screen
+>pennagiu</screen>
+<userinput
+>pennagiu</userinput
+> abbassa la penna sull'area di disegno. Quando la penna è <quote
+>giù</quote
+> sull'area di disegno sarà disegnata una linea quando la tartaruga si muove. Vedi anche <userinput
+>pennasu</userinput
+>. <userinput
+>pennagiu</userinput
+> può essere abbreviato in <userinput
+>pg</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="setpenwidth">
+ <title
+>spessorepenna (sp)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>spessorepenna</term>
+ <listitem
+><para
+><screen
+>spessorepenna X</screen>
+<userinput
+>spessorepenna</userinput
+> imposta lo spessore della penna (lo spessore della linea) a X <glossterm linkend="pixels"
+>pixel</glossterm
+>. <userinput
+>spessorepenna</userinput
+> può essere abbreviato in <userinput
+>sp</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="setfgcolor">
+ <title
+>colorepenna (cp)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>colorepenna</term>
+ <listitem
+><para
+><screen
+>colorepenna R,G,B</screen>
+<userinput
+>colorepenna</userinput
+> imposta il colore della penna. <userinput
+>colorepenna</userinput
+> richiede una <glossterm linkend="rgb"
+>combinazione RGB</glossterm
+> come argomento. <userinput
+>colorepenna</userinput
+> può essere abbreviato in <userinput
+>cp</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+</sect2>
+
+<sect2 id="canvas">
+<title
+>Comandi per controllare l'area di disegno</title>
+<para
+>Ci sono vari comandi per controllare l'area di disegno.</para>
+<sect3 id="resizecanvas">
+ <title
+>dimensionesfondo (ds)</title>
+ <variablelist>
+ <varlistentry>
+ <term
+>dimensionesfondo</term>
+ <listitem
+><para
+><screen
+>dimensionesfondo X,Y</screen>
+Con il comando <userinput
+>dimensionesfondo</userinput
+> puoi impostare la dimensione dell'area di disegno. Richiede X e Y come argomenti, dove X è la nuova larghezza dell'area di disegno in <glossterm linkend="pixels"
+>pixel</glossterm
+>, e Y è la nuova altezza dell'area di disegno in <glossterm linkend="pixels"
+>pixel</glossterm
+>. <userinput
+>dimensionesfondo</userinput
+> può essere abbreviato in <userinput
+>ds</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="setbgcolor">
+ <title
+>coloresfondo (cs)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>coloresfondo</term>
+ <listitem
+><para
+><screen
+>coloresfondo R,G,B</screen>
+<userinput
+>coloresfondo</userinput
+> imposta il colore dell'area di disegno. <userinput
+>coloresfondo</userinput
+> richiede una <glossterm linkend="rgb"
+>combinazione RGB</glossterm
+> come argomento. <userinput
+>coloresfondo</userinput
+> può essere abbreviato in <userinput
+>cs</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="wrapon">
+ <title
+>attorno</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>attorno</term>
+ <listitem
+><para
+><screen
+>attorno</screen>
+Con il comando <userinput
+>attorno</userinput
+> puoi attivare l'<glossterm linkend="wrapping"
+>avvolgimento</glossterm
+> per l'area di disegno. Consulta il glossario se vuoi sapere cosa è <glossterm linkend="wrapping"
+>l'<quote
+>avvolgimento</quote
+></glossterm
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="wrapoff">
+ <title
+>muro</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>muro</term>
+ <listitem
+><para
+><screen
+>muro</screen>
+Con il comando <userinput
+>muro</userinput
+> puoi disattivare l'<glossterm linkend="wrapping"
+>avvolgimento</glossterm
+> per l'area di disegno: ciò significa che la tartaruga può muoversi al di fuori dell'area di disegno e <quote
+>perdersi</quote
+>. Consulta il glossario se vuoi sapere cosa è <glossterm linkend="wrapping"
+>l'<quote
+>avvolgimento</quote
+></glossterm
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+</sect2>
+
+<sect2 id="clean">
+<title
+>Comandi per fare pulizia</title>
+<para
+>Ci sono due comandi per pulire l'area di disegno dopo che hai fatto confusione.</para>
+<sect3 id="clear">
+ <title
+>pulisci (cls)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>pulisci</term>
+ <listitem
+><para
+><screen
+>pulisci</screen>
+Con <userinput
+>pulisci</userinput
+> puoi pulire tutti i disegni dall'area di disegno. Tutte le altre cose rimangono: la posizione e l'angolo della tartaruga, il colore dell'area di disegno, la visibilità della tartaruga e la dimensione dell'area di disegno. <userinput
+>pulisci</userinput
+> può essere abbreviato in <userinput
+>cls</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="reset">
+ <title
+>ricomincia</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>ricomincia</term>
+ <listitem
+><para
+><screen
+>ricomincia</screen>
+<userinput
+>ricomincia</userinput
+> pulisce molto più accuratamente del comando <userinput
+>pulisci</userinput
+>. Dopo un comando <userinput
+>ricomincia</userinput
+> tutto ritorna come era quando hai avviato &kturtle;. La tartaruga è posizionata al centro dello schermo, il colore dell'area di disegno è bianco e la tartaruga disegna linee nere sull'area di disegno.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+</sect2>
+
+<sect2 id="sprites">
+<title
+>La tartaruga è un folletto</title>
+<para
+>Prima una breve spiegazione di cosa sono i folletti: i folletti sono piccoli disegni che possono essere mossi in giro per lo schermo, come spesso vediamo nei giochi per il computer. Anche la nostra tartaruga è un folletto. Per maggiori informazioni vedi la voce di glossario sui <glossterm linkend="sprites"
+>folletti</glossterm
+>. </para>
+<para
+>Di seguito troverai una descrizione completa di tutti i comandi che lavorano con i folletti.</para>
+<para
+>[L'attuale versione di &kturtle; non supporta ancora l'uso di folletti diversi dalla tartaruga. Con le future versioni potrai cambiare la tartaruga in qualcos'altro creato da te]</para>
+<sect3 id="spriteshow">
+ <title
+>mostra</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>mostra (ms)</term>
+ <listitem
+><para
+><screen
+>mostra</screen>
+<userinput
+>mostra</userinput
+> rende nuovamente visibile la tartaruga dopo che è stata nascosta. <userinput
+>mostra</userinput
+> può essere abbreviato in <userinput
+>ms</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="spritehide">
+ <title
+>nascondi (ns)</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>nascondi</term>
+ <listitem
+><para
+><screen
+>nascondi</screen>
+<userinput
+>nascondi</userinput
+> nasconde la tartaruga. Ciò può essere usato se non conviene che la tartaruga appaia nel tuo disegno. <userinput
+>nascondi</userinput
+> può essere abbreviato in <userinput
+>ns</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+</sect2>
+
+<sect2 id="writing">
+<title
+>Possono le tartarughe scrivere del testo?</title>
+<para
+>La risposta è: <quote
+>sì</quote
+>. La tartaruga può scrivere: scrive tutto quello che tu le comandi di scrivere.</para>
+<sect3 id="print">
+ <title
+>scrivi</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>scrivi</term>
+ <listitem
+><para
+><screen
+>scrivi X</screen>
+Il comando <userinput
+>scrivi</userinput
+> è usato per comandare alla tartaruga di scrivere qualcosa sull'area di disegno. <userinput
+>scrivi</userinput
+> accetta numeri e stringhe come parametri. Puoi scrivere vari numeri e stringhe usando il simbolo <quote
+>+</quote
+>. Guarda qui un piccolo esempio: <screen
+>anno = 2003
+autore = "Cies"
+scrivi autore + " ha iniziato il progetto KTurtle nel " + anno + " e ancora si diverte a lavorarci!"
+</screen>
+ </para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="fontsize">
+ <title
+>dimensionecarattere</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>dimensionecarattere</term>
+ <listitem
+><para
+><screen
+>dimensionecarattere X</screen>
+<userinput
+>dimensionecarattere</userinput
+> imposta la dimensione del tipo di carattere usato dal comando <userinput
+>scrivi</userinput
+>. <userinput
+>dimensionecarattere</userinput
+> richiede un argomento che dovrebbe essere un numero. La dimensione è impostata in <glossterm linkend="pixels"
+>pixel</glossterm
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+</sect2>
+
+<sect2 id="random">
+<title
+>Un comando che lancia dadi per te</title>
+<para
+>C'è comando che lancia un dado per te, ed è chiamato <userinput
+>casuale</userinput
+>, ed è molto utile per avere "risultati inattesi".</para>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>casuale</term>
+ <listitem
+><para
+><screen
+>casuale X,Y</screen>
+<userinput
+>casuale</userinput
+> è un comando che richiede parametri e restituisce un valore. Come parametri richiede due numeri, il primo(X) imposta il valore minimo restituito, il secondo (Y) imposta il massimo. Il valore restituito è un numero scelto casualmente maggiore o uguale del minimo e minore o uguale del massimo. Qui vi è un piccolo esempio: <screen>
+ripeti 500 [
+ x = casuale 1,20
+ avanti x
+ sinistra 10 - x
+]
+</screen
+> Usando il comando <userinput
+>casuale</userinput
+> puoi aggiungere un po' di caos al tuo programma.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect2>
+
+<sect2 id="dialogs">
+<title
+>Inserire dati e visualizzare messaggi con finestre di dialogo</title>
+<para
+>Una finestra di dialogo è una piccola finestra a comparsa che mostra un messaggio o chiede di inserire qualcosa. &kturtle; ha due comandi per le finestre di dialogo, chiamati: <userinput
+>messaggio</userinput
+> e <userinput
+>finestrainserimento</userinput
+></para>
+<sect3 id="message">
+ <title
+>messaggio</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>messaggio</term>
+ <listitem
+><para
+><screen
+>messaggio X</screen>
+Il comando <userinput
+>messaggio</userinput
+> richiede una <link linkend="string"
+>stringa</link
+> come argomento. Mostra una finestra a comparsa che contiene il testo della <link linkend="string"
+>stringa</link
+>. <screen
+>anno = 2003
+autore = "Cies"
+scrivi autore + " ha iniziato il progetto KTurtle nel " + anno + " e ancora si diverte a lavorarci!"
+</screen>
+ </para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+<sect3 id="inputwindow">
+ <title
+>finestrainserimento</title>
+ <variablelist>
+ <varlistentry
+>
+ <term
+>finestrainserimento</term>
+ <listitem
+><para
+><screen
+>finestrainserimento X</screen>
+<userinput
+>finestrainserimento</userinput
+> richiede una <link linkend="string"
+>stringa</link
+> come argomento. Mostra una finestra a comparsa che contiene il testo della stringa, allo stesso modo di <link linkend="message"
+>messaggio</link
+>. Ma in più vi è un campo di inserimento nella finestra di dialogo. Attraverso questo campo di inserimento l'utente può inserire un <link linkend="number"
+>numero</link
+> o una <link linkend="string"
+>stringa</link
+> che può essere memorizzata in un <link linkend="containers"
+>contenitore</link
+>. Per esempio <screen>
+in = finestrainserimento "Qual è la tua età?"
+diff = 2003 - in
+scrivi "Ad un certo punto del 2003 avevi " + diff + " anni."
+</screen
+> Quando un utente annulla la finestra di dialogo, o non inserisce niente, il <link linkend="containers"
+>contenitore</link
+> è svuotato.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect3>
+</sect2>
+
+</sect1>
+
+
+
+<sect1 id="containers">
+<title
+>Contenitori</title>
+<para
+>I contenitori sono lettere o parole che possono essere usate dal programmatore per memorizzare un numero o del testo. I contenitori che contengono un numero sono chiamati <link linkend="variables"
+>variabili</link
+>, quelli che possono contenere del testo sono chiamati <link linkend="strings"
+>stringhe</link
+>.</para>
+
+<para
+>I contenitori che non sono usati non contengono nulla. Un esempio: <screen>
+scrivi N
+</screen
+> Questo non scriverà niente. Se proviamo ad eseguire dei <link linkend="math"
+>calcoli matematici</link
+> con contenitori vuoti otterremo degli errori. </para>
+
+<sect2 id="variables">
+<title
+>Variabili: contenitori numerici</title>
+<para
+>Iniziamo con un esempio: <screen>
+x = 3
+scrivi x
+</screen
+> Nella prima linea la lettera <userinput
+>x</userinput
+> è trasformata in una variabile (contenitore numerico). Come vedi il valore della variabile <userinput
+>x</userinput
+> è impostato a 3. Nella seconda linea viene stampato a video il valore.</para>
+<para
+>Nota che se volevamo scrivere una <quote
+>x</quote
+> avremmo dovuto scrivere <screen
+>scrivi "x"
+</screen>
+</para>
+<para
+>Quello era semplice, vediamo ora un esempio un po' più complesso: <screen>
+A = 2004
+B = 25
+C = A + B
+
+# il comando seguente scrive "2029"
+scrivi C
+indietro 30
+# il comando seguente scrive "2004 più 25"
+scrivi A + " più " + B
+indietro 30
+# il comando seguente scrive "1979"
+scrivi A - B
+</screen
+> nelle prime due righe le variabili <userinput
+>A</userinput
+> e <userinput
+>B</userinput
+> sono impostare a 2004 e 25. Nella terza riga la variabile <userinput
+>C</userinput
+> è impostata ad <userinput
+>A + B</userinput
+>, che è 2029. Il resto dell'esempio è costituito da 3 comandi <userinput
+>scrivi</userinput
+> con <userinput
+>indietro 30</userinput
+> in mezzo. Il comando <userinput
+>indietro 30</userinput
+> ci assicura che ogni testo è scritto in una nuova riga. In questo esempio puoi anche vedere che le variabili possono essere usate nei <link linkend="math"
+>calcoli matematici</link
+>.</para>
+</sect2>
+
+<sect2 id="strings">
+<title
+>Contenitori che contengono testo (stringhe)</title>
+<para
+>Nel codice della programmazione il testo regolare di solito inizia e finisce con le virgolette doppie. Come abbiamo già visto: <screen>
+scrivi "Ciao programmatore!"
+</screen
+> Il testo regolare è delimitato dalle virgolette doppie. Chiamiamo questi pezzi di testo regolare <link linkend="strings"
+>stringhe</link
+>.</para>
+<para
+>Le stringhe possono essere memorizzate in <link linkend="containers"
+>contenitori</link
+> allo stesso modo dei <link linkend="number"
+>numeri</link
+>. Le stringhe sono molto simili alle variabili. La più grande differenza è che le stringhe contengono testo invece che numeri. Per questo motivo le stringhe non possono essere usate in <link linkend="math"
+>calcoli matematici</link
+> e <link linkend="questions"
+>domande</link
+>. Un esempio di uso di stringhe: <screen>
+x = "Ciao "
+nome = finestrainserimento "Inserisci il tuo nome..."
+scrivi x + nome + ", come va?"
+</screen
+> Nella prima riga la stringa <userinput
+>x</userinput
+> è impostata a <quote
+>Ciao </quote
+>. Nella seconda riga la stringa <userinput
+>nome</userinput
+> è impostata al risultato del comando <userinput
+>finestrainserimento</userinput
+>. Nella terza riga il programma scrive nell'area di disegno una stringa composta da tre stringhe.</para>
+<para
+>Questo programma ti chiede di inserire il tuo nome. Quando inserisci, per esempio, il nome <quote
+>Paolo</quote
+>, il programma scrive <quote
+>Ciao Paolo, come va?</quote
+>. Nota che il segno più (+) è l'unico segno matematico che puoi usare con le stringhe.</para>
+</sect2>
+</sect1>
+
+<sect1 id="math">
+<title
+>Può la tartaruga eseguire calcoli?</title>
+<para
+>Sì, &kturtle; farà la matematica per te. Puoi aggiungere (+), sottrarre (-), moltiplicare (*) e dividere (/). Ecco qui un esempio nel quale usiamo tutte le operazioni: <screen>
+a = 20 - 5
+b = 15 * 2
+c = 30 / 30
+d = 1 + 1
+scrivi "a: "+a+", b: "+b+", c: "+c+", d: "+d
+</screen
+> Lo sai che valori hanno a, b, c e d? Nota l'uso del simbolo di <link linkend="assignment"
+>assegnamento</link
+> <userinput
+>=</userinput
+>.</para>
+<para
+>Se vuoi eseguire un semplice calcolo puoi scrivere qualcosa di simile a questo: <screen
+>scrivi 2004-12
+</screen
+></para>
+<para
+>Ora un esempio con le parentesi: <screen>
+scrivi ( ( 20 - 5 ) * 2 / 30 ) + 1
+</screen
+> Ciò che si trova dentro le parentesi sarà calcolato prima. In questo esempio, sarà calcolato 20-5, quindi moltiplicato per 2, diviso per 30, e viene infine aggiunto 1 (avendo 2 come risultato).</para>
+</sect1>
+
+<sect1 id="questions">
+<title
+>Chiedere domande, avere risposte...</title>
+<para
+><link linkend="if"
+><userinput
+>se</userinput
+></link
+> e <link linkend="while"
+><userinput
+>mentre</userinput
+></link
+> sono <link linkend="controlling-execution"
+>comandi di controllo dell'esecuzione</link
+> di cui parleremo nella prossima sezione. In questa sezione usiamo il comando <link linkend="if"
+><userinput
+>se</userinput
+></link
+> per spiegare le domande.</para>
+<sect2 id="q">
+<title
+>Domande</title>
+<para
+>Un semplice esempio di domanda: <screen>
+x = 6
+se x &gt; 5 [
+ scrivi "ciao"
+]
+</screen
+> In questo esempio la domanda è costituita da <userinput
+>x &gt; 5</userinput
+>. Se la risposta a questa domanda è "vero", sarà eseguito il codice tra le parentesi quadre. Le domande sono una parte molto importante della programmazione e sono spesso usate insieme ai <link linkend="controlling-execution"
+>comandi di controllo dell'esecuzione</link
+>, come <link linkend="if"
+><userinput
+>se</userinput
+></link
+>. Tutti i numeri e le <link linkend="variables"
+>variabili</link
+> (contenitori numerici) possono essere confrontati l'un l'altro con le domande.</para>
+<para
+>Qui vi sono tutte le possibili domande: <table>
+<title
+>Tipi di domande</title>
+<tgroup cols="3">
+<tbody>
+<row>
+<entry
+><userinput
+>a == b</userinput
+></entry>
+<entry
+>uguale</entry>
+<entry
+>la risposta è <quote
+>vero</quote
+> se <userinput
+>a</userinput
+> è uguale a <userinput
+>b</userinput
+></entry>
+</row>
+<row>
+<entry
+><userinput
+>a != b</userinput
+></entry>
+<entry
+>non uguale</entry>
+<entry
+>la risposta è <quote
+>vero</quote
+> se <userinput
+>a</userinput
+> non è uguale a <userinput
+>b</userinput
+></entry>
+</row>
+<row>
+<entry
+><userinput
+>a &gt; b</userinput
+></entry>
+<entry
+>maggiore</entry>
+<entry
+>la risposta è <quote
+>vero</quote
+> se <userinput
+>a</userinput
+> è maggiore di <userinput
+>b</userinput
+></entry>
+</row>
+<row>
+<entry
+><userinput
+>a &lt; b</userinput
+></entry>
+<entry
+>minore</entry>
+<entry
+>la risposta è <quote
+>vero</quote
+> se <userinput
+>a</userinput
+> è minore di <userinput
+>b</userinput
+></entry>
+</row>
+<row>
+<entry
+><userinput
+>a &gt;= b</userinput
+></entry>
+<entry
+>maggiore o uguale</entry>
+<entry
+>la risposta è <quote
+>vero</quote
+> se <userinput
+>a</userinput
+> è maggiore o uguale a <userinput
+>b</userinput
+></entry>
+</row>
+<row>
+<entry
+><userinput
+>a &lt;= b</userinput
+></entry>
+<entry
+>minore o uguale</entry>
+<entry
+>la risposta è <quote
+>vero</quote
+> se <userinput
+>a</userinput
+> è minore o uguale a <userinput
+>b</userinput
+></entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</para>
+<para
+>Le domande sono <glossterm
+>evidenziate</glossterm
+> con il blu chiaro nell'<link linkend="the-code-editor"
+>editor del codice</link
+>.</para
+>
+</sect2>
+
+<sect2 id="question-glue">
+<title
+>I "collanti" delle domande</title>
+<para
+>I "collanti" delle domande ci permettono di unire più domande in una domanda più grande. <screen>
+a = 1
+b = 5
+se (a &lt; 5) e (b == 5) [
+ scrivi "ciao"
+]
+</screen
+> In questo esempio è usato il "collante" <userinput
+>e</userinput
+> per unire insieme due domande (<userinput
+>a &lt; 5</userinput
+>, <userinput
+>b == 5</userinput
+>). Se un lato di <userinput
+>e</userinput
+> avrà come risposta <quote
+>falso</quote
+>, l'intera domanda avrà come risposta <quote
+>falso</quote
+>, poiché con il "collante" <userinput
+>e</userinput
+> entrambi i lati devono essere <quote
+>vero</quote
+> per poter rispondere <quote
+>vero</quote
+>. Non ti dimenticare di usare le parentesi attorno ad ogni domanda!</para>
+
+<para
+>Qui vi è una descrizione schematica; sotto segue una spiegazione più dettagliata: <table>
+<title
+>I "collanti" delle domande</title>
+<tgroup cols="2">
+<tbody>
+<row>
+<entry
+><userinput
+>e</userinput
+></entry>
+<entry
+>Entrambi i lati devono essere "vero" per poter rispondere "vero"</entry>
+</row>
+<row>
+<entry
+><userinput
+>o</userinput
+></entry>
+<entry
+>Se uno dei lati è "vero" la risposta è "vero"</entry>
+</row>
+<row>
+<entry
+><userinput
+>non</userinput
+></entry>
+<entry
+>Caso speciale: funziona solo con una domanda! Cambia "vero" in "falso" e "falso" in "vero".</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</para>
+<para
+>I "collanti" delle domande sono <glossterm
+>evidenziati</glossterm
+> con il viola nell'<link linkend="the-code-editor"
+>editor del codice</link
+>.</para>
+
+<sect3 id="and">
+<title
+>e</title>
+<para
+>Quando due domande sono incollate l'un l'altra con <userinput
+>e</userinput
+>, entrambi i lati di <userinput
+>e</userinput
+> devono essere "vero" per poter dare come risultato "vero". Un esempio: <screen>
+a = 1
+b = 5
+se ((a &lt; 10) e (b == 5)) e (a &lt; b) [
+ scrivi "ciao"
+]
+</screen
+> In questo esempio puoi vedere una domanda incollata, unita ad un'altra domanda.</para>
+</sect3>
+
+<sect3 id="or">
+<title
+>o</title>
+<para
+>Se una delle due domande unite assieme con <userinput
+>o</userinput
+> è "vera", il risultato sarà "vero". Un esempio: <screen>
+a = 1
+b = 5
+se ((a &lt; 10) o (b == 10)) o (a == 0) [
+ scrivi "ciao"
+]
+</screen
+> In questo esempio puoi vedere una domanda incollata, unita ad un'altra domanda.</para>
+</sect3>
+
+<sect3 id="not">
+<title
+>non</title>
+<para
+><userinput
+>non</userinput
+> è uno speciale "collante" delle domande poiché funziona solo con una domanda alla volta. <userinput
+>non</userinput
+> cambia "vero" in "falso" e "falso" in "vero". Un esempio: <screen>
+a = 1
+b = 5
+se non ((a &lt; 10) e (b == 5)) [
+ scrivi "ciao"
+]
+altrimenti
+[
+ scrivi "non ciao ;-)"
+]
+</screen
+> In questo esempio la domanda "incollata" è "vera", tuttavia <userinput
+>non</userinput
+> la cambia in "falsa". Così alla fine viene scritto <userinput
+>"non ciao ;-)"</userinput
+> sull'<link linkend="the-canvas"
+>area di disegno</link
+>.</para>
+</sect3>
+
+</sect2>
+
+</sect1>
+
+<sect1 id="controlling-execution">
+<title
+>Controllare l'esecuzione</title>
+<para
+>I comandi di controllo dell'esecuzione ti permettono &mdash; come dicono il loro nomi &mdash; di controllare l'esecuzione.</para>
+<para
+>I comandi di controllo dell'esecuzione sono <glossterm
+>evidenziati</glossterm
+> di verde scuro con un tipo di carattere grassetto. Le parentesi quadre usate principalmente con i comandi di controllo dell'esecuzione e sono <glossterm
+>evidenziate</glossterm
+> di verde chiaro.</para>
+
+<sect2 id="wait">
+<title
+>Far aspettare la tartaruga</title>
+<para
+>Se hai programmato in &kturtle; devi aver notato che la tartaruga può essere molto veloce a disegnare. Questo comando fa sì che la tartaruga attenda per un tempo specificato.</para>
+ <variablelist>
+ <varlistentry>
+ <term
+>attendi</term>
+ <listitem
+><para
+><screen
+>attendi X</screen>
+<userinput
+>attendi</userinput
+> fa sì che la tartaruga attenda X secondi. <screen>
+ripeti 36 [
+ avanti 5
+ destra 10
+ attendi 0.5
+]
+</screen
+> Questo codice disegna un cerchio, ma la tartaruga attenderà mezzo secondo dopo ogni passo. Ciò da' l'impressione di una tartaruga che si muove lentamente.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect2>
+
+<sect2 id="if">
+<title
+>Eseguire "se"</title>
+ <variablelist>
+ <varlistentry>
+ <term
+>se</term>
+ <listitem
+><para
+><screen
+>se <link linkend="questions"
+>domanda</link
+> [ ... ]</screen>
+Il codice che si trova tra le parentesi quadre sarà eseguito solo <userinput
+>se</userinput
+> la risposta alla <link linkend="questions"
+>domanda</link
+> è <quote
+>vero</quote
+>. Per maggiori informazioni leggi sulle <link linkend="questions"
+>domande</link
+> nella <link linkend="questions"
+>sezione sulle domande</link
+>. <screen>
+x = 6
+se x &gt; 5 [
+ scrivi "x è più grande di cinque!"
+]
+</screen
+> Nella prima linea <userinput
+>x</userinput
+> è impostato a 6. Nella seconda linea è chiesta la <link linkend="questions"
+>domanda</link
+> <userinput
+>x &gt; 5</userinput
+>. Dato che la risposta a questa domanda è <quote
+>vero</quote
+> il comando di controllo dell'esecuzione <userinput
+>se</userinput
+> permetterà che venga eseguito il codice tra le parentesi quadre</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect2>
+
+<sect2 id="while">
+<title
+>Il ciclo "mentre"</title>
+ <variablelist>
+ <varlistentry>
+ <term
+>mentre</term>
+ <listitem
+><para
+><screen
+>mentre <link linkend="questions"
+>domanda</link
+> [ ... ]</screen>
+Il comando di controllo dell'esecuzione <userinput
+>mentre</userinput
+> è molto simile a <link linkend="if"
+><userinput
+>se</userinput
+></link
+>. La differenza è che <userinput
+>mentre</userinput
+> continua a ripetere (in modo ciclico) il codice tra le parentesi quadre fino a quando la risposta alla <link linkend="questions"
+>domanda</link
+> è <quote
+>falso</quote
+>. <screen>
+x = 1
+mentre x &lt; 5 [
+ avanti 10
+ attendi 1
+ x = x + 1
+]
+</screen
+> Nella prima linea <userinput
+>x</userinput
+> è impostato a 1. Nella seconda linea viene chiesta la <link linkend="questions"
+>domanda</link
+> <userinput
+>x &lt; 5</userinput
+>. Dato che la risposta a questa domanda è <quote
+>vero</quote
+> il comando di controllo dell'esecuzione <userinput
+>mentre</userinput
+> inizia ad eseguire il codice tra le parentesi quadre fino a quando la risposta alla <link linkend="questions"
+>domanda</link
+> è <quote
+>falso</quote
+>. In questo caso il codice tra le parentesi quadre sarà eseguito 4 volte, dato che ogni volta che viene eseguita la quinta linea <userinput
+>x</userinput
+> è incrementato di 1.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect2>
+
+<sect2 id="else">
+<title
+>Se no, in altre parole: "altrimenti"</title>
+ <variablelist>
+ <varlistentry>
+ <term
+>altrimenti</term>
+ <listitem
+><para
+><screen
+>se domanda [ ... ] altrimenti [ ... ]</screen>
+<userinput
+>altrimenti</userinput
+> può essere usato in aggiunta al comando di controllo dell'esecuzione <link linkend="if"
+><userinput
+>se</userinput
+></link
+>. Il codice tra le parentesi quadre dopo <userinput
+>altrimenti</userinput
+> è eseguito solo se la risposta alla <link linkend="questions"
+>domanda</link
+> chiesta è <quote
+>falso</quote
+>. <screen>
+ricomincia
+x = 4
+se x &gt; 5 [
+ scrivi "x è più grande di cinque!"
+]
+altrimenti
+[
+ scrivi "x è più piccolo di cinque!"
+]
+</screen
+> La <link linkend="questions"
+>domanda</link
+> chiede se <userinput
+>x</userinput
+> è più grande di 5. Dato che <userinput
+>x</userinput
+> è stato impostato a 4 nella prima linea, la risposta alla domanda è <quote
+>falso</quote
+>. Ciò significa che viene eseguito il codice tra le parentesi dopo <userinput
+>altrimenti</userinput
+>.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect2>
+
+<sect2 id="for">
+<title
+>Il ciclo "per", un ciclo <quote
+>contato</quote
+></title>
+ <variablelist>
+ <varlistentry>
+ <term
+>per</term>
+ <listitem
+><para
+><screen
+>per <userinput
+>punto di partenza</userinput
+> finoa <userinput
+>punto di arrivo</userinput
+> [ ... ]</screen>
+Il ciclo <userinput
+>per</userinput
+> è un <quote
+>ciclo contato</quote
+>, &ie; conta per te. <screen>
+per x = 1 finoa 10 [
+ scrivi x * 7
+ avanti 15
+]
+</screen
+> Ogni volta che viene eseguito il codice tra le parentesi quadre, <userinput
+>x</userinput
+> viene incrementato di 1, fino a quando <userinput
+>x</userinput
+> raggiunge il valore di 10. Il codice tra le parentesi quadre scrive il valore di <userinput
+>x</userinput
+> moltiplicato per 7. Alla fine dell'esecuzione di questo programma vedrai scritta sull'area di disegno la tabellina del 7.</para
+></listitem>
+ </varlistentry>
+ </variablelist>
+</sect2>
+
+</sect1>
+
+
+<sect1 id="learn">
+<title
+>Crea i tuoi comandi con <quote
+>impara</quote
+></title>
+<para
+><userinput
+>impara</userinput
+> è un comando molto particolare, dato che è usato per creare comandi personalizzati. Il comando che crei può richiedere <glossterm linkend="input-output"
+>parametri</glossterm
+> e restituire <glossterm linkend="input-output"
+>valori</glossterm
+>. Diamo un'occhiata a come creare un nuovo comando: <screen>
+impara cerchio x [
+ ripeti 36 [
+ avanti x
+ sinistra 10
+ ]
+]
+</screen
+> Il nuovo comando è chiamato <userinput
+>cerchio</userinput
+>. <userinput
+>cerchio</userinput
+> richiede un <glossterm linkend="input-output"
+>parametro</glossterm
+>, un numero, per impostare la dimensione del cerchio. <userinput
+>cerchio</userinput
+> non restituisce <glossterm linkend="input-output"
+>valori</glossterm
+>. Il comando <userinput
+>cerchio</userinput
+> può essere ora usato nel resto del codice come un normale comando. Guarda questo esempio: <screen
+>impara cerchio X [
+ ripeti 36 [
+ avanti X
+ sinistra 10
+ ]
+]
+
+vai 30,30
+cerchio 20
+
+vai 40,40
+cerchio 50
+</screen>
+</para>
+<para
+>Nell'esempio seguente viene creato un comando con un valore restituito. <screen>
+ricomincia
+
+impara moltiplicatoPerSeStesso n [
+ r = n * 1
+ r = n * n
+ restituisci r
+]
+i = finestrainserimento "Inserisci un numero e premi OK"
+scrivi i + " moltiplicato per se stesso è: " + moltiplicatoPerSeStesso i
+</screen
+> In questo esempio viene creato un nuovo comando chiamato <userinput
+>moltiplicatoPerSeStesso</userinput
+>. Il parametro di questo comando è moltiplicato per se stesso e quindi restituito, usando il comando <anchor id="return"/><userinput
+>restituisci</userinput
+>. Il comando <userinput
+>restituisci</userinput
+> è il modo per restituire un valore da una funzione che hai creato. </para>
+</sect1>
+
+</chapter>