<?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 commands SYSTEM "commands.docbook">
  
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Galician  "INCLUDE">
]>

<book lang="&language;">

<bookinfo>
<title
>Manual do &kalgebra;</title>

<authorgroup>
<author
><firstname
>Aleix</firstname
> <surname
>Pol</surname
> <affiliation
> <address
>&Aleix.Pol.mail;</address>
</affiliation>
</author>
<othercredit role="translator"
><firstname
>Xosé</firstname
><surname
>Calvo</surname
><affiliation
><address
><email
></email
></address
></affiliation
><contrib
>Tradutor do proxecto Trasno</contrib
></othercredit
> 
</authorgroup>

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

<legalnotice
>&FDLNotice;</legalnotice>


<date
>2010-09-22</date>
<releaseinfo
>0.10 (&kde; 4.5)</releaseinfo>

<abstract>
<para
>O &kalgebra; é unha calculadora matemática baseada na linguaxe de etiquetaxe de contidos MathML. Agora mesmo é capaz de facer operacións simples de MathML (aritméticas e lóxicas) e de representar gráficos 2D e 3D. De momento non se precisa saber MathML para empregar o &kalgebra;. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdeedu</keyword>
<keyword
>gráficos</keyword>
<keyword
>matemáticas</keyword>
<keyword
>2D</keyword>
<keyword
>3D</keyword>
<keyword
>mathML</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction"
> 
<title
>Introdución</title
> 
<para
>O &kalgebra; é unha calculadora gráfica baseada en MathML. Aínda que inicialmente se orientaba cara o MathML, agora pódea utilizar calquera persoa con poucos coñecementos matemáticos.</para
> 

<screenshot>
<screeninfo
>Velaquí unha captura da xanela principal do &kalgebra;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="kalgebra-main-window.png" format="PNG"/>
	  </imageobject>
	    <textobject>
	    <phrase
>Xanela principal do &kalgebra;</phrase>
	  </textobject>
	</mediaobject>
</screenshot>

<para
>A xanela principal do &kalgebra; consiste nunha lapela <guilabel
>Consola</guilabel
>, unha lapela <guilabel
>Gráficas 2D</guilabel
>, unha lapela <guilabel
>Gráficas 3D</guilabel
> e unha lapela <guilabel
>Dicionario</guilabel
>. Por baixo destas lapelas hai un campo de entrada no que escribir as funcións ou facer cálculos. </para>

<para
>Opcións de menú frecuentes da lapela <guilabel
>Consola</guilabel
>, a lapela <guilabel
>2D</guilabel
> e a lapela <guilabel
>Gráficos 3D</guilabel
>:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>N</keycap
></keycombo
></shortcut
> <guimenu
>Sesión</guimenu
><guimenuitem
>Nova</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Abre unha xanela nova do &kalgebra;</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>Q</keycap
></keycombo
></shortcut
> <guimenu
>Sesión</guimenu
><guimenuitem
>Saír</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Apaga o programa.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

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

