<?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 % Portuguese "INCLUDE"> ]> <book id="kalgebra" 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 >2011-11-27</date> <releaseinfo >0.11 (&kde; 4.8)</releaseinfo> <abstract> <para >O &kalgebra; é uma aplicação que poderá substituir a sua calculadora gráfica. Tem funcionalidades numéricas, lógicas, simbólicas e analíticas que lhe permitem calcular expressões na consola e desenhar graficamente os resultados em 2D e 3D. O &kalgebra; é baseado na Mathematical Markup Language (MathML); contudo, não é preciso perceber de 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; tem diversas funcionalidades que permitem ao utilizador efectuar todos os tipos de operações matemáticas e mostrá-las de forma gráfica. Numa altura, este programa estava orientado para o MathML. Agora poderá ser usado por todos os que tenham alguns conhecimentos de matemática para resolver problemas simples e avançados. </para> <para >Inclui algumas funcionalidades como por exemplo: </para> <itemizedlist> <listitem ><para >Uma consola do utilizador para avaliar rápida e facilmente funções matemáticas. </para ></listitem> <listitem ><para >Capacidades de programação para séries avançadas de cálculos </para ></listitem> <listitem ><para >Capacidades da linguagem que incluem a definição de funções e a completação automática da sintaxe. </para ></listitem> <listitem ><para >As funções de cálculo incluem o cálculo simbólico de derivadas, o cálculo vectorial e a manipulação de listas. </para ></listitem> <listitem ><para >Gráficos de funções com cursores dinâmicos para a descoberta gráfica de raízes e outros tipos de análises. </para ></listitem> <listitem ><para >Gráficos 3D para visualizações úteis de funções em 3D. </para ></listitem> <listitem ><para >Um dicionário incorporado de operadores para uma referência rápida das funções disponíveis. </para ></listitem> </itemizedlist> <para >Aqui está uma imagem da janela principal do &kalgebra; em acção: </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 >Quando o utilizador inicia uma sessão do &kalgebra;, é-lhes apresentada uma única janela que 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 e um campo de visualização que apresenta os resultados. </para> <para >Em qualquer altura, o utilizador poderá gerir a sua sessão com as opções do menu <guilabel >Sessão</guilabel >:</para> <variablelist> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >N</keycap ></keycombo ></shortcut > <guimenu >Sessão</guimenu ><guimenuitem >Novo</guimenuitem > </menuchoice ></term> <listitem ><para >Abre uma nova janela do &kalgebra;.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >Q</keycap ></keycombo ></shortcut > <guimenu >Sessão</guimenu ><guimenuitem >Sair</guimenuitem > </menuchoice ></term> <listitem ><para >Termina o programa.</para ></listitem> </varlistentry> </variablelist> </chapter> <chapter id="syntax"> <title >Sintaxe</title> <para >O &kalgebra; usa uma sintaxe algébrica intuitiva para introduzir as funções do utilizador, semelhante à que é usada nas calculadoras modernas. Esta secção apresenta os operadores fundamentais que estão disponíveis no &kalgebra;. O autor do &kalgebra; modelou esta sintaxe com base no <ulink url="http://maxima.sourceforge.net" >Maxima</ulink > e no <ulink url="http://www.maplesoft.com/products/maple/" >Maple</ulink > para os utilizadores que se possam familiarizar com estes programas. </para> <para >Para os utilizadores que estejam interessados no funcionamento interno do &kalgebra;, as expressões introduzidas pelo utilizador são convertidas para MathML pela infra-estrutura. Uma compreensão rudimentar das capacidades suportadas pelo MathML dará um grande avanço sobre as capacidades internas do &kalgebra;. </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 indicar uma ou mais variáveis livres que serão associadas a uma função´. Por exemplo, na expressão, <userinput >comprimento:=(x,y)->(x*x+y*y)^0.5</userinput >, o operador 'lambda' é usado para definir que o 'x' e o 'y' serão preenchidos quando for usada a função 'comprimento'. </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 { x=0 ? 0, 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> <listitem ><para >= > >= < <= : Comparações dos valores para 'igual', 'maior', 'maior ou igual', 'menor' ou 'menor ou igual', respectivamente</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 uma calculadora com esteróides. O utilizador poderá introduzir expressões para avaliar no modo <guimenu >Calcular</guimenu > ou <guimenu >Avaliar</guimenu >, dependendo da selecção do menu <guimenu >Consola</guimenu >. </para> <para >Para além de mostrar as equações introduzidas pelo utilizador e os resultados na área da consola, todas as variáveis declaradas são apresentadas numa área persistente à direita. Ao fazer duplo-click sobre uma variável, poderá ver uma janela que lhe permite alterar os seus valores (apenas uma forma de enganar o registo). </para> <para >A variável "ans" é especial; sempre que introduzir uma expressão, o valor da variável "ans" será alterado para o último resultado. </para> <para >As funções seguintes são exemplos que poderão ser introduzidos no campo de texto da janela da consola:</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 >Segue-se uma imagem da janela da consola depois de introduzir as expressões de exemplo acima: </para> <screenshot> <screeninfo >Imagem da janela da consola do &kalgebra; com expressões de exemplo</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kalgebra-console-window.png" format="PNG"/> </imageobject> <textobject> <phrase >Janela da consola do &kalgebra;</phrase> </textobject> </mediaobject> </screenshot> <para >Um utilizador poderá controlar a execução de uma série de cálculos com as opções do menu <guimenu >Consola</guimenu >:</para> <variablelist> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >L</keycap ></keycombo ></shortcut > <guimenu >Consola</guimenu ><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 prosseguir trabalho anterior.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >G</keycap ></keycombo ></shortcut ><guimenu >Consola</guimenu ><guimenuitem >Gravar o Programa</guimenuitem > </menuchoice ></term> <listitem ><para >Grava as instruções que escreveu desde o início da sessão, para as poder reutilizar. Gera ficheiros de texto, de modo a serem fáceis de alterar com qualquer editor de texto, como o Kate.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl; <keycap >S</keycap ></keycombo ></shortcut ><guimenu >Consola</guimenu ><guimenuitem >Exportar o Registo</guimenuitem > </menuchoice ></term> <listitem ><para >Grava o registo num ficheiro em &HTML;, para poder imprimi-lo ou publicá-lo.</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(7*q)</para ></listitem> <listitem ><para >t->vector{sin t, t**2}</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. Mova a vista com as teclas dos cursores.</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> <para >No menu do <guimenu >Gráfico 2D</guimenu >, poderá encontrar estas opções:</para> <itemizedlist> <listitem ><para >Mostrar ou esconder a grelha</para ></listitem> <listitem ><para >Manter as proporções ao ampliar</para ></listitem> <listitem ><para >Ampliar (<keycombo action="simul" >&Ctrl; <keycap >+</keycap ></keycombo >) e reduzir (<keycombo action="simul" >&Ctrl; <keycap >-</keycap ></keycombo >)</para ></listitem> <listitem ><para >Gravar (<keycombo action="simul" >&Ctrl; <keycap >S</keycap ></keycombo >) o gráfico como um ficheiro de imagem</para ></listitem> <listitem ><para >Repor a janela com o nível de ampliação original</para ></listitem> <listitem ><para >Seleccionar uma resolução para os gráficos</para ></listitem> </itemizedlist> <para >Em baixo, está uma imagem de um utilizador cujo cursor está na parte mais à direita da função, 'sin(1/x)'. O utilizador que a desenhou usou uma resolução bastante fina para criar este grafo (dado que oscila em altas frequências, perto da origem). Existe também um cursor dinâmico onde poderá mover o seu cursor para um ponto, para que lhe mostre os valores de X e Y no canto inferior esquerdo do ecrã. Também é desenhada uma "linha tangente" na função, no local em que se encontra o cursor. </para> <screenshot> <screeninfo >Aqui está uma imagem da janela de gráficos 2D do &kalgebra;</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kalgebra-2dgraph-window.png" format="PNG"/> </imageobject> <textobject> <phrase >Janela de gráficos 2D do &kalgebra;</phrase> </textobject> </mediaobject> </screenshot> </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 no fundo que será usado para introduzir a sua função. O Z ainda não pode ser definido; de momento, o &kalgebra; só suporta funções implícitas que dependam apenas do 'x' e 'y', como por exemplo (x,y)->x*y, onde o 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 janela poderá ser ampliada e movida com o rato. Se usar o rato, poderá ampliar e reduzir a mesma. Mantenha o &LMB; carregado e mova o rato para rodar o gráfico.</para> <para >As teclas de cursores para a esquerda e direita rodam o gráfico em torno do eixo dos Z, enquanto os cursores para cima e baixo rodam-no em torno do eixo horizontal.</para> <para >No menu <guimenu >Gráfico 3D</guimenu >, poderá encontrar estas opções:</para> <itemizedlist> <listitem ><para >Activar ou desactivar a transparência no menu de gráficos 3D</para ></listitem> <listitem ><para >Gravar (<keycombo action="simul" >&Ctrl; <keycap >S</keycap ></keycombo >) o gráfico como um ficheiro de imagem</para ></listitem> <listitem ><para >Repor a janela com o nível de ampliação original no menu de gráficos 3D</para ></listitem> <listitem ><para >Poderá desenhar os gráficos com pontos, linhas ou preenchimentos no menu de gráficos 3D</para ></listitem> </itemizedlist> <para >Por baixo, encontra-se uma imagem da função "sombrero". Este gráfico em particular é apresentado com o estilo de linha dos gráficos 3D. </para> <screenshot> <screeninfo >Aqui está uma imagem da janela de gráficos 3D do &kalgebra;</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kalgebra-3dgraph-window.png" format="PNG"/> </imageobject> <textobject> <phrase >Janela de gráficos 3D do &kalgebra;</phrase> </textobject> </mediaobject> </screenshot> </chapter> <chapter id="dictionary"> <title >Dicionário</title> <para >O dicionário é uma colecção de todas as funções incorporadas e 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. É um local útil para descobrir as diversas capacidades do &kalgebra;. </para> <para >Por baixo, encontra-se uma pesquisa no dicionário do &kalgebra; pela função 'cosine' (co-seno). </para> <screenshot> <screeninfo >Aqui está uma imagem da janela do dicionário do &kalgebra;</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kalgebra-dictionary-window.png" format="PNG"/> </imageobject> <textobject> <phrase >Janela do dicionário do &kalgebra;</phrase> </textobject> </mediaobject> </screenshot> </chapter> &commands; <chapter id="credits"> <title >Créditos e Licença</title> <itemizedlist> <listitem ><para >Programa com 'copyright' 2005-2009 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: -->