<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. Veja a opção P por baixo de <xref linkend="func-extension"/>.</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 raíz 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="the-axes-tab"/>. </para>

</sect1>

<sect1 id="func-extension">
<title
>Extensões</title>
<para
>Uma extensão para uma função é definida ao introduzir um ponto-e-vírgula, seguido da extensão, depois da definição da função. Por exemplo, o: <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 estão descritas em baixo: <variablelist>
<varlistentry>
<term
>N</term>
<listitem>
<para
>A função será armazenada mas não desenhada. Deste modo, poderá ser usada como 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 uma espessura do traço menor. Esta extensão não fará efeito nas funções definidas de forma paramétrica. </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 uma espessura do traço menor. Esta extensão não fará efeito nas funções definidas de forma paramétrica. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>D[a,b]</term>
<listitem>
<para
>Define o domínio para o qual a função será desenhada. Para as funções paramétricas, este é o domínio que o parâmetro usa, e só precisa de ser definido para a função 'x'. </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 apresentada. Por exemplo, o: <userinput
>f(x,k)=k*x;P[1,2,3]</userinput
> irá desenhar as funções f(x)=x, f(x)=2*x and f(x)=3*x. Você também poderá usar funções como argumentos para a opção P. </para>
</listitem>
</varlistentry>
</variablelist>
</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 por na área inteira de desenho no eixo dos X. (Veja a <xref linkend="func-extension"/> para alterar isto para as funções individuais.) Em cada pixel 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;. Este intervalo pode também ser definido usando a extensão D (veja a <xref linkend="func-extension"/>). </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á verificar os valores de um função mais precisamente, se carregar num gráfico ou perto dele. A mira será então capturada e colorida com o mesmo tom que o gráfico. Um segundo 'click' noutro lado da janela irá sair deste modo de registo. </para>
<para
>Repare que o registo 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:
-->
