diff options
Diffstat (limited to 'tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook')
-rw-r--r-- | tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook | 1731 |
1 files changed, 0 insertions, 1731 deletions
diff --git a/tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook b/tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook deleted file mode 100644 index e5e29b43d19..00000000000 --- a/tde-i18n-it/docs/kdeedu/kturtle/programming-reference.docbook +++ /dev/null @@ -1,1731 +0,0 @@ -<!--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 > 5 [ - scrivi "ciao" -] -</screen -> In questo esempio la domanda è costituita da <userinput ->x > 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 > 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 < 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 >= 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 <= 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 < 5) e (b == 5) [ - scrivi "ciao" -] -</screen -> In questo esempio è usato il "collante" <userinput ->e</userinput -> per unire insieme due domande (<userinput ->a < 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 < 10) e (b == 5)) e (a < 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 < 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 < 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 — come dicono il loro nomi — 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 > 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 > 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 < 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 < 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 > 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> |