# Руководство &kcalc;

## Введение

Этот документ описывает &kcalc; версии 1.8.

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

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

- &kcalc; предоставляет тригонометрические функции, логические операции и статистические вычисления.

- &kcalc; позволяет вам копировать и вставлять числа из буфера обмена.

- &kcalc; имеет стек результатов, который позволяет вам легко выбирать предыдущие результаты.

- Вы можете настроить цвета и шрифт экрана &kcalc;.

- Вы можете настроить точность &kcalc; и количество знаков дробной части.

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

  Подсказка: При нажатой клавише &Ctrl; на каждой кнопке показываются соответствующие комбинации клавиш.

Приятной работы в &kcalc;!

Bernd Johannes Wuebben

## Использование

### Общее использование

Общие принципы использования аналогичны большинству простых научных калькуляторов, но &kcalc; имеет и следующие специальные особенности:

Стек результатов

- При каждом щелчке мышью на кнопке =, нажатии клавиш Enter или =, число с экрана будет записано в стек результатов &kcalc;. Вы можете перемещаться по стеку, используя комбинации клавиш &Ctrl;Z и &Ctrl; &Shift;Z.

Процентные функции

- Процентные функции работаю несколько отличным способом, чем в большинстве калькуляторов. Однако, когда они становятся понятными, усовершенствованные функциональные возможности оказываются полезными. Дополнительно об этом смотрите в разделе процентные функции.

Копирование и вставка

- - Нажатие &Ctrl;C помещает текущее число в буфер обмена.

  - Нажатие &Ctrl;V вставляет содержимое буфера обмена в экран, если это корректное число.

  - Можно копировать и вставлять, щёлкая на дисплее &kcalc; средней кнопкой мыши, но это может быть отключено в следующих версиях.

Дополнительные функции

- При первом запуске &kcalc;, будут показаны только кнопки основных арифметических операций.

  Через меню Настройка можно добавить дополнительные кнопки.&kcalc;: посмотрите разделы Статистический режим и Тригонометрический режим кнопки.

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

В этом режиме левый столбец кнопок содержит статистические функции:

Большинства функциональных возможностей в этом режиме обеспечивается кнопкой Dat. Чтобы создать список чисел, введите число в калькулятор и нажмите Dat. На экране будет показан порядковый номер элемента в списке . Традиционный калькулятор позволяет вычислять три статистических функции: количество, сумму и сумму квадратов чисел в списке. &kcalc; фактически хранит каждое значение, поэтому вы можете вычислить также среднее значение.

Кнопки | Функции
N | Количество элементов
Inv N | Сумма
Mea | Среднее значение
Inv Mea | Сумма квадратов
Std | Среднеквадратичное отклонение (n)
Inv Std | Среднеквадратичное отклонение генеральной совокупности (n-1)
Med | Медиана
Dat | Добавление элемента данных в список
Inv Dat | Удалить последнюю введённую запись
Cst | Очистить весь список

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

В этом режиме левая колонка кнопок содержит тригонометрические функции:

Кнопки | Функции
Hyp | Вход в гиперболический режим. Нажатие Hyp Sin, например, вычисляет гиперболический синус: sinh(x)
Sin | Вычислить синус
Inv Sin | Вычислить арксинус
Cos | Вычислить косинус
Inv Cos | Вычислить арккосинус
Tan | Вычислить тангенс
Inv Tan | Вычислить арктангенс
Log | Вычислить десятичный логарифм
Inv Log | Вычислить 10 в степени x
Ln | Вычислить натуральный логарифм. Это логарифм по основанию e
Inv Ln | Вычислить e в степени x

### Операции с памятью

&kcalc; поддерживает операции с памятью как и в обычных калькуляторах плюс шесть полей для хранения констант.

#### Стандартные операции с памятью

&kcalc; может запоминать результаты операций и снова использовать их в дальнейшых вычисления. Вы можете получить доступ к этим функциям через кнопки MR, MS, M+ и MC.

MS

- Кнопка MS сохраняет текущий результат в память.

M+

- M+ добавляет текущий результат к значению в памяти. Так, если в памяти было значение 20 и текущий результат на экране 5, значение в памяти изменится на 25 после нажатия кнопки. Если память пуста, это текущий результат будет просто сохранён в памяти как если бы вы нажали MS.

MR

- Кнопка MR выводит значение из памяти на экран.

MC

- Кнопка MC очищает память.

Если значение сохранено в памяти, в строке состояния и на экране появится индиктор М

#### Константы

Шесть кнопок констант с C1 по C6 будут доступны только после включения пункта Константы в меню Настройка.

Чтобы сохранить текущее значение в константы нажмите кнопку Inv, а затем необходимую кнопку константы: от C1 до C6.

Чтобы использовать значение, сохранённое в любой из константных кнопок в вычислении, нажмите необходимую кнопку C1 - C6, и сохранённое число будет показано на экране.

