# Manual do &kalgebra;

Aleix
Pol

    &Aleix.Pol.mail;

Luiz Fernando
Ranghetti

    elchevive@opensuse.org

Tradução
André Marcelo
Alvarenga

    alvarenga@kde.org

Tradução
2007
&Aleix.Pol;
&FDLNotice;
17/12/2020
Applications 20.12

&kalgebra; é um aplicativo que pode substituir a sua calculadora gráfica. Ele tem funcionalidades numéricas, lógicas, simbólicas e analíticas que lhe permitem calcular expressões matemáticas e desenhar graficamente os resultados em 2D ou 3D. O &kalgebra; é baseado na Mathematical Markup Language (&MathML;). Entretanto, não é preciso conhecer o &MathML; para usar o &kalgebra;.

KDE
kdeedu
gráfico
matemática
2D
3D
MathML

## Introdução

O &kalgebra; tem diversas funcionalidades que permitem ao usuário efetuar todos os tipos de operações matemáticas e mostrá-las de forma gráfica. No passado, este programa foi orientado para o &MathML;. Agora ele pode ser usado por todos os que tenham algum conhecimentos de matemática para resolver problemas simples e avançados.

Ele inclui algumas funcionalidades como por exemplo:

- Uma calculadora para avaliar funções matemáticas de maneira fácil e rápida.

- Capacidades de programação para séries avançadas de cálculos.

- Capacidades da linguagem que incluem a definição de funções e a completação automática da sintaxe.

- As funções de cálculo incluem o cálculo simbólico de derivadas, o cálculo vetorial e a manipulação de listas.

- Gráficos de funções com cursores dinâmicos para a descoberta gráfica de raízes e outros tipos de análises.

- Gráficos 3D para visualizações úteis de funções em 3D.

- Um dicionário de operadores incorporado para uma referência rápida das funções disponíveis.

Aqui está uma imagem do &kalgebra; em ação:

Aqui está uma captura de tela da janela principal do &kalgebra;
Janela principal do &kalgebra;

Quando o usuário inicia uma sessão do &kalgebra;, é apresentada uma única janela que consiste em uma aba de Calculadora, uma aba Gráfico 2D e outra Gráfico 3D, assim como uma aba de Dicionário. Em cada uma destas abas, você encontrará um campo de texto onde poderá digitar as suas funções ou fazer os seus cálculos e também um campo de visualização que apresenta os resultados.

Em qualquer tempo, o usuário poderá gerenciar a sua sessão com as opções do menu Sessão:

&Ctrl; N Sessão Novo

  Abre uma nova janela do &kalgebra;.

&Ctrl;&Shift; F Sessão Modo tela inteira

  Alterna a janela do &kalgebra; para o modo em tela cheia. Também é possível usar este modo com o botão na parte superior à direita na janela do &kalgebra;.

&Ctrl; Q Sessão Sair

  Encerra o programa.

## Sintaxe

O &kalgebra; usa uma sintaxe algébrica intuitiva para introduzir as funções do usuário, semelhante a que é usada nas calculadoras gráficas modernas. Esta seção apresenta os operadores fundamentais que estão disponíveis no &kalgebra;. O autor do &kalgebra; modelou esta sintaxe com base no Maxima e no Maple para que os usuários possam se familiarizar com estes programas.

Para os usuários que estejam interessados no funcionamento interno do &kalgebra;, as expressões introduzidas pelo usuário são convertidas para &MathML; pela infraestrutura. Uma compreensão rudimentar das capacidades suportadas pelo &MathML; dará um grande avanço sobre as capacidades internas do &kalgebra;.

Aqui está uma lista dos operadores disponíveis que temos até agora:

- `+ - * /` : Soma, subtração, multiplicação e divisão.

- `^, **` : Potência, você poderá usar qualquer um deles. Também é possível usar os caracteres unicode `²`. As potências também são uma forma de calcular raízes, como pode ser feito em `a**(1/b)`

- `->` : lambda. É a forma de indicar uma ou mais variáveis livres que serão associadas a uma função. Por exemplo, na expressão `comprimento:=(x,y)->(x*x+y*y)^0.5`, o operador 'lambda' é usado para definir que o `x` e o `y` serão preenchidos quando for usada a função 'comprimento'.

- `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`.

