# O Manual do &kcalc;

## Introdução

Este documento descreve o &kcalc; versão 1.8.

O &kcalc; oferece muito mais funções matemáticas do que dá a entender à primeira vista. Estude por favor a secção sobre os atalhos de teclado e os modos neste manual para aprender mais sobre as várias funções disponíveis.

Para além da funcionalidade normal oferecida pela maioria das calculadoras científicas, o &kcalc; oferece um conjunto de funcionalidades, as quais merecem ser referidas:

- O &kcalc; oferece funções trigonométricas, operações lógicas e é capaz de efectuar cálculos estatísticos.

- O &kcalc; permite-lhe cortar e colar os números de e para o seu ecrã.

- O &kcalc; contém uma pilha de resultados que lhe permite chamar convenientemente os resultados anteriores.

- Você poderá configurar as cores e o tipo de letra do &kcalc;.

- Você pode configurar a precisão do &kcalc; e o número de dígitos a seguir à vírgula.

- O &kcalc; oferece um conjunto de atalhos de teclado razoável, o que possibilitam e facilitam o uso do &kcalc; sem usar um rato.

  Sugestão: Se carregar (e mantiver carregada) a tecla &Ctrl;, irá aparecer em todos os botões a respectiva combinação de teclas.

Divirta-se com o &kcalc;!

Bernd Johannes Wuebben

## Utilização

### Utilização Geral

A utilização de um modo geral é intuitiva e semelhante à forma como a maioria das calculadoras científicas simples trabalham, mas terá de ter em conta as seguintes funcionalidades especiais do &kcalc;:

Pilha do Resultado

- De cada vez que você carrega com o &LMB; no botão de = ou carrega nas teclas Enter ou =, o resultado apresentado é guardado na pilha de resultados do &kcalc;. Você poderá navegar pela pilha de resultados com as teclas &Ctrl;Z e &Ctrl; &Shift;Z.

Função de Percentagem

- A tecla de percentagem funciona de forma ligeiramente diferente da que costuma existir na maioria das calculadoras. Contudo, logo que seja explicada, a sua funcionalidade melhorada torna-se bastante útil. Veja a secção sobre a função percentagem para mais detalhes.

Cortar e Colar

- - Se carregar em &Ctrl;C no ecrã do &kcalc; irá colocar o resultado apresentado na área de transferência.

  - Se carregar com o botão&Ctrl;V irá colar o conteúdo da área de transferência no ecrã, desde que o conteúdo seja um número de vírgula flutuante válido.

  - É ainda possível copiar/colar se carregar na área de visualização do &kcalc;, mas isto poderá desaparecer nas versões futuras.

Funções avançadas

- Quando você inicia o &kcalc; pela primeira vez, a calculador irá apenas mostrar os números para os cálculos aritméticos básicos.

  No menu Configuração é possível abrir os botões extra para o &kcalc;: é possível, por exemplo, escolher os botões Estatísticos ou Trigonométricos.

### Modo Estatístico

Neste modo a coluna esquerda dos botões é destinada às funções estatísticas:

A maioria das funcionalidades neste modo estão centradas no botão Dat. Para criar uma lista de dados numéricos, indique um número na calculador e carregue em Dat. É mostrado um número sequencial, sempre a crescer, no ecrã que indica a posição na lista de dados que o número ocupa. Uma calculadora tradicional só guarda três valores para as funções estatísticas: O número de itens discretos numa lista, o somatório dos itens de dados introduzidos e a soma dos quadrados de todos os itens da lista. O &kcalc; é diferente porque armazena de facto todos os números discretos, o que lhe permite calcular a mediana dos dados.

Botões | Função
N | Mostra o número de dados inseridos
Inv N | Mostra o somatório de todos os dados introduzidos
Mea | Mostra a média dos itens de dados introduzidos
Inv Mea | Mostra a soma do quadrado de todos os itens de dados introduzidos
Std | Mostra o desvio padrão (n)
Inv Std | Mostra o desvio-padrão da população (n-1)
Med | Mostra a mediana
Dat | Introduz um item de dados
Inv Dat | Limpa o último item de dados introduzido
Cst | Limpa o armazenamento de todos os itens de dados introduzidos

### Modo Trigonométrico

Neste modo a coluna esquerda dos botões fica destinada às funções trigonométricas:

Botões | Função
Hyp | Entra no modo hiperbólico. O Hyp Sin corresponderá ao seno hiperbólico: sinh(x)
Sin | Calcula o seno
Inv Sin | Calcula o arco-seno
Cos | Calcula o coseno
Inv Cos | Calcula o arco-coseno
Tan | Calcula a tangente
Inv Tan | Calcula a arco-tangente
Log | Calcula o logaritmo de base 10
Inv Log | Calcula 10 elevado a 'x'
Ln | Calcula o logaritmo natural. Este é o logaritmo na base 'e'
Inv Ln | Calcula 'e' elevado a 'x'