Вы можете подписать кнопки констант. Нажмите правой кнопкой мыши по нужной кнопке кнтанты (C1 - C6) и в контекстном меню выберите Изменить надпись.

Вы можете привязать у любой из этих шести кнопок C1 - C6 значение предопределённой константы, выбрав в контекстом меню пункт Выбрать из списка. Хотя значения предопределенных констант могут также быть полученны через меню Константы, иногда удобнее привязать константу к кнопке, если он используется часто.

### Клавиши

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

Всегда можно нажать &Ctrl; для просмотра доступных комбинаций клавиш прямо на кнопках.

Клавиша | Функции | Примечания
H | Hyp | Гиперболический режим: Hyp Sin вычислит sinh(x)
S | Sin |
C | Cos |
T | Tan |
N | Ln | Натуральный логарифм
L | Log | Десятичный логарифм
I | Inv | Обратная функция ⪚, например, если вы хотите вычислить arcsin(x), наберите `is`
\ | ± | Изменение знака
[ | x^2 |
^ | x^y |
! | x! | Факториал
< | Lsh | Сдвиг влево. Обратите внимание: Inv Lsh — это сдвиг вправо.
& | And | Логическое И
* | X | Умножение
/ | / | Деление
D | Dat | Добавление элемента данных в статистическом режиме
O | Or | Логическое ИЛИ. Обратите внимание: Inv Or — это XOR (исключающее ИЛИ).
R | 1/x | Обратная величина
= | = |
Enter | = |
Return | = |
Page Up | C | Очистить
Esc | C | Очистить
Prior | C | Очистить
Page Down | AC | Очистить всё
Next | AC | Очистить всё
Del | AC | Очистить всё

## Специфичные функции

### Mod и Inv Mod

Mod вычисляет остаток от деления текущего числа на введённое вслед за ним.

- `22 Mod 8 =` возвращает 6

  `22,345 Mod 8 =` возвращает 6,345

Inv Mod возвращает округлённый до целого остаток от деления текущего числа на введённое вслед за ним.

- `22 Inv Mod 8 =` возвращает 2

  `22,345 Inv Mod 8 =` также возвращает 2

### %

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

- Если последний оператор + или -, показывает результат как процент от последнего операнда.

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

- Если последний оператор /, возвращает левый операнд как процент от правого.

- Во всех остальных случаях клавиша % возвращает результат как в случае нажатия клавиши =.

Примеры:

- `150 + 50 %` возвращает 225 (150 плюс 50 процентов от этого числа)

  `42 * 3 %` возвращает 1,26 (42 * 3 / 100)

  `45 / 55 %` возвращает 81,81... (45 это 81,81.. процент от 55)

### 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 выполняет дополнение до 1 (инвертирует все биты).

- `101 Cmp` возвращает 111...111010

And — логическое И.

- `101 And 110 =` возвращает 100

Or — логическое ИЛИ.

- `101 Or 110 =` возвращает 111

Xor выполняет логическую операцию XOR (исключающее ИЛИ).

- `101 Xor 110 =` возвращает 11

## Вопросы и ответы

Как получить e, число Эйлера?

Наберите `1 Inv Ln`.

Как установить два знака после запятой?

Вызовите диалог настройки. Включите флажок Установить дестяичную точность и укажите 2 знака дробной части.

Как насчёт точности чисел?

Основной фактор, определяющий точность &kcalc; — поддерживает ли ваши libc и libmath тип данных C `long double`. Если это так, то во время компиляции &kcalc; обнаружит это и будет использовать его, как свой основной тип данных для представления чисел.

Откорректируйте точность в диалоге Настройка &kcalc;, чтобы вышеупомянутые вычисления работали нормально. Я рекомендую точность в 14 разрядов, если основной тип данных вашей копии &kcalc; — это `long double`. Иначе 8 или 10.

Более высокая точность не обязательно даёт лучшие результаты. Поиграйте с точностью, и вы узнаете, о чем речь.

&commands;

## Авторы и лицензия

&kcalc; Copyright ©:

Bernd Johannes Wuebben 1996-2000

Команда &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;

&kcalc; был основан на приложении xfrmcalc, созданном Мартином Бартлетом, механизм стека которого до сих пор является частью &kcalc;.

Документация - Copyright © 2001,2002,2005,2006::

- &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;

## Установка

&kcalc; — часть пакета tdeutils в составе &kde;, и будет устанавливаться вместе с &kde;. Подробную информацию о &kde; смотрите на сайте http://www.kde.org.

### Компиляция и установка

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

### Как установить для &kcalc; точность long double

Если ваш компьютер поддерживает тип данных С `long double` и вы имеете работающую libc, можете включить точность `long double` для &kcalc;.

Для этого надо сделать:

1. Проверьте файл `../config.h` и найдите где определяется HAVE_LONG_DOUBLE. То есть вы должны найти следующую строку:

       #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;.