- `()` : É usado para especificar uma maior prioridade.

- `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 usuário.

- `:=` : Definição. É usada para definir o valor de uma variável. Você poderá fazer coisas do tipo `x:=3`, `x:=y`, sendo que o `y` pode ser definido ou não, ou ainda `perímetro:=r->2*pi*r`.

- `?` : Definição de condições. Esta é a forma de definir operações condicionais no &kalgebra;. Dito de outra forma, esta é uma maneira de especificar uma condição if, elseif, else. 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 }`

- `{ }` : Contenedor MathML. Pode ser usado para definir um contenedor. É principalmente útil para lidar com as definições de operações condicionais.

- `= > >= < <=` : Comparações dos valores para 'igual', 'maior', 'maior ou igual', 'menor' ou 'menor ou igual', respectivamente.

Agora poderá perguntar: para que interessa então o &MathML;? É simples: com ele, poderá usar funções como `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)`.

## Usando a calculadora

A calculadora do &kalgebra; é útil como uma calculadora com esteroides. O usuário poderá introduzir expressões para avaliar no modo Calcular ou Avaliar, dependendo da seleção do menu Calculadora.

No modo de avaliação, o &kalgebra; simplifica a expressão, mesmo quando vê uma variável não definida. O modo de cálculo do &kalgebra; calcula tudo e, se encontrar uma variável não definida, apresenta um erro.

Além de mostrar as equações introduzidas pelo usuário e os resultados na área da Calculadora, todas as variáveis declaradas são apresentadas em uma área persistente à direita. Ao clicar duas vezes sobre uma variável, você poderá ver uma janela que lhe permite alterar os seus valores (apenas uma forma de enganar o registro).

A variável `ans` é especial. Sempre que introduzir uma expressão, o valor da variável `ans` será alterado para o último resultado.

As funções seguintes são exemplos que podem ser introduzidos no campo de texto da janela da calculadora:

- `sin(pi)`

- `k:=33`

- `sum(k*x : x=0..10)`

- `f:=p->p*k`

- `f(pi)`

Segue-se uma imagem da janela da calculadora depois de introduzir as expressões de exemplo acima:

Imagem da janela da calculadora do &kalgebra; com expressões de exemplo
Janela da calculadora do &kalgebra;

Um usuário poderá controlar a execução de uma série de cálculos usando as opções do menu Calculadora:

&Ctrl; L Calculadora Carregar script...

  Executa as instruções de forma sequencial a partir de um arquivo. Útil se você quiser definir algumas bibliotecas ou terminar algum trabalho anterior.

Calculadora Scripts recentes

  Exibe um submenu que permitirá escolher os scripts executados recentemente.

&Ctrl; G Calculadora Salvar script...

  Salva as instruções que escreveu desde o início da sessão, para poder reutilizá-las. Gera arquivos de texto, de modo a serem fáceis de alterar com qualquer editor de texto, como o &kate;.

&Ctrl; S Calculadora Exportar registro...

  Salva o registro com todos os resultados em um arquivo &HTML;, para poder ser impresso ou publicado.

F3 Calculadora Inserir ans...

  Insere a variável `ans` e isso tornará mais fácil reutilizar valores antigos.

Calculadora Calcular

  Um botão de opção para definir o Modo de execução para cálculo.

Calculadora Avaliar

  Um botão de opção para definir o Modo de execução para avaliação.

## Gráficos 2D

Para adicionar um novo gráfico 2D no &kalgebra;, selecione a aba Gráfico 2D e clique na aba Adicionar para adicionar uma nova função. Depois, o seu foco irá para um campo de texto onde você poderá escrever a sua função.

### Sintaxe

Se quiser usar uma função típica `f(x)`, não é necessário especificá-la; mas se quiser uma função `f(y)` ou uma função polar, terá de adicionar `y->` e `q->` como variáveis de fronteira.

Exemplos:

- `sen(x)`

- `x²`

- `y->sen(y)`

- `q->3*sen(7*q)`

- `t->vector{sin t, t**2}`

Se você tiver digitado a função, clique no botão OK para mostrar o gráfico na janela principal.

### Recursos

Você poderá ter vários gráfico na mesma janela. Basta usar o botão Adicionar quando estiver no modo de lista. Você poderá atribuir a cada gráfico a sua própria cor.

