<chapter id="reference">
<title
>Referência do &kmplot;</title>

<!--
<mediaobject>
<imageobject>
<imagedata fileref="kfkt.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>This menu entry or toolbar button opens the Functions Editor.  Here
you can enter up to 10 functions or
function groups.  The parser knows <firstterm
>explicit</firstterm
> and
<firstterm
>parametric</firstterm
> form.  With specific extensions it
is possible to add first and second derivatives and to choose values
for the function group parameter.</para>
-->

<sect1 id="func-syntax">
<title
>Sintaxe das Funções</title>

<para
>Algumas regras de sintaxe com as quais terá de estar de acordo:</para>

<screen
><userinput
>nome(var1[, var2])=termo [;extensões]</userinput
>
</screen>


<variablelist>
<varlistentry>
<term
>nome</term>
<listitem>

<para
>O nome da função. Se o primeiro carácter for um <quote
>r</quote
>, o analisador irá assumir que você está a usar coordenadas polares. Se o primeiro carácter for um <quote
>x</quote
> (como por exemplo <quote
>xfuncao</quote
>), o processador irá ficar à espera de uma segunda função com um <quote
>y</quote
> inicial (neste caso, <quote
>yfuncao</quote
>) para definir a função de forma paramétrica. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>var1</term>
<listitem
><para
>A variável da função</para
></listitem>
</varlistentry>
<varlistentry>
<term
>var2</term
> 
<listitem
><para
>O <quote
>parâmetro de grupo</quote
> da função. Deverá estar separado da variável da função por uma vírgula. Você poderá usar o parâmetro do grupo para, por exemplo, desenhar um conjunto de gráficos de uma função. Os valores do parâmetro podem ser seleccionados manualmente ou você poderá optar por ter uma barra deslizante que controle um parâmetro. Ao alterar o valor da barra, o valor do parâmetro respectivo irá alterar também. A barra poderá ser configurada para um inteiro entre 0 e 100.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>termo</term>
<listitem
><para
>A expressão que define a função.</para
></listitem>
</varlistentry>
</variablelist>
</sect1>

<sect1 id="func-predefined">
<title
>Nomes de Funções e Constantes Predefinidas</title>

<para
>Todas as funções e constantes predefinidas que o &kmplot; conhece podem ser mostradas se escolher a opção <menuchoice
><guimenu
>Ajuda</guimenu
><guimenuitem
>Nomes</guimenuitem
> </menuchoice
>. Estas são: <variablelist>

<varlistentry>
<term
>sqr, sqrt</term>
<listitem>
<para
>Devolve o quadrado e a raiz quadrada de um número, respectivamente.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>exp, ln</term>
<listitem>
<para
>Devolve o exponencial e o logaritmo natural de um número, respectivamente.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>log</term>
<listitem>
<para
>Devolve o logaritmo de base 10 de um número.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>sin, arcsin</term>
<listitem>
<para
>Devolve o seno e o seno inverso (arco-seno) de um número, respectivamente. Repare que o argumento do seno e o valor devolvido pelo arco-seno são em radianos.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>cos, arccos</term>
<listitem>
<para
>Devolve o coseno e o coseno inverso (arco-coseno) de um número, respectivamente. Os valores envolvidos estão em radianos.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>tan, arctan</term>
<listitem>
<para
>Devolve a tangente e a tangente inversa (arco-tangente) de um número, respectivamente. Os valores envolvidos estão em radianos.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>sinh, arcsinh</term>
<listitem>
<para
>Devolve o seno hiperbólico e o seno inverso hiperbólico (arco-seno hiperbólico) de um número, respectivamente.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>cosh, arccosh</term>
<listitem>
<para
>Devolve o coseno hiperbólico e o coseno inverso hiperbólico (arco-coseno hiperbólico) de um número, respectivamente.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>tanh, arctanh</term>
<listitem>
<para
>Devolve a tangente hiperbólica e a tangente inversa hiperbólica (arco-tangente hiperbólica) de um número, respectivamente.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>sin, arcsin</term>
<listitem>
<para
>Devolve o seno e o seno inverso (arco-seno) de um número, respectivamente. Repare que o argumento do seno e o valor devolvido pelo arco-seno são em radianos.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>cos, arccos</term>
<listitem>
<para
>Devolve o coseno e o coseno inverso (arco-coseno) de um número, respectivamente. Os valores envolvidos estão em radianos.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>pi, e</term>
<listitem>
<para
>As constantes que representam o &pgr; (3,14159...) e o 'e' (2,71828...), respectivamente.</para>
</listitem>
</varlistentry>

</variablelist>
</para>

<para
>Estas funções e constantes e ainda todas as funções definidas pelo utilizador poderão ser usadas para determinar também a configuração dos eixos. Veja a <xref linkend="axes-config"/>. </para>

</sect1>

<sect1 id="func-extension">
  <title
>Extensões</title>
  <para
>Uma extensão para uma função é indicada se introduzir um ponto-e-vírgula, seguido da extensão, após a definição da função. A extensão tanto poderá ser escrita no campo de Edição Rápida como usando método de DCOP Parser addFunction. Nenhuma das extensões está disponível para as funções paramétricas, mas o N e o D[a,b] funcionam também para as funções polares. Por exemplo: <screen>
      <userinput>
        f(x)=x^2; A1
      </userinput>
    </screen
> irá mostrar o gráfico y=x<superscript
>2</superscript
> com a sua primeira derivada. As extensões suportadas são descritas em baixo: <variablelist>
      <varlistentry>
	<term