### Operações com Memória

O &kcalc; suporta as operações de memória que as máquinas de calcular normais fornecem, mais seis locais onde guardar constantes.

#### Operações de Memória Normais

O &kcalc; pode recordar os resultados das operações por si e reutilizá-las nos cálculos posteriores. Poderá aceder a estas funções através de vários botões chamados MR, MS, M+ e MC.

MS

- O MS guarda o resultado actual do ecrã na memória.

M+

- O M+ adiciona o resultado actual ao que se encontra em memória. Por isso, se tiver armazenado um 20 e o resultado actual for 5, a sua memória irá conter 25 quando carregar no botão. Se a memória estiver vazia, actua como o MS e guarda simplesmente o resultado.

MR

- O botão MR recupera o valor guardado em memória e coloca-o no ecrã.

MC

- O botão MC limpa a memória.

Se um valor for guardado em memória, irá aparecer um M na barra de estado, ao lado do indicador do modo da calculadora

#### Constantes

Os seis botões de constantes C1 a C6 só ficarão visíveis depois de activar o item Botões de Constantes no menu Configuração.

Para guardar o número apresentado no ecrã do &kcalc; num dos seis botões de constantes, carregue primeiro no botão Inv, seguido do botão de constante desejado, de C1 até C6.

Para usar o valor guardado num dos botões de constantes, basta carregar no botão desejado (C1 a C6) para que o número correspondente apareça no ecrã.

É possível alterar a legenda dos botões de constantes, para facilitar ao utilizador recordar qual a constante que cada botão contém. Carregue com o botão direito num dos botões (C1 a C6). Irá aparecer um menu, onde poderá seleccionar a opção Mudar o Nome.

Existem várias constantes (a maioria delas são físicas) que poderão ser colocadas em qualquer um dos seis botões C1 - C6, se seleccionar a constante desejada no menu de contexto que aparece após carregar num dos botões de constantes e seleccionar a opção Escolher da Lista. Ainda que as constantes predefinidas possam também ser acedidas através do menu Constantes, pode-se tornar útil guardá-lo num botão de constantes, se o número for usado com frequência.

### Atalhos de Teclado Simples

Para simplificar a introdução de cálculos a partir do teclado, o &kcalc; tem alguns aceleradores de teclado simples para a maioria das funções. Por exemplo, se introduzir `7R` ou `7r` irá calcular o inverso de 7 (1/7).

Durante um cálculo, você poderá carregar sempre na tecla &Ctrl; para que cada botão mostre a sua combinação de teclas.

Tecla | Função | Notas
H | Hyp | Hiperbólico como no Hyp Sin, o sinh(x) ou seno hiperbólico de 'x'
S | Sin |
C | Cos |
T | Tan |
N | Ln | Logaritmo base 'e'
L | Log | Logaritmo de base 10
I | Inv | Inverso, ⪚ se por exemplo quiser o arco-seno de 'x', arcsin(x), escreva `i s`
\ | +/- | Mudar o sinal
[ | x^2 |
^ | x^y |
! | x! | Factorial
< | Lsh | Deslocamento à esquerda. Nota: o Inv Lsh é o deslocamento à direita
& | And | E lógico
* | X | Multiplicar
/ | / | Dividir
D | Dat | Introduz um item de dados no modo estatístico
O | Or | OU lógico. Nota: o Inv Or é o XOR
R | 1/x | Recíproco
= | = |
Enter | = |
Return | = |
Page Up | C | Limpar
Esc | C | Limpar
Prior | C | Limpar
Page Down | AC | Limpar tudo
Next | AC | Limpar tudo
Del | AC | Limpar tudo

## Comentários sobre as Funções Específicas

### Mod e Inv Mod

O Mod devolve o resto da divisão do número apresentado pelo próximo número introduzido.

- O `22 Mod 8 =` irá dar o resultado 6

  O `22.345 Mod 8 =` irá dar o resultado 6,345

O Inv Mod faz a divisão inteira do número apresentado pelo próximo número a ser introduzido.

- O `22 Inv Mod 8 =` irá dar o resultado 2

  O `22.345 Inv Mod 8 =` também dará o valor de resultado 2

### %

Usado em vez da tecla =, o % interpreta a operação final executada no cálculo actual como se indica a seguir:

- Se o operador final é o + ou - o segundo argumento é interpretado como sendo uma percentagem do segundo operando.

- Se o operador final for o *, dividirá o resultado da multiplicação por 100.

- Se o operador final for o / dá o operando esquerdo como uma percentagem do operando direito.

- Em todos os outros casos a tecla % dá os resultados iguais à tecla =.

Exemplos:

- O `150 + 50 %` dá 225 (150 mais 50 por cento deste valor)

  O `42 * 3 %` dá 1.26 (42 * 3 / 100)

  O `45 / 55 %` dá 81,81... (45 é 81,81.. por cento de 55)

### Lsh e Inv Lsh

O Lsh desloca à esquerda a parte inteira do valor apresentado (multiplica-a por 2) 'n' vezes, em que 'n' é o próximo número a ser introduzido, e dá um resultado inteiro:

- O `10 Lsh 3 =` dá 80 (10 multiplicado por 2, três vezes).

  O `10.345 Lsh 3 =` também dá 80.

O Inv Lsh desloca à direita o valor (faz uma divisão inteira por 2), 'n' vezes.

- O `16 Inv Lsh 2 =` dá 4 (16 dividido por 2, duas vezes).

  O `16.999 Inv Lsh 2 =` também dá 4.

### Cmp, And, Or e Xor

As funções Cmp, And e Or efectuam operações lógicas com 'bits', e como tal parecerão mais significativas se a Base estiver definida como Hex, Oct ou Bin em vez de Dec. Nos seguintes exemplos, a Base está definida como sendo Bin.

O Cmp efectua um complemento-a-um (inverte os 'bits').

- O `101 Cmp` dá 111...111010

O And efectua um E lógico.

- O `101 And 110 =` dá 100

O Or efectua o OU lógico.

- O `101 Or 110 =` dá 111

O Xor efectua a operação de XOR lógico (OU exclusivo).

- O `101 Xor 110 =` dá 11

## Perguntas e Respostas

Como é que obtenho o 'e', o número de Euler?

Escreva `1 Inv Ln`.

Como é que obtenho dois algarismos fixos a seguir à vírgula?

Carregue no botão Configurar, para que este mostre a janela de configuração. Assinale a opção Definir uma precisão fixa e ajuste o valor até que mostre um 2.

E a Precisão?

O factor principal que determina a precisão do &kcalc; é se a sua 'libc' e 'libmath' suportam o tipo de dados do C `long double`. Se este for o caso, o &kcalc; irá detectar isto na altura da compilação e usá-la como o seu tipo de dados fundamental para representar os números.

Ajuste a Precisão na janela de Configurar do &kcalc; para que as contas acima funcionem correctamente. É recomendada uma precisão de 14 se o tipo de dados da sua versão do &kcalc; for o `long double`, caso contrário recomenda-se 8 ou 10.

Uma maior precisão não significa necessariamente melhores resultados. Brinque com a precisão e irá perceber o que se está a dizer.

&commands;

## Créditos e Licença

&kcalc; Programa Copyright ©:

Bernd Johannes Wuebben 1996-2000

A Equipa do &kde; 2000-2004

- &Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;

- &Evan.Teran; &Evan.Teran.mail;

- &Espen.Sand; &Espen.Sand.mail;

- &Chris.Howells; &Chris.Howells.mail;

- &Aaron.J.Seigo; &Aaron.J.Seigo.mail;

- &Charles.Samuels; &Charles.Samuels.mail;

O &kcalc; foi inspirado no xfrmcalc de Martin Bartlett, cuja pilha faz ainda parte do &kcalc;.

Documentação com 'copyright' © 2001,2002,2005, 2006 de:

- &Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;

- &Pamela.Roberts; &Pamela.Roberts.mail;

- &J.Hall; &J.Hall.mail;

- &Anne-Marie.Mahfouf;&Anne-Marie.Mahfouf.mail;

&underFDL; &underGPL;

## Instalação

O &kcalc; faz parte do pacote 'tdeutils' do projecto do &kde; e será fornecido como parte de uma instalação do &kde;. Para mais detalhes sobre o &kde; vá a http://www.kde.org.

### Compilação e Instalação

&install.intro.documentation; &install.compile.documentation;

### Como activar a precisão 'long double' para o &kcalc;

Se a sua máquina suporta o tipo de dados do C `long double` e se você tem uma 'libc' funcional, poderá activar a precisão `long double` para o &kcalc;.

Aqui tem o que deve fazer:

1. Verifique o `../config.h` e veja se o HAVE_LONG_DOUBLE está definido, &ie; deverá ser capaz de localizar uma linha que diz:

       #define HAVE_LONG_DOUBLE 1

   Se você não encontrar essa linha o seu sistema não suporta a precisão 'long double' do IEEE.

2. Altere os ficheiros `kcalctype.h`, `configdlg.cpp`, `kcalc.cpp` e `kcalc_core.cpp` e retire as linhas:

       #ifdef HAVE_LONG_DOUBLE
       #undef HAVE_LONG_DOUBLE
       #endif

3. Recompile o &kcalc;.