A janela poderá ser ampliada e movida com o mouse. Usando a roda do mouse você poderá ampliar e reduzir a mesma. Poderá também selecionar uma área com o &LMB;, ficando apenas esta área ampliada. Mova a visão com as teclas de seta do teclado.

A área de visualização dos gráficos 2D pode ser definida de forma explícita usando a aba Visualizador dentro da aba Gráfico 2D.

Na aba Lista, na parte inferior, você pode abrir uma aba de Edição para editar ou remover uma função com clique duplo e marcar ou desmarcar a opção após o nome da função para a mostrar ou ocultá-la.

No menu do Gráfico 2D, você poderá encontrar estas opções:

- Grade: Mostra ou oculta a grade

- Manter proporção: Mantém a proporção durante o zoom

- Salvar: Salva (&Ctrl;S) o gráfico como um arquivo de imagem

- Ampliar/Reduzir: Amplia (&Ctrl; +) e reduz (&Ctrl; -)

- Tamanho real: Restaura a janela com o nível de ampliação original

- Resolução: Seguido por uma lista de botões de opção para selecionar uma resolução para os gráficos

Abaixo está uma captura de tela de um usuário cujo cursor está na raiz mais à direita da função `sin(1/x)`. O usuário que gerou o gráfico usou uma resolução muito precisa para criar o desenho (conforme ele oscila em frequências cada vez mais altas próximo a origem). Existe também uma funcionalidade de cursor ao vivo em qualquer lugar que você mova o cursor sobre um ponto. Ela mostra os valores `x` e `y` no canto inferior esquerdo da tela. Uma linha tangente ao vivo é plotada na função na localização do cursor atual.

Aqui está uma imagem da janela de gráfico 2D do &kalgebra;
Janela de gráfico 2D do &kalgebra;

## Gráficos 3D

Para desenhar um gráfico 3D com o &kalgebra;, selecione a aba Gráficos 3D, onde irá ver um campo de texto na base que será usado para digitar a sua função. O `Z` ainda não pode ser definido. Por enquanto o &kalgebra; só suporta gráficos 3D que dependam explicitamente apenas de `x` e `y`, como por exemplo `(x,y)->x*y`, onde o `z=x*y`.

Exemplos:

- `(x,y)->sin(x)*sin(y)`

- `(x,y)->x/y`

A janela pode ser ampliada e movida com o mouse. Usando a roda do mouse você poderá ampliar e reduzir a mesma. Mantenha o &LMB; clicado e mova o mouse para rodar o gráfico.

As teclas de cursores para a &Left; e &Right; giram o gráfico em torno do eixo `Z`, enquanto as teclas para &Up; e para &Down; giram em torno do eixo horizontal da janela. Pressione a tecla W para ampliar o gráfico e em S para reduzi-lo.

No menu Gráfico 3D, você irá encontrar estas opções:

- Salvar: Salva (&Ctrl;S) o gráfico como um arquivo de imagem ou documento suportado

- Redefinir visualização: Restaura a janela com o nível de ampliação original no menu de Gráfico 3D

- Você pode desenhar os gráficos com os estilos de Pontos, Linhas ou Sólido no menu Gráfico 3D

Abaixo está uma imagem do função chamada sombrero. Este gráfico em particular é mostrado usando o estilo em linha de gráfico 3D.

Aqui está uma captura de tela da janela de gráfico 3D do &kalgebra;
Janela de gráfico 3D do &kalgebra;

## Dicionário

O dicionário fornece uma lista de todas as funções embutidas no &kalgebra;. Ele pode ser usada para encontrar a definição de uma operação e seus parâmetros de entrada. É um local útil para ir para encontrar os diversos recursos do &kalgebra;.

Abaixo está uma captura de tela do dicionário do &kalgebra; procurando a função cosine.

Aqui está uma captura de tela da janela do dicionário do &kalgebra;
Janela do dicionário do &kalgebra;

&commands;

## Créditos e licença

- Direitos autorais do programa, 2005-2009 &Aleix.Pol;

Direitos autorais da documentação 2007 &Aleix.Pol; &Aleix.Pol.mail;

Tradução:

Luiz Fernando Ranghetti elchevive@opensuse.org

André Marcelo Alvarenga alvarenga@kde.org

&underFDL; &underGPL;

&documentation.index;