<para
>Para comprender como funciona, o mellor é pensar que o que escribamos se converte en MathML, aínda que non se precisa coñecer MathML. Basei a sintaxe basicamente no senso común e non lle debería resultar difícil a ninguén; estudei ben as sintaxes de maxima e de maple para que se lle asemellen bastante.</para>
<para
>Eis unha listaxe dos operadores dispoñíbeis de momento:</para>
<itemizedlist>
<listitem
><para
>+ - * / : Suma, resta, multiplicación e división.</para
> </listitem>
<listitem
><para
>^, **: Potencias; pódense empregar os dous. Tamén é posíbel empregar os caracteres unicode ² . As potencias son tamén unha maneira de facer raíces; pódense facer así: a**(1/b)</para
></listitem>
<listitem
><para
>-&gt; : lambda. É como se especifica a variábel ligada (ou muda) dunha función.</para
></listitem>
<listitem
><para
>x=a..b : Isto emprégase cando hai que delimitar un intervalo (variábel ligada+límite superior+límite inferior). Isto significa que x vai de a a b.</para
></listitem>
<listitem
><para
>() : Emprégase para especificar unha prioridade maior.</para
></listitem>
<listitem
><para
>abc(paráms) : Funcións. Cando o analizador atopa unha función, comproba se abc é un operador. Se o é, trátase como operador; se non o é, trátase como función do usuario.</para
></listitem>
<listitem
><para
>:= : Definición. Emprégase para definir un valor variábel. Pódense facer cousas como x:=3, x:=y, estando y definido ou non ou perímetro:=r->2*pi*r. </para
></listitem>
<listitem
><para
>? : Definición de condición de segmento. Segmento é como podemos definir as operacións condicionais no &kalgebra;. Se se introduce a condición antes do «?», só emprega esta condición se é verdadeira; se atopa un «?» sen ningunha condición, entra na última instancia. Exemplo: piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 } </para
></listitem>
<listitem
><para
>{} : Contedor de MathML. Pódese empregar para definir un contedor. É útil especialmente para traballar con segmentos. </para
></listitem>
<listitem
><para
>= &gt; &gt;= &lt; &lt;= : Comparadores de valor para igual que, maior que, maior ou igual que, menor que e menor ou igual que, respectivamente</para
></listitem>
</itemizedlist>
<para
>E agora poderíaseme preguntar que por que se debe preocupar o usuario por MathML? É fácil. Con isto, podemos traballar con funcións como cos(), sin() e outras funcións trigonométricas, sum() ou product(). Non importa de que tipo sexan. Podemos empregar plus(), times() e todo o que teña un operador. As funcións lóxicas tamén están incorporadas, polo que podemos facer cousas como or(1,0,0,0,0). </para>

</chapter>

<chapter id="using-console">
<title
>Uso da consola</title>
<para
>A consola do &kalgebra; é útil como calculadora. Nela hai unha lista das variábeis declaradas. Preméndoas dúas veces aparece un diálogo que permite alterar os seus valores (é un xeito de enganar o rexistro). Cada vez que se escribe unha expresión, o valor da variábel «ans» muda para o último resultado.</para>

<para
>Exemplos:</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
>Opcións do menú:</para>

<variablelist>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>L</keycap
></keycombo
></shortcut
> <guimenu
>Consola</guimenu
><guimenuitem
>Cargar un script</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Executa secuencialmente as instrucións dun ficheiro. Está ben se se queren definir algunhas bibliotecas ou volver sobre algún traballo anterior.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>G</keycap
></keycombo
></shortcut
> <guimenu
>Consola</guimenu
><guimenuitem
>Gardar o script</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Garda as instrucións que se escribisen desde que comezou a sesión para podelas reutilizar. Xera ficheiros de texto, polo que debería ser doado argallar neles con calquera editor de texto, como Kate.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
></shortcut
> <guimenu
>Consola</guimenu
><guimenuitem
>Exportar o rexistro</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Garda o rexistro con todos os resultados nun ficheiro HTML que se poida imprimir ou publicar.</para
></listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="two-D-graphs">
<title
>Gráficas 2D</title>
<para
>Para engadir unha gráfica 2D nova no &kalgebra; hai que ir á lapela<guilabel
>Gráfica 2D</guilabel
> e premer a lapela <guilabel
>Engadir</guilabel
> para adicionar a nova función. O foco pasa a unha caixa de entrada de texto na que se pode escribir a función.</para>

<sect1 id="two-D-syntax">
<title
>Sintaxe</title>
<para
>Se se quere empregar unha función típica f(x) non é preciso especificala, mais se se quere unha función f(y) ou polar hai que engadir y-> e q-> como variábeis ligadas.</para>

<para
>Exemplos:</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
>t->vector{sin t, t**2}</para
></listitem>
</itemizedlist>
<para
>Unha vez introducida a función, hai que premer o botón <guibutton
>Aceptar</guibutton
> para mostrar a gráfica na xanela principal.</para>

</sect1>