>N</term>
	<listitem>
	  <para
>A função será guardada mas não desenhada. Como tal, poderá ser usada como qualquer outra função definida pelo utilizador ou predefinida. </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term
>A1</term>
	<listitem>
	  <para
>O gráfico da derivada da função será desenhado adicionalmente, com a mesma cor mas com menor largura do traço. </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term
>A2</term>
	<listitem>
	  <para
>O gráfico da segunda derivada da função será desenhado adicionalmente, com a mesma cor mas com menor largura do traço. </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term
>D[a,b]</term>
	<listitem>
	  <para
>Define o domínio para o qual será mostrada a função. </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term
>P[a{,b...}]</term>
	<listitem>
	  <para
>Dá um conjunto de valores de um parâmetro de grupo para o qual a função deverá ser mostrada. Por exemplo: <userinput
>f(x,k)=k*x;P[1,2,3]</userinput
> irá desenhar as funções f(x)=x, f(x)=2*x e f(x)=3*x. Poderá também usar funções como argumentos para a opção P. </para>
	</listitem>
      </varlistentry>
    </variablelist>
  </para>
  <para
>Lembre-se por favor que poderá fazer todas estas operações também se usar a janela do editor de funções. </para>
</sect1>

<sect1 id="math-syntax">
<title
>Sintaxe Matemática</title>
<para
>O &kmplot; usa uma forma comum de exprimir as funções matemáticas, por isso você não deverá ter problemas a usá-la. Os operadores que o &kmplot; compreende são, por ordem decrescente de precedência: <variablelist>

<varlistentry>
<term
>^</term>
<listitem
><para
>O símbolo de acento circunflexo efectua uma potência. &eg;, o <userinput
>2^4</userinput
> devolve 16.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>*, /</term>
<listitem>
<para
>Os símbolos do asterisco e da barra efectuam a multiplicação e a divisão. &eg;, <userinput
>3*4/2</userinput
> devolve 6.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>+, -</term>
<listitem
><para
>O sinal de mais e de menos efectuam a soma e a subtracção. &eg;, <userinput
>1+3-2</userinput
> devolve 2.</para>
</listitem>
</varlistentry>

</variablelist>
</para>
<para
>Repare na precedência, que significa que, se os parêntesis não forem usados, a potência é efectuada antes da multiplicação/divisão, que por sua vez é efectuada antes da soma/subtracção. Por isso, <userinput
>1+2*4^2</userinput
> devolve 33 e não, por exemplo, 144. Para alterar isto, use os parêntesis. Para usar o exemplo acima, o valor <userinput
>((1+2)*4)^2</userinput
> <emphasis
>irá</emphasis
> devolver 144. </para>
</sect1>

<!--
<sect1 id="coord-system">
<title
>Coordinate Systems</title>

<para
><inlinemediaobject>
<imageobject>
<imagedata fileref="ksys1.png" format="PNG"/>
</imageobject>
</inlinemediaobject
></para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="ksys2.png" format="PNG"/>
</imageobject>
</inlinemediaobject
></para>

<para>
<inlinemediaobject>
<imageobject>
<imagedata fileref="ksys3.png" format="PNG"/>
</imageobject>
</inlinemediaobject
></para>
-->
<sect1 id="coord-area"
><title
>Área de Desenho</title>
<para
>Por omissão, as funções definidas explicitamente são desenhadas para a área inteira de desenho no eixo dos X. Você poderá definir outro intervalo na janela de edição da função. Em cada ponto do eixo dos X, o &kmplot; calcula um valor da função. Se a área de desenho contiver o ponto resultante, este estará ligado ao último ponto desenhado por uma linha. </para>
<para
>As funções paramétricas são desenhadas para os valores dos parâmetros desde 0 até 2&pgr;. Você poderá também definir o intervalo do gráfico para a função. </para>
</sect1>

<sect1 id="coord-cross">
<title
>Cursor de Mira</title>
<para
>Enquanto o cursor do rato estiver por cima da área de desenho, este cursor muda para uma mira. As coordenadas actuais podem ser vistas nas intersecções com os eixos de coordenadas e também na barra de estado no fundo da janela principal. </para>
<para
>Você poderá seguir os valores de uma função mais precisamente, se carregar em cima ou próximo de um gráfico. A função seleccionada é mostrada na barra de estado, na coluna da direita. A mira irá ser capturada então e poderá ficar da mesma cor do gráfico. Se o gráfico tiver a mesma cor que o fundo, a mira ficará com a cor invertida do fundo. Ao mover o rato ou ao carregar nos cursores para a Esquerda ou para a Direita, a mira irá seguir a função e você irá ver os valores actuais do X e do Y. Se a mira estiver próxima do eixo dos Y, o valor da raiz é mostrado na barra de estado. Você poderá mudar de funções com os cursores para Cima e para Baixo. Ao carregar uma segunda vez em qualquer lado da janela ou ao carregar em qualquer tecla sem ser de navegação irá abandonar este modo de seguimento. </para>
<para
>Repare que o seguimento só é possível com as funções indicadas explicitamente. As coordenadas são sempre mostradas de acordo com um sistema de coordenadas cartesiano. Nem as funções paramétricas nem as funções indicadas em coordenadas polares, nem mesmo as derivadas, poderão ser registadas desta forma. </para>

</sect1>

</chapter>

<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
sgml-parent-document:("index.docbook" "BOOK" "CHAPTER")
End:
-->
