# Наръчник за &kcalc;

## Въведение

Този документ описва &kcalc; версия 1.3.1.

&kcalc; предлага повече математически функции, отколкото се виждат на пръв поглед. Моля, прегледайте секцията за клавишни комбинации и режими в този наръчник за да научите повече з функциите, които са в наличност.

В допълнение към обичайната функционалност, която повечето калкулатори предлагат, &kcalc; предлага и някои възможности, които мисля че са съществени:

- &kcalc; има тригонометричен и статистически режим.

- &kcalc; ви позволява да режете и лепите числа от/на неговия екран.

- &kcalc; има списък с резултати, който ви позволява да викате получени преди резултати.

- Можете да конфигурирате цвета и шрифта на &kcalc;.

- Можете да конфигурирате точността и броя знаци след десетичната запетая на &kcalc;.

- &kcalc; предлага голям брой клавишни комбинации, така че да можете да използвате &kcalc; без посочващо устройство.

Приятна работа с &kcalc;!

Bernd Johannes Wuebben

## Употреба

Общата употреба е директна и подобна на начина, по който оперират най-простите калкулатори, но вземете под внимание от следните специфични възможности на &kcalc;:

Списък с резултати

- Всеки път когато щракнете с &LMB; върху бутона = или натиснете клавишите Enter или =, резултатът се записва в списъка с резултати. Можете да се "движите" през него, чрез клавишите Нагоре и Надолу.

Функция процент

- Функцията процент работи малко различно от повечето калкулатори. Обаче, в този си вид е по-използваема. Погледнете секцията за функцията процент за повече детайли.

Отрязване и залепяне

- - Натскане на &LMB; върху екрана на &kcalc; ще постави числото от него в системния буфер.

  - С натискане на десния или &MMB; върху екрана на &kcalc;, съдържанието на системния буфер ще се залепи върху екрана, ако съдържанието е валидно реално число.

Статистически и тригонометричен режими

- &kcalc; може да работи в статистически или в тригонометричен режим. Можете да превключвате между двата режима с натискане на F3 или от диалога Конфигурация, който се извиква чрез натискане на бутона Конфигурирай или с клавиша F2.

### Статистически режим

В този режим, лявата колона бутони е запазена за статистически функции:

Бутони | Функция
N | Извиква броя на въведените числа
Inv N | Показва сумата от всички въведени числа
Mea | Посазва средно аритметичното от въведените числа
Inv Mea | Показва сумата от квадратите на въведените числа
Std | Показва стандартното отклонение (n)
Inv Std | Показва стандартното отклонение (n-1)
Med | Показва медианата
Dat | Въвежда число
Inv Dat | Премахва последното въведено число
Cst | Премахва всички въведени числа

### Тригонометричен режим

В този режим, лявата колона бутони е запазена за тригонометрични функции:

Бутони | Функция
Hyp | Влиза в хиперболичен подрежим. Hyp Sin, например, е хиперболичния синус: sh(x)
Sin | Изчислява синус
Inv Sin | Изчислява обратната функция на синус: arcsin(x)
Cos | Изчислява косинус
Inv Cos | Изчислява обратната функция на косинус: arccos(x)
Tan | Изчислява тангенс
Inv Tan | Изчислява обратната функция на тангенс: arctg(x)
Log | Изчислява логаритъм при основа 10
Inv Log | Изчислява 10 на степен x
Ln | Изчислява натурален логаритъм. Това е логаритъм при основа e
Inv Ln | Изчислява e на степен x

### Комбинации от един клавиш

За да се опрости въвеждането от клавиатурата, &kcalc; притежава комбинации от един клавиш за повечето функции. Например, при въвеждане на `7R` или `7r` ще бъде изчислена реципрочната стойност на 7 (1/7).

