<?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 % Portuguese "INCLUDE"> ]> <book lang="&language;"> <bookinfo> <title >O Manual do &kalgebra;</title> <authorgroup> <author ><firstname >Aleix</firstname > <surname >Pol</surname > <affiliation > <address >&Aleix.Pol.mail;</address> </affiliation> </author> <othercredit role="translator" ><firstname >José</firstname ><surname >Pires</surname ><affiliation ><address ><email >zepires@gmail.com</email ></address ></affiliation ><contrib >Tradução</contrib ></othercredit > </authorgroup> <copyright> <year >2007</year> <holder >&Aleix.Pol;</holder> </copyright> <legalnotice >&FDLNotice;</legalnotice> <date >2008-08-22</date> <releaseinfo >0.8 (&kde; 4.1.2</releaseinfo> <abstract> <para >O &kalgebra; é uma calculadora matemática baseada na linguagem de formatação MathML. Nos dias de hoje, consegue fazer operações simples de MathML (aritméticas e lógicas) e consegue representar gráficos em 2D e 3D. Não é propriamente necessário saber MathML para usar o &kalgebra;. </para> </abstract> <keywordset> <keyword >KDE</keyword> <keyword >kdeedu</keyword> <keyword >gráfico</keyword> <keyword >matemática</keyword> <keyword >2D</keyword> <keyword >3D</keyword> <keyword >mathML</keyword> </keywordset> </bookinfo> <chapter id="introduction" > <title >Introdução</title > <para >O &kalgebra; é uma calculador gráfica baseada em MathML. Ainda que fosse inicialmente orientada para MathML, pode ser agora usada por toda a gente que tenha pequenos conhecimentos matemáticos.</para > <screenshot> <screeninfo >Aqui está uma imagem da janela principal do &kalgebra;</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kalgebra-main-window.png" format="PNG"/> </imageobject> <textobject> <phrase >Janela principal do &kalgebra;</phrase> </textobject> </mediaobject> </screenshot> <para >A janela principal do &kalgebra; consiste numa página de <guilabel >Consola</guilabel >, uma página <guilabel >Gráfico 2D</guilabel > e outra <guilabel >Gráfico 3D</guilabel >, assim como ainda uma página de <guilabel >Dicionário</guilabel >. Por baixo destas páginas, irá ver um campo de texto onde poderá escrever as suas funções ou fazer os seus cálculos. </para> </chapter> <chapter id="syntax"> <title >Sintaxe</title> <para >Se quiser compreender como funciona, a melhor coisa a fazer é saber que os dados introduzidos são convertidos para MathML, se bem que não é necessário perceber de MathML. A sintaxe baseia-se no senso comum, pelo que não deverá ser difícil de compreender; foi também usada como referência a sintaxe do 'maxima' e do 'maple', pelo que se assemelha também à destes.</para> <para >Será agora apresentada uma lista dos operadores suportados por agora:</para> <itemizedlist> <listitem ><para >+ - * / : Soma, subtracção, multiplicação e divisão.</para > </listitem> <listitem ><para >^, **: Potência - poderá ser usado qualquer um deles. Também é possível usar os caracteres Unicode ². As potências também são uma forma de calcular raizes, como pode ser feito em a**(1/b)</para ></listitem> <listitem ><para >-> : lambda. É a forma de definir a variável limitada de uma função.</para ></listitem> <listitem ><para >x=a..b : Isto é usado quando é necessário definir um intervalo [variável + limite-superior + limite-inferior). Isto significa que o 'x' vai de 'a' a 'b'.</para ></listitem> <listitem ><para >() : É usado para aumentar a precedência.</para ></listitem> <listitem ><para >abc(parâmetros) : Funções. Quando o processador encontrar uma função, verifica se o 'abc' é um operador. Se for, será tratado como tal; se não for, será tratado como uma função do utilizador.</para ></listitem> <listitem ><para >:= : Definição. É usada para definir o valor de uma variável. Poderá fazer coisas do tipo x:=3, x:=y, sendo que o 'y' possa estar definido ou não, ou ainda perimetro:=r->2*pi*r. </para ></listitem> <listitem ><para >? : Definição de condições. Esta é a forma de definir operações condicionais no &kalgebra;. Se introduzir a condição antes do '?', será usada apenas se for verdadeira; se encontrar um '?' sem qualquer condição, irá entrar na última instância. Por exemplo: condição { eq(x,0) ? 0, eq(x,1) ? x+1, ? x**2 } </para ></listitem> <listitem ><para >{ } : Contentor de MathML. Pode ser usado para definir um contentor. É principalmente útil para lidar com as definições de operações condicionais. </para ></listitem> </itemizedlist> <para >Agora poderá perguntar: para que interessa então o MathML? É simples: com ele, poderá usar funções como a cos(), sin(), outras funções trigonométricas, o sum() ou o product(). Não interessa o seu tipo. Poderá usar o plus(), times() e tudo o que tiver o seu operador. As funções booleanas estão também implementadas, pelo que poderá fazer algo do género 'or(1,0,0,0,0)'.</para> </chapter> <chapter id="using-console"> <title >Usar a Consola</title> <para >A consola do &kalgebra; é útil como calculadora. Aí terá uma lista das variáveis declaradas. Se fizer duplo-click nelas, irá ver uma janela que lhe permite alterar o valor da mesma (é apenas uma forma de enganar o registo). Sempre que introduzir uma expressão o valor da variável 'ans' será alterado 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..x)</para ></listitem> <listitem ><para >f:=p->p*k</para ></listitem> <listitem ><para >f(pi)</para ></listitem> </itemizedlist> <para >Opções do menu:</para> <variablelist> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >N</keycap ></keycombo ></shortcut > <guimenuitem >Novo</guimenuitem > </menuchoice ></term> <listitem ><para >Limpa o registo.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >L</keycap ></keycombo ></shortcut > <guimenuitem >Carregar um Programa</guimenuitem > </menuchoice ></term> <listitem ><para >Executa as instruções de forma sequencial a partir de um ficheiro. É bom se quiser definir algumas bibliotecas ou outros casos semelhantes.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >G</keycap ></keycombo ></shortcut > <guimenuitem >Gravar o Programa</guimenuitem > </menuchoice ></term> <listitem ><para >Grava as instruções que escreveu desde o início da sessão.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >S</keycap ></keycombo ></shortcut > <guimenuitem >Gravar o Registo</guimenuitem > </menuchoice ></term> <listitem ><para >Grava o registo num ficheiro, adicionando os resultado e tudo.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >Q</keycap ></keycombo ></shortcut > <guimenuitem >Sair</guimenuitem > </menuchoice ></term> <listitem ><para >Termina o programa.</para ></listitem> </varlistentry> </variablelist> </chapter> <chapter id="two-D-graphs"> <title >Gráficos 2D</title> <para >Para adicionar um novo gráfico 2D ao &kalgebra;, o que tem a fazer é ir à página de <guilabel >Gráficos 2D</guilabel > e carregar no botão para <guilabel >Adicionar</guilabel > a função nova. Depois, ficará activo o campo de texto onde poderá escrever a sua função.</para> <sect1 id="two-D-syntax"> <title >Sintaxe</title> <para >Se quiser usar uma função típica f(x), não é necessário defini-la; mas se quiser uma função f(y) ou uma função polar, terá de adicionar o 'y' e o 'q' como variáveis-fronteira.</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(7q)</para ></listitem> <listitem ><para >q=0..100->q</para ></listitem> </itemizedlist> <para >Se tiver introduzido a função, carregue no botão <guibutton >OK</guibutton > para mostrar o gráfico na janela principal.</para> </sect1> <sect1 id="two-D-features"> <title >Características</title> <para >Poderá ter vários gráfico na mesma janela. Basta usar o botão <guilabel >Adicionar</guilabel > quando estiver no modo de Lista. Poderá atribuir a cada gráfico a sua própria cor.</para> <para >A janela poderá ser ampliada e movida com o rato. Se usar o rato, poderá ampliar e reduzir a mesma. Poderá também seleccionar uma área com o botão esquerdo do rato, ficando apenas esta área ampliada.</para> <para >Na página da <guilabel >Lista</guilabel >, poderá abrir um menu de contexto com o &RMB;, ao carregar numa função, para a esconder ou remover.</para> </sect1> </chapter> <chapter id="three-D-graphs"> <title >Gráficos 3D</title> <para >Para desenhar um Gráfico 3D com o &kalgebra;, terá de ir à página de <guilabel >Gráficos 3D</guilabel >, onde irá ver um campo de texto que será usado para introduzir os seus dados. De momento, o &kalgebra; só suporta funções que se ajustem a f(x,y), definindo neste caso o Z.</para> <para >Exemplos:</para> <itemizedlist> <listitem ><para >sin(x)*sin(y)</para ></listitem> <listitem ><para >x/y</para ></listitem> </itemizedlist> </chapter> <chapter id="dictionary"> <title >Dicionário</title> <para >O dicionário é uma colecção de todas as operações disponíveis no &kalgebra;. Pode ser útil para verificar para que serve uma dada operação e para saber quantos parâmetros uma função necessita.</para> </chapter> <chapter id="credits"> <title >Créditos e Licença</title> <itemizedlist> <listitem ><para >Programa com 'copyright' 2005-2007 de &Aleix.Pol;</para> </listitem> </itemizedlist> <para >Documentação com 'copyright' 2007 de &Aleix.Pol; &Aleix.Pol.mail; </para> <para >Tradução de José Nuno Pires <email >zepires@gmail.com</email ></para > &underFDL; &underGPL; </chapter> <appendix id="installation"> <title >Instalação</title> <sect1 id="getting-kapptemplate"> <title >Como obter o &kalgebra;</title> &install.intro.documentation; </sect1> <sect1 id="compilation"> <title >Compilação e instalação</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: -->