<sect1 id="two-D-features">
<title
>Características</title>
<para
>Pódense colocar varias gráficas na mesma vista. Só hai que empregar o botón <guilabel
>Engadir</guilabel
> no modo Lista. Pódeselle asignar a súa propia cor a cada gráfica.</para>

<para
>A vista pódese ampliar e mover co rato. Coa rodiña pódese achegar e alonxar. Tamén se pode seleccionar unha área co botón esquerdo do rato e esta área amplíase. A vista móvese coas teclas das frechas.</para>

<para
>Na lapela <guilabel
>Lista</guilabel
> pódese abrir un menú de contexto co &RMB; sobre unha función e acochala ou eliminala.</para>

<para
>No menú <guimenu
>Gráfica 2D</guimenu
> hai estas opcións:</para>
<itemizedlist>
<listitem
><para
>Mostrar ou acochar a grade</para
></listitem>
<listitem
><para
>Manter as proporcións durante a ampliación</para
></listitem>
<listitem
><para
>Achegar (<keycombo action="simul"
>&Ctrl; <keycap
>+</keycap
></keycombo
>) e afastar (<keycombo action="simul"
>&Ctrl; <keycap
>-</keycap
></keycombo
>)</para
></listitem>
<listitem
><para
>Gardar (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) a gráfica como un ficheiro de imaxe</para
></listitem>
<listitem
><para
>Restaurar a vista á ampliación orixinal</para
></listitem>
<listitem
><para
>Seleccionar unha resolución para as gráficas</para
></listitem>
</itemizedlist>
</sect1>

</chapter>

<chapter id="three-D-graphs">
<title
>Gráficas 3D</title>

<para
>Para debuxar unha gráfica 3D co &kalgebra; hai que ir á lapela <guilabel
>Gráfica 3D</guilabel
>, onde se ve un campo de entrada no fondo no que se pode escribir a función. Z non se pode definir aínda; de momento, o &kalgebra; só permite gráficas 3D implícitas que dependan só de x e y, como (x,y)->x*y, onde z=x*y.</para>

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

<para
>A vista pódese ampliar e mover co rato. Coa rodiña pódese achegar e alonxar. Mantén o &LMB; e move o rato para xirar a gráfica.</para>

<para
>As frechas esquerda e dereita xiran a gráfica arredor do eixo z; as frechas para riba e para baixo rotan arredor do eixo horizontal da vista.</para>

<para
>No menú <guimenu
>Gráficas 3D</guimenu
> atópanse estas opcións:</para>
<itemizedlist>
<listitem
><para
>Activar ou desactivar a transparencia</para
></listitem>
<listitem
><para
>Gardar (<keycombo action="simul"
>&Ctrl; <keycap
>S</keycap
></keycombo
>) a gráfica como un ficheiro de imaxe</para
></listitem>
<listitem
><para
>Restaurar a vista á ampliación orixinal</para
></listitem>
<listitem
><para
>Deseñar os gráficos con puntos, liñas discontinuas ou liñas continuas</para
></listitem>
</itemizedlist>


</chapter>

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

<para
>O dicionario é unha colección de todas as operacións dispoñíbeis no &kalgebra;. Pode ser útil comprobar no dicionario para que vale unha operación e para saber de cantos parámetros precisa unha función.</para>
</chapter>

&commands;

<chapter id="credits">
<title
>Créditos e licenza</title>

<itemizedlist>
<listitem
><para
>Copyright do programa 2005-2009 &Aleix.Pol;</para>
</listitem>
</itemizedlist>

<para
>Copyright da documentación 2007 &Aleix.Pol; &Aleix.Pol.mail; </para>

<para
>Tradución da documentación: Xosé Calvo - http://trasno.net/</para
> 
&underFDL; &underGPL; </chapter>


<appendix id="installation">
<title
>Instalación</title>

<sect1 id="getting-kapptemplate">
<title
>Como obter o &kalgebra;</title>
&install.intro.documentation; </sect1>

<sect1 id="compilation">
<title
>Compilación e instalación</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:
-->
