<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&kalgebra;">
  <!ENTITY package "kdeedu">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Italian "INCLUDE">
]>

<book lang="&language;">

<bookinfo>
<title
>Manuale di &kalgebra;</title>

<authorgroup>
<author
><firstname
>Aleix</firstname
> <surname
>Pol</surname
> <affiliation
> <address
>&Aleix.Pol.mail;</address>
</affiliation>
</author>
<othercredit role="translator"
><firstname
>Pino</firstname
><surname
>Toscano</surname
><affiliation
><address
><email
>toscano.pino@tiscali.it</email
></address
></affiliation
><contrib
>Traduzione italiana</contrib
></othercredit
> 
</authorgroup>

<copyright>
<year
>2007</year>
<holder
>&Aleix.Pol;</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>


<date
>2009-01-28</date>
<releaseinfo
>0.8 (&kde; 4.2.0</releaseinfo>

<abstract>
<para
>&kalgebra; è una calcolatrice matematica basata sul linguaggio MathML. Può eseguire semplici operazioni (aritmetiche e logiche) in MathML e può rappresentare grafici 2D e 3D. Non è necessario conoscere MathML per usare &kalgebra;. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdeedu</keyword>
<keyword
>grafico</keyword>
<keyword
>matematica</keyword>
<keyword
>2D</keyword>
<keyword
>3D</keyword>
<keyword
>mathML</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction"
> 
<title
>Introduzione</title
> 
<para
>&kalgebra; è una calcolatrice grafica basata sul linguaggio MathML. Anche se inizialmente era orientata all'uso usando MathML, può essere usata da chiunque con un minimo di conoscenza matematica.</para
> 

<screenshot>
<screeninfo
>Immagine della finestra principale di &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-main-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Finestra principale di &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para
>La finestra principale di &kalgebra; è composta da una scheda <guilabel
>Console</guilabel
>, una scheda 2<guilabel
>D</guilabel
>, una scheda 3<guilabel
>D</guilabel
> e una scheda <guilabel
>Dizionario</guilabel
>. Sotto queste schede si trova un campo di inserimento per scrivere le funzioni o fare calcoli. </para>

</chapter>

<chapter id="syntax">
<title
>Sintassi</title>

<para
>Se vogliamo capire come funziona, la cosa migliore da fare è comprendere che ciò che viene inserito è convertito in MathML, anche se non è necessario conoscere MathML. Ho basato la sintassi praticamente sul senso comune, e non dovrebbe essere difficile. Ho dato un'occhiata alla sintassi di Maxima e di Maple, in modo da esserne abbastanza simile.</para>
<para
>Ecco una lista degli operatori disponibili al momento:</para>
<itemizedlist>
<listitem
><para
>+ - * / : addizione, sottrazione, moltiplicazione and divisione.</para
> </listitem>
<listitem
><para
>^, **: elevamento a potenza, puoi usare entrambi. È anche possibile usare il carattere Unicode ². Con gli elevamenti a potenza è anche possibile effettuare radici, ad esempio: a**(1/b)</para
></listitem>
<listitem
><para
>-&gt; : lambda. È il modo di specificare la variabile vincolata in una funzione.</para
></listitem>
<listitem
><para
>x=a..b : usato per delimitare un intervallo (variabile limitata + limite superiore + limitare inferiore). Ciò significa che x va da a fino a b.</para
></listitem>
<listitem
><para
>() : usato per specificare una priorità più alta.</para
></listitem>
<listitem
><para
>abc(parametri) : funzioni. Quando l'analizzatore trova una funzione, controlla se «abc» è un operatore. Se lo è, sarà trattato come un operatore; se non lo è, sarà trattato come una funzione utente.</para
></listitem>
<listitem
><para
>:= : definizione. Usata per definire il valore di una variabile. Puoi far cose come x:=3, x:=y con y definita o no, oppure perimetro:=r->2*pi*r. </para
></listitem>
<listitem
><para
>? : Definizione di condizione definita a tratti. Una definizione "a tratti" è il modo in cui possiamo definire operazioni condizionali in &kalgebra;. Se introduciamo la condizione prima del «?», questa condizione sarà usata solo se è vera; se viene trovato un «?» senza condizione, verrà usato come ultima alternativa. Esempio: piecewise { eq(x,0) ? 0, eq(x,1) ? x+1, ? x**2 } </para
></listitem>
<listitem
><para
>{ }: contenitore MathML. Può essere usato per definire un contenitore. Utile  principalmente per le funzioni definite a tratti. </para
></listitem>
</itemizedlist>
<para
>Adesso potresti chiedermi: perché l'utente dovrebbe conoscere MathML? Semplice: con il MathML possiamo operare con funzioni come cos(), sin() (e qualsiasi altra funzione trigonometrica), sum() o product(). Non importa che tipo di funzione sia. Possiamo usare plus(), times() e qualunque cosa che ha un operatore. Sono implementate anche le funzioni booleane, così possiamo usare &eg; «or(1,0,0,0,0)».</para>

</chapter>

<chapter id="using-console">
<title
>Uso della console</title>
<para
>La console di &kalgebra; è utile come calcolatrice. C'è una lista delle variabili dichiarate. Facendo doppio clic su ognuna di esse puoi vedere una finestra di dialogo che ti permette di modificarne il valore (un modo per ingannare il log). Ogni volta che inserisci un'espressione, il valore della variabile «ans» sarà modificato all'ultimo risultato.</para>

<para
>Esempi:</para>
<itemizedlist>
<listitem
><para
>sin(pi)</para
></listitem>
<listitem
><para
>k:=33</para
></listitem>
<listitem
><para
>sum(k*x : x=0..10)</para
></listitem>
<listitem
><para
>f:=p->p*k</para
></listitem>
<listitem
><para
>f(pi)</para
></listitem>
</itemizedlist>

<para
>Opzioni del menu:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>N</keycap
></keycombo
></shortcut
> <guimenuitem
>Nuovo</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Pulisce la console.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>C</keycap
></keycombo
></shortcut
> <guimenuitem
>Carica script</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Esegue le istruzioni presenti in un file. Un buon metodo per creare "librerie" o simili.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
></shortcut
> <guimenuitem
>Salva script</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Salva le istruzioni che hai inserito da quando la sessione è iniziata.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>L</keycap
></keycombo
></shortcut
> <guimenuitem
>Salva log</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Salva su file il log e tutti i risultati.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>Q</keycap
></keycombo
></shortcut
> <guimenuitem
>Esci</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Chiude il programma.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="two-D-graphs">
<title
>Grafici 2D</title>
<para
>Per aggiungere un nuovo grafico 2D in &kalgebra;, devi andare nella scheda <guilabel
>Grafico 2D</guilabel
> e fare clic sulla scheda <guilabel
>Aggiungi</guilabel
> per aggiungere una nuova funzione. Sarà quindi attivata la casella di testo dove puoi scrivere la funzione.</para>

<sect1 id="two-D-syntax">
<title
>Sintassi</title>
<para
>Se vuoi usare un tipica funzione f(x) non è necessario specificarla, ma se vuoi usare una funzione f(y) oppure polare, devi aggiungere y-> e q-> come variabili vincolate.</para>

<para
>Esempi:</para>
<itemizedlist>
<listitem
><para
>sin(x)</para
></listitem>
<listitem
><para
>x²</para
></listitem>
<listitem
><para
>y->sin(y)</para
></listitem>
<listitem
><para
>q->3*sin(7*q)</para
></listitem>
<listitem
><para
>q=0..100->q</para
></listitem>
</itemizedlist>
<para
>Quando hai inserito la funzione premi <guibutton
>OK</guibutton
> per visualizzare il grafico nella finestra principale.</para>

</sect1>

<sect1 id="two-D-features">
<title
>Funzioni</title>
<para
>Puoi avere più grafici nella stessa vista. Usa il pulsante <guilabel
>Aggiungi</guilabel
> in modalità «lista». Puoi impostare un diverso colore per ogni grafico.</para>

<para
>La vista può essere ingrandita e spostata con il mouse. Puoi ingrandire e rimpicciolire usando la rotellina del mouse. Puoi anche selezionare un'area con il &LMB; e quest'area sarà ingrandita. Puoi muovere la vista con i tasti freccia.</para>

<para
>Nella scheda <guilabel
>Lista</guilabel
>, puoi aprire un menu contestuale con un clic del &RMB; su una funzione e nasconderla o rimuoverla.</para>

<para
>Nel menu <guimenu
>Grafico 2D</guimenu
> trovi queste opzioni:</para>
<itemizedlist>
<listitem
><para
>Mostra o nascondi la griglia</para
></listitem>
<listitem
><para
>Mantieni le proporzioni quando ingrandisci o riduci</para
></listitem>
<listitem
><para
>Ingrandisci (<keycombo action="simul"
>&Ctrl; <keycap
>+</keycap
></keycombo
>) e riduci (<keycombo action="simul"
>&Ctrl; <keycap
>-</keycap
></keycombo
>)</para
></listitem>
<listitem
><para
>Salva (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) il grafico come immagine</para
></listitem>
<listitem
><para
>Ripristina la vista all'ingrandimento originale</para
></listitem>
<listitem
><para
>Scegli una risoluzione per i grafici</para
></listitem>
</itemizedlist>
</sect1>

</chapter>

<chapter id="three-D-graphs">
<title
>Grafici 3D</title>

<para
>Per disegnare un grafico 3D con &kalgebra;, devi andare nella scheda <guilabel
>Grafico 3D</guilabel
>: lì vedrai una casella di inserimento in basso, dove puoi scrivere la funzione. Z non può essere definita ancora, al momento &kalgebra; supporta solo grafici 3D impliciti che dipendono solo da x e y, come (x,y)->x*y, dove z=x*y.</para>

<para
>Esempi:</para>
<itemizedlist>
<listitem
><para
>sin(x)*sin(y)</para
></listitem>
<listitem
><para
>x/y</para
></listitem>
</itemizedlist>

<para
>La vista può essere ingrandita e spostata con il mouse. Puoi ingrandire e rimpicciolire usando la rotellina del mouse. Tieni premuto il &LMB; e muovi il mouse per ruotare il grafico.</para>

<para
>I tasti freccia «Sinistra» e «Destra» ruotano il grafico attorno all'asse Z, i tasti freccia «Su» e «Giù» ruotano attorno all'asse orizzontale della vista.</para>

<para
>Nel menu <guimenu
>Grafico 3D</guimenu
> trovi queste opzioni:</para>
<itemizedlist>
<listitem
><para
>Abilita o disabilita la trasparenza.</para
></listitem>
<listitem
><para
>Salva (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) il grafico come immagine</para
></listitem>
<listitem
><para
>Ripristina la vista all'ingrandimento originale</para
></listitem>
<listitem
><para
>Disegna i grafici usando punti, linee o un colore di riempimento</para
></listitem>
</itemizedlist>


</chapter>

<chapter id="dictionary">
<title
>Dizionario</title>

<para
>Il dizionari è una collezione di tutte le operazioni disponibili in &kalgebra;. Può essere utile controllare nel dizionario a cosa serve un'operazione e quanti parametri una funzione richiede.</para>

</chapter>


<chapter id="credits">
<title
>Ringraziamenti e licenza</title>

<itemizedlist>
<listitem
><para
>Copyright del programma 2005-2007 &Aleix.Pol;</para>
</listitem>
</itemizedlist>

<para
>Copyright della documentazione 2007 &Aleix.Pol; &Aleix.Pol.mail; </para>

<para
>Traduzione italiana di Pino Toscano <email
>toscano.pino@tiscali.it</email
></para
> 
&underFDL; &underGPL; </chapter>


<appendix id="installation">
<title
>Installazione</title>

<sect1 id="getting-kapptemplate">
<title
>Come ottenere &kalgebra;</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Compilazione e installazione</title>
&install.compile.documentation; </sect1>

</appendix>
&documentation.index; 
</book>

<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->
