<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 que deverão ser seguidas:</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 caractere for um <quote
>r</quote
>, o analisador irá assumir que você está usando coordenadas polares. Se o primeiro caractere 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 selecionados manualmente ou você poderá optar por ter um índice 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 Pré-definidas</title>

<para
>Todas as funções e constantes pré-definidas que o &kmplot; conhece podem ser mostradas escolhendo a opção <menuchoice
><guimenu
>Ajuda</guimenu
><guimenuitem
>Nomes</guimenuitem
> </menuchoice
>. Elas 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 usuário 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 é especificada inserindo um ponto e vírgula, seguido pela extensão, após a definição da função. A extensão pode ser tanto escrita na caixa de Edição Rápida ou usando o método Parser addFunction do DCOP. Nenhuma extensão está disponível para funções paramétricas, mas N e D[a,b] funcionam com funções polares também. Por exemplo: <screen>
      <userinput>
        f(x)=x^2; A1
      </userinput>
    </screen
> mostrará o gráfico y=x<superscript
>2</superscript
> com sua primeira derivada. As extensões suportadas estão descritas abaixo: <variablelist>
      <varlistentry>
	<term
>N</term>
	<listitem>
	  <para
>A função será armazenada mas não desenhada. Assim ela pode ser usada como qualquer outra função pré-definida ou definida pelo usuário. </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 espessura menor de linha. </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 espessura menor de linha. </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term
>D[a,b]</term>
	<listitem>
	  <para
>Configura o domínio para o qual a função será exibida. </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term
>P[a{,b...}]</term>
	<listitem>
	  <para
>Fornece um conjunto de valores do parâmetro de grupo para o qual a função será exibida. Por examplo: <userinput
>f(x,k)=k*x;P[1,2,3]</userinput
> desenhará as funções f(x)=x, f(x)=2*x and f(x)=3*x. Você pode também usar funções como argumentos para a opção P. </para>
	</listitem>
      </varlistentry>
    </variablelist>
  </para>
  <para
>Por favor observe que você pode fazer todas estas operações usando o diálogo do editor de função também. </para>
</sect1>

<sect1 id="math-syntax">
<title
>Sintaxe Matemática</title>
<para
>O &kmplot; usa uma forma comum de expressar as funções matemáticas, por isso você não deverá ter problemas ao usá-las. 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 efetua 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 efetuam 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 efetuam a soma e a subtraçã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ênteses não forem usados, a potência é efetuada antes da multiplicação/divisão, que por sua vez é efetuada antes da soma/subtração. Por isso, <userinput
>1+2*4^2</userinput
> devolve 33 e não, por exemplo, 144. Para alterar isto, use os parênteses. 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 padrão, as funções definidas explicitamente são desenhadas para a área inteira de desenho no eixo dos X. Você poderá definir outro intervalo no diálogo 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, ele 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 mouse estiver por cima da área de desenho, este cursor muda para uma mira. As coordenadas atuais podem ser vistas nas interseçõ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, clicando em cima ou próximo de um gráfico. A função selecionada é 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 mouse ou ao pressionar os cursores para a Esquerda ou para a Direita, a mira irá seguir a função e você irá ver os valores atuais 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ção com os cursores para Cima e para Baixo. Ao clicar uma segunda vez em qualquer lado da janela ou ao pressionar qualquer tecla sem ser de navegação, você 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 registradas 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:
-->
