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

## Введение

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

&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; многие кнопки имеют вторую раскладку. Щёлкните мышью по кнопке Inv или нажмите клавишу I, чтобы увидеть вторую раскладку.

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

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

Большинство функциональности в этом режиме сосредоточено вокруг кнопки 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 очищает память.

Если значение сохранено в памяти, в строке состояния появится надпись M, следующая за текущим режимом вычислений.

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

Шесть кнопок с константами от 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), наберите `i s`
\ | +/- | Смена знака
[ | x^2 |
^ | x^y |
! | x! | Факториал
< | Lsh | Поразрядный сдвиг влево
> | Rsh | Поразрядный сдвиг вправо.
& | AND | Логическое И
x или * | X | Умножение
/ | / | Деление
D | Dat | Ввод записи в статистическом режиме
| | OR | Логическое ИЛИ. Обратите внимание: Inv OR - это XOR (исключающее ИЛИ).
R | 1/x | Обратная величина
&Enter; | = |
Return | = |
PgUp | C | Очистить
Esc | C | Очистить
PgDown | AC | Очистить всё
Del | AC | Очистить всё
&Shift;+: | Mod | остаток от деления
&Alt;+1 до &Alt;+6 | C1 | используйте значения, сохранённые от C1 до C6

## Комментарии к специфичным функциям

### Mod и IntDiv

Mod даёт остаток от деления числа на экране и введённого вслед за ним.

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

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

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

- `22 Inv IntDiv 8 =` даёт результат 2

  `22.345 Inv IntDiv 8 =` даёт также 2

### %

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

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

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

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

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

Примеры:

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

  `42 * 3 %` даёт 1.26 (42 * 3 / 100)

  `45 / 55 %` даёт 81.81... (45 это 81.81.. процент от 55)

### Lsh и Rsh

Lsh сдвигает влево целую часть числа на экране (умножает его на 2) n раз, где n - следующее введённое число, и возвращает целое число (основание системы счисления устанавливается кнопкой Bin)

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

  `10.345 Lsh 3 =` также даёт 80.

Rsh поразрядно сдвигает вправо (выполняет целочисленное деление на 2) n раз.

- `16 Rsh 2 =` даёт 4 (16 дважды делённое на 2 ).

  `16.999 Rsh 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

ИЛИ - логическое ИЛИ.

- `101 OR 110 =` даёт 111

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

- `101 XOR 110 =` даёт 111

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

Как получить e, число Euler?

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

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

Выберите Параметры Настроить &kcalc;... на панели инструментов, это вызовет диалог настройки. Отметьте флажок Установить фиксированную точность и укажите точность 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-2008

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

- &David.Johnson; &David.Johnson.mail;

&kcalc; был основан на приложении xfrmcalc, созданном Martin Bartlett, механизм стека которого - это часть &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;

Перевод на русский: Алексей Андросовalexey@androsov.net

&underFDL; &underGPL;

## Установка

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

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

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

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

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

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

1. Проверьте файл `config-kcalc.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;.