Клавиш | Функция | Бележки
H | Hyp | Хиперболично като при Hyp Sin, sinh(x)
S | Sin |
C | Cos |
T | Tan |
N | Ln | логаритъм при основа e
L | Log | логаритъм при основа 10
I | Inv | Обратна, ⪚, ако искате arcsin(x), напишете `i s`
\ | +/- | Сменя знака
[ | x^2 |
^ | x^y |
! | x! | Факториел
< | Lsh | Лява смяна. Inv Lsh е дясна смяна.
& | And | Логическо И
* | X | Умножение
/ | / | Деление
D | Dat | Въвеждане на число при статистическия режим
O | Или | Логическо ИЛИ. Inv Or е XOR - изключващо ИЛИ
R | 1/x | Реципрочно
= | = |
Enter | = |
Return | = |
Page Up | C | Изчистване
Esc | C | Изчистване
Предишен | C | Изчистване
Page Down | AC | Изчистване на всичко
Следващ | AC | Изчистване на всичко
Del | AC | Изчистване на всичко
F1 | ? | Помощ, извиква това ръководство
F2 | Конфигуриране | Показва диалога за конфигуриране
F3 |  | Превключва между тригонометричен и статистически режим

## Коментари за отделни функции

### Mod и Inv Mod

Mod дава остатъка от делението на числото върху екрана и следващото въведено число.

- `22 Mod 8 =` ще даде резултат 6

  `22.345 Mod 8 =` ще даде резултат 6.345

Inv Mod извършва целочислено деление между числото на екрана и следващото въведено число.

- `22 Inv Mod 8 =` ще даде резултат 2

  `22.345 Mod 8 =` също дава 2

### %

Използван вместо клавиша =, % интерпретира крайната операция в текущото изчисление, както следва:

- Ако последния оператор е + или -, показва резултата като процент от последното число.

- Ако последния оператор е *, разделя резултата от умножението на 100.

- Ако последния оператор е /, дава делимото, като процент от делителя.

- Ако последния оператор е x^y, даво основата, вдигната на степен (степенния показател, разделен на 100) (x^(y/100)).

- Във всички други случаи клавишът % дава резултат, идентичен с този на клавиша =.

Примери:

- `11 + 89 %` дава 112,35.(89 + 11 = 100, като 100 е 112,35 процента от 89)

  `42 * 3 %` дава 1,26 (42 * 3 / 100)

  `45 / 55 %` дава 81,81... (45 is 81,81... процента от 55)

  `2 ^ 300 %` дава 8 (2 на степен (300/100))

### Lsh и Inv Lsh

Lsh премества наляво цялата част от числото на екрана (умножава го по 2) n пъти, като n е следващото въведено число. Резултатът е цяло число:

- `10 Lsh 3 =` дава 80 (10, умножено по 2 три пъти).

  `10,345 Lsh 3 =` също дава 80.

Inv Lsh премества надясно числото (разделя целочислено на 2) n пъти.

- `16 Inv Lsh 2 =` дава 4 (16 делено на 2 два пъти).

  `16,999 Inv Lsh 2 =` също дава 4.

### Cmp, And, Or и Inv Or

Функциите Cmp, And и Or вършат побитови логически операции, затова е по-лесно да се работи с тях, ако бройната система е с Основа Hex (шестнадесетична), или Oct (осмична) или Bin (двоична) вместо Dec. При следващите примери Основа е включена на Bin.

Cmp обръща битовете.

- `101 Cmp` дава 111...111010

And прави логическо И.

- `101 And 110 =` дава 100

Or прави логическо ИЛИ.

- `101 Or 110 =` дава 111

Inv Or прави логическо изключващо ИЛИ.

- `101 Inv Or 110 =` дава 11

## Въпроси и отговори

Как да получа pi=3,1415926...?

Просто напишете `Inv EE`. Също 4 * Inv Tan(1rad) (4*arctg(1rad)).

Как да получа e, Ойлеровото число?

Напишете `1 Inv Ln`.

Как да имам два знака след десетичната запетая?

Щракнете върху бутона Configure, с това ще се покаже диалога за конфигуриране. Маркирайте Задава фиксирана точност и настройте превъртащия се прозорец да показва 2.

Ами точността?

Главния фактор, определящ точността на &kcalc; е дали вашитеlibc и libmath поддържат типа данни на C `long double`. Ако случаят е такъв, &kcalc; ще засече това по време на компилирането си и ще използва този тип данни за основен при съхраняването на числа. Проверете страницата на &kcalc; Относно (в диалога Конфигурация) за да разберете какъв е основниятип данни за вашето копие на &kcalc;.

Освен ако имате libc и libmath от изключително високо качество, можете да наблюдавате някои интересни резултати, при опити да се изпълнят изчисления като: `123.22 - 123.21`, `2.01 - 2`, `123.88 - 123.87` и подобни. Ако мислите; че това е лошо, опитайте да направите същото с калкулатора на &Windows;.

Настройте Точността в диалога на &kcalc;Конфигурация, така че горните изчисления да дават верни резултати. Препоръчвам ви точност 14, ако основния тип данни за вашето копие на &kcalc; е `long double`, иначе 8 или 10.

По-висока точност не означава непременно по-добри резултати. Поиграйте си с точността и ще видите какво имам в предвид.

## Лиценз

&kcalc; Запазени права за програмата 1996-2001 Bernd Johannes Wuebben wuebben@kde.org.

Добавки от Espen Sand. espen@kde.org, 2000

Добавки от Espen Sand. amt3734@rit.edu, 2001

&kcalc; беше вдъхновен от xfrmcalcна Martin Bartlett, чийто механизъм за управление на стека все още е част от &kcalc;.

Запазени права за документацията 2001,2002:

- Bernd Johannes Wuebben wuebben@kde.org

- Pamela Roberts pam.roberts@btinternet.com

&underFDL; &underGPL;

## Инсталация

&kcalc; е част от пакета kdeutils от проекта &kde; и по принцип се доставя като част от инсталацията на &kde;. За повече подробности за &kde; посетете http://www.kde.org.

### Компилиране и инсталация

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

### Как да разреша long double точност за &kcalc;

Ако машината ви поддържа типа данни на C `long double` и ако имате работещ libc можете да имате `long double` точност в &kcalc;.

Ето какво да направите:

1. Проверете `../config.h` и вижте дали е дефинирано HAVE_LONG_DOUBLE, &ie; би трябвало да намерите ред, съдържащ:

       #define HAVE_LONG_DOUBLE 1

   Ако не можете да намерите такъв ред, вашата система не поддържа long double IEEE точност.

2. Редактирайте файла `kcalctype.h` `configdlg.cpp` `kcalc.cpp` и `kcalc_core.cpp` и изтрийте редовете:

       #ifdef HAVE_LONG_DOUBLE
       #undef HAVE_LONG_DOUBLE
       #endif

3. Прекомпилирайте &kcalc;.