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

&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;
&Pamela.Roberts;&Pamela.Roberts.mail;
Олег Баталов

    batalov@twiga.kz

Перевод на русский
2001 2002 &Bernd.Johannes.Wuebben;, &Pamela.Roberts;
&FDLNotice;
2002-09-28
1.03.02

&kcalc; - научный калькулятор для &kde;

KDE KCalc калькулятор

## Введение

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

&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;, будут отображаться только кнопки основных арифметических операций.

  Через меню Настройка можно добавить дополнительные кнопки.

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

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

Кнопки | Функции
--- | ---
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; поддерживает однокнопочные акселераторы для большинства функций. Например набор `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 | Сдвиг влево. Обратите внимание: 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 выполняют побитные логические операции и является более значимыми, если Base установлена в Hex, Oct или Bin, а не в Dec. В следующих примерах Base установлена в Bin.

Cmp выполняет дополнение до 1 (инвертирует все биты).

  `101 Cmp` даёт 111...111010

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

  `101 110 =` даёт 100

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

  `101 Or 110 =` даёт 111

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

  `101 Xor 110 =` даёт 11

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

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

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

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

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

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

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

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

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

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

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

      #define HAVE_LONG_DOUBLE 1

  Если этой строки там нет, ваша система не поддерживает точность long double IEEE.

- Измените файлы `kcalctype.h`, `configdlg.cpp`, `kcalc.cpp` и `kcalc_core.cpp` и удалите следующие строки:

      #ifdef HAVE_LONG_DOUBLE
      #undef HAVE_LONG_DOUBLE
      #endif

- Пересоберите &kcalc;.