<?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ <!ENTITY kappname "&kcalc;" > <!ENTITY package "kdeutils"> <!ENTITY % addindex "IGNORE"> <!ENTITY % Russian "INCLUDE" > <!-- change language only here --> ]> <book lang="&language;"> <bookinfo> <title >Руководство &kcalc;</title> <authorgroup> <author >&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail; </author> <author >&Pamela.Roberts;&Pamela.Roberts.mail; </author> <othercredit role="translator" ><firstname >Олег</firstname > <surname >Баталов</surname > <affiliation ><address ><email >batalov@twiga.kz</email ></address ></affiliation ><contrib >Перевод на русский</contrib ></othercredit > </authorgroup> <copyright> <year >2001</year > <year >2002</year> <holder >&Bernd.Johannes.Wuebben;, &Pamela.Roberts;</holder> </copyright> <legalnotice >&FDLNotice;</legalnotice> <date >2002-09-28</date> <releaseinfo >1.03.02</releaseinfo> <abstract ><para >&kcalc; - научный калькулятор для &kde;</para ></abstract> <keywordset> <keyword >KDE</keyword> <keyword >KCalc</keyword> <keyword >калькулятор</keyword> </keywordset> </bookinfo> <chapter id="introduction"> <title >Введение</title> <para >Этот документ описывает &kcalc; версии 1.6.</para> <para >&kcalc; предоставляет больше математических функций, чем это видно на первый взгляд. В разделах этого руководства о клавиатурных акселераторах и режимах вы можете узнать о большинстве доступных функций.</para> <para >В дополнение к обычным функциональным возможностям, предлагаемым большинством научных калькуляторов, &kcalc; имеет много функций, которые заслуживают вашего внимания:</para> <itemizedlist> <listitem> <para >&kcalc; предоставляет тригонометрические функции, логические операции и статистические расчёты.</para> </listitem> <listitem> <para >&kcalc; позволяет вам копировать/вставлять числа с экрана.</para> </listitem> <listitem> <para >&kcalc; имеет <firstterm >стек результатов</firstterm >, который позволяет вам легко выбирать предыдущие результаты.</para> </listitem> <listitem> <para >Вы можете настроить цвета и шрифт экрана &kcalc;.</para> </listitem> <listitem> <para >Вы можете настроить точность &kcalc; и количество знаков после десятичной точки.</para> </listitem> <listitem> <para >&kcalc; предлагает большое количество <link linkend="key-accels" >комбинаций клавиш</link >, которые позволяют работать в &kcalc; без использования мыши.</para> <para >Подсказка: При нажатом <keycap >&Ctrl;</keycap > на кждой кнопке отображаются соответствующие комбинации клавиш.</para> </listitem> </itemizedlist> <para >Приятной работы в &kcalc;!</para> <para >Bernd Johannes Wuebben</para> </chapter> <chapter id="usage"> <title >Использование</title> <sect1 id="general-usage"> <title >Общее использование</title> <para >Общие принципы использования аналогичны большинству простых научных калькуляторов, но &kcalc; имеет и следующие специальные особенности:</para> <variablelist> <varlistentry> <term >Стек результатов</term> <listitem ><para >При каждом щелчке мышью на кнопке <guibutton >=</guibutton >, нажатии клавиш <keycap >Enter</keycap > или <keysym >=</keysym >, число с экрана будет записано в стек результатов &kcalc;. Вы можете перемещаться по стеку, используя комбинации клавиш <keycombo action="simul" >&Ctrl;<keycap >Z</keycap ></keycombo > и <keycombo action="simul" >&Ctrl; &Shift;<keycap >Z</keycap ></keycombo >.</para > </listitem> </varlistentry > <varlistentry> <term >Процентные функции</term> <listitem> <para >Процентные функции работаю несколько отличным способом, чем в большинстве калькуляторов. Однако, когда они становятся понятными, усовершенствованные функциональные возможности оказываются полезными. Дополнительно об этом смотрите в разделе <link linkend="percent" >процентные</link > функции.</para> </listitem ></varlistentry> <varlistentry> <term >Копирование и вставка</term> <listitem> <para ><itemizedlist> <listitem> <para >Нажатие <keycombo action="simul" >&Ctrl;<keycap >C</keycap ></keycombo > помещает отображаемое число в буфер обмена.</para> </listitem> <listitem> <para >Нажатие <keycombo action="simul" >&Ctrl;<keycap >V</keycap ></keycombo >вставляет содержимое буфера обмена в экран, если это корректное число с плавающей точкой.</para> </listitem> <listitem> <para >Можно скопировать/вставить щёлкая на дисплее &kcalc;, но это может быть отключено в следующих версиях.</para> </listitem> </itemizedlist> </para ></listitem ></varlistentry> <varlistentry> <term >Дополнительные функции</term> <listitem> <para >При первом запуске &kcalc;, будут отображаться только кнопки основных арифметических операций.</para> <para >Через меню <guimenu >Настройка</guimenu > можно добавить дополнительные кнопки.</para > </listitem> </varlistentry> </variablelist> </sect1> <sect1 id="statistical-mode"> <title >Статистический режим</title> <para >В этом режиме левый столбец кнопок содержит статистические функции:</para> <informaltable ><tgroup cols="2"> <thead> <row ><entry >Кнопки</entry> <entry >Функции</entry ></row ></thead> <tbody> <row ><entry ><guibutton >N</guibutton ></entry> <entry >Выбрать номер введённого элемента данных</entry ></row> <row ><entry ><guibutton >Inv</guibutton > <guibutton >N</guibutton ></entry> <entry >Отобразить сумму всех введённых элементов данных</entry ></row> <row ><entry ><guibutton >Mea</guibutton ></entry> <entry >Отобразить среднее из введённых элементов данных.</entry ></row> <row ><entry ><guibutton >Inv</guibutton > <guibutton >Mea</guibutton ></entry> <entry >Отобразить сумму квадрата введённых данных</entry ></row> <row ><entry ><guibutton >Std</guibutton ></entry> <entry >Отобразить среднеквадратичное отклонение (n)</entry ></row> <row ><entry ><guibutton >Inv</guibutton > <guibutton >Std</guibutton ></entry> <entry >Отобразить среднеквадратичное отклонение совокупности (n-1)</entry ></row> <row ><entry ><guibutton >Med</guibutton ></entry> <entry >Отобразить медиану</entry ></row> <row ><entry ><guibutton >Dat</guibutton ></entry> <entry >Ввод элемента данных</entry ></row> <row ><entry ><guibutton >Inv</guibutton > <guibutton >Dat</guibutton ></entry> <entry >Очистить последнюю введённую запись</entry ></row> <row ><entry ><guibutton >Cst</guibutton ></entry> <entry >Очистить весь массив введённых данных</entry ></row> </tbody ></tgroup ></informaltable> </sect1> <sect1 id="trigonometric-mode"> <title >Тригонометрический режим</title> <para >В этом режиме левая колонка кнопок содержит тригонометрические функции:</para> <informaltable ><tgroup cols="2"> <thead> <row ><entry >Кнопки</entry> <entry >Функции</entry ></row> </thead> <tbody> <row ><entry ><guibutton >Hyp</guibutton ></entry> <entry >Вход в гиперболический режим. Hyp Sin, например, это - гиперболический синус: sinh(x)</entry ></row> <row ><entry ><guibutton >Sin</guibutton ></entry> <entry >Вычислить синус</entry ></row> <row ><entry ><guibutton >Inv</guibutton > <guibutton >Sin</guibutton ></entry> <entry >Вычислить арксинус</entry ></row> <row ><entry ><guibutton >Cos</guibutton ></entry> <entry >Вычислить косинус</entry ></row> <row ><entry ><guibutton >Inv</guibutton > <guibutton >Cos</guibutton ></entry> <entry >Вычислить арккосинус</entry ></row> <row ><entry ><guibutton >Tan</guibutton ></entry> <entry >Вычислить тангенс</entry ></row> <row ><entry ><guibutton >Inv</guibutton > <guibutton >Tan</guibutton ></entry> <entry >Вычислить арктангенс</entry ></row> <row ><entry ><guibutton >Log</guibutton ></entry> <entry >Вычислить десятичный логарифм</entry ></row> <row ><entry ><guibutton >Inv</guibutton > <guibutton >Log</guibutton ></entry> <entry >Вычислить 10 в степени x</entry ></row> <row ><entry ><guibutton >Ln</guibutton ></entry> <entry >Вычислить натуральный логарифм. Это логарифм по основанию "e".</entry ></row> <row ><entry ><guibutton >Inv</guibutton > <guibutton >Ln</guibutton ></entry> <entry >Вычислить e в степени x</entry ></row> </tbody ></tgroup ></informaltable> </sect1> <sect1 id="key-accels"> <title >Однокнопочные акселераторы </title> <para >Для более простого ведения расчётов с использованием клавиатуры &kcalc; поддерживает однокнопочные акселераторы для большинства функций. Например набор <userinput >7R</userinput > или <userinput >7r</userinput > вычислит обратную величину 7 (1/7).</para> <para >Всегда можно нажать <keycap >&Ctrl;</keycap > для просмотра доступных комбинаций клавиш прямо на кнопках.</para> <informaltable ><tgroup cols="3"> <thead> <row ><entry >Кнопка</entry> <entry >Функции</entry> <entry >Примечания</entry ></row> </thead> <tbody> <row ><entry ><keycap >H</keycap ></entry> <entry ><guibutton >Hyp</guibutton ></entry> <entry >Гиперболический, как в Hyp Sin, sinh(x)</entry ></row> <row ><entry ><keycap >S</keycap ></entry> <entry ><guibutton >Sin</guibutton ></entry> <entry ></entry ></row> <row ><entry ><keycap >C</keycap ></entry> <entry ><guibutton >Cos</guibutton ></entry> <entry ></entry ></row> <row ><entry ><keycap >T</keycap ></entry> <entry ><guibutton >Tan</guibutton ></entry> <entry ></entry ></row> <row ><entry ><keycap >N</keycap ></entry> <entry ><guibutton >Ln</guibutton ></entry> <entry >натуральный логарифм</entry ></row> <row ><entry ><keycap >L</keycap ></entry> <entry ><guibutton >Log</guibutton ></entry> <entry >десятичный логарифм</entry ></row> <row ><entry ><keycap >I</keycap ></entry> <entry > <guibutton >Inv</guibutton ></entry> <entry >Обратная функция, например, если вы хотите вычислить arcsin(x), наберите <userinput >i s </userinput ></entry ></row> <row ><entry ><keysym >\</keysym ></entry> <entry ><guibutton >+/-</guibutton ></entry> <entry >Смена знака</entry ></row> <row ><entry ><keysym >[</keysym ></entry> <entry ><guibutton >x^2</guibutton ></entry> <entry ></entry ></row> <row ><entry ><keysym >^</keysym ></entry> <entry ><guibutton >x^y</guibutton ></entry> <entry ></entry ></row> <row ><entry ><keysym >!</keysym ></entry> <entry ><guibutton >x!</guibutton ></entry> <entry >Факториал</entry ></row> <row ><entry ><keysym ><</keysym ></entry> <entry ><guibutton >Lsh</guibutton ></entry> <entry >Сдвиг влево. Обратите внимание: <guibutton >Inv</guibutton > <guibutton >Lsh</guibutton > - это сдвиг вправо.</entry ></row> <row ><entry ><keysym >&</keysym ></entry> <entry ><guibutton >And</guibutton ></entry> <entry >Логическое И</entry ></row> <row ><entry ><keysym >*</keysym ></entry> <entry ><guibutton >X</guibutton ></entry> <entry >Умножение</entry ></row> <row ><entry ><keysym >/</keysym ></entry> <entry ><guibutton >/</guibutton ></entry> <entry >Деление</entry ></row> <row ><entry ><keycap >D</keycap ></entry> <entry ><guibutton >Dat</guibutton ></entry> <entry >Ввод записи в статистическом режиме</entry ></row> <row ><entry ><keycap >O</keycap ></entry> <entry ><guibutton >Or</guibutton ></entry> <entry >Логическое ИЛИ. Обратите внимание: <guibutton >Inv</guibutton > <guibutton >Or</guibutton > - это XOR, исключающее ИЛИ.</entry ></row> <row ><entry ><keycap >R</keycap ></entry> <entry ><guibutton >1/x</guibutton ></entry> <entry >Обратная величина</entry ></row> <row ><entry ><keysym >=</keysym ></entry> <entry ><guibutton >=</guibutton ></entry> <entry ></entry ></row> <row ><entry ><keycap >Enter</keycap ></entry> <entry ><guibutton >=</guibutton ></entry> <entry ></entry ></row> <row ><entry ><keycap >Return</keycap ></entry> <entry ><guibutton >=</guibutton ></entry> <entry ></entry ></row> <row ><entry ><keycap >Page Up</keycap ></entry> <entry ><guibutton >C</guibutton ></entry> <entry >Очистить</entry ></row> <row ><entry ><keycap >Esc</keycap ></entry> <entry ><guibutton >C</guibutton ></entry> <entry >Очистить</entry ></row> <row ><entry ><keycap >Prior</keycap ></entry> <entry ><guibutton >C</guibutton ></entry> <entry >Очистить</entry ></row> <row ><entry ><keycap >Page Down</keycap ></entry> <entry ><guibutton >AC</guibutton ></entry> <entry >Очистить всё</entry ></row> <row ><entry ><keycap >Next</keycap ></entry> <entry ><guibutton >AC</guibutton ></entry> <entry >Очистить всё</entry ></row> <row ><entry ><keycap >Del</keycap ></entry> <entry ><guibutton >AC</guibutton ></entry> <entry >Очистить всё</entry ></row> </tbody ></tgroup ></informaltable> </sect1> </chapter> <chapter id="comments-on-specific-functions"> <title >Комментарии к специфичным функциям</title> <sect1 id="mod"> <title >Mod и Inv Mod</title> <variablelist> <varlistentry> <term ><guibutton >Mod</guibutton > даёт остаток от деления числа на экране и введённого вслед за ним.</term> <listitem ><para ><userinput >22 Mod 8 = </userinput > даёт результат <emphasis >6</emphasis ></para> <para ><userinput >22.345 Mod 8 = </userinput > даёт результат <emphasis >6.345</emphasis ></para> </listitem ></varlistentry> <varlistentry> <term ><guibutton >Inv</guibutton > <guibutton >Mod</guibutton > даёт округлённый до целого остаток от деления числа на экране и введённого вслед за ним.</term> <listitem ><para ><userinput >22 Inv Mod 8 = </userinput > даёт результат <emphasis >2</emphasis ></para> <para ><userinput >22.345 Inv Mod 8 = </userinput > даёт также <emphasis >2</emphasis > </para ></listitem ></varlistentry> </variablelist> </sect1> <sect1 id="percent"> <title >%</title> <para >Используемый вместо кнопки <guibutton >=</guibutton >, <guibutton >%</guibutton > интерпретируется как завершающая операция в потоке, вычисляется следующим образом:</para> <para ><itemizedlist> <listitem> <para >Если последний оператор + или - отображает результат как процент от последнего операнда. </para> </listitem> <listitem> <para >Если последний оператор * то делит результат умножения на 100. </para> </listitem> <listitem> <para >Если последний оператор / даёт левый операнд как процент от правого. </para> </listitem> <listitem> <para >Во всех остальных случаях клавиша % даёт идентичный результат с клавишей =. </para> </listitem> </itemizedlist ></para> <variablelist> <varlistentry> <term >Примеры:</term> <listitem> <para ><userinput >150 + 50 %</userinput > даёт <emphasis >225</emphasis > (150 плюс 50 процентов от этого числа)</para> <para ><userinput >42 * 3 %</userinput > даёт <emphasis >1.26</emphasis > (42 * 3 / 100)</para> <para ><userinput >45 / 55 %</userinput > даёт <emphasis >81.81...</emphasis > (45 это 81.81.. процент от 55)</para> </listitem> </varlistentry> </variablelist> </sect1> <sect1 id="lsh-rsh"> <title >Lsh и Inv Lsh</title> <variablelist> <varlistentry> <term ><guibutton >Lsh</guibutton > сдвиг влево целой части числа на экране (умножение его на 2) n раз, где n - следующее введённое число, и возврат целого числа:</term> <listitem ><para ><userinput >10 Lsh 3 =</userinput > даёт <emphasis >80</emphasis > (10, умноженное на 2 три раза).</para> <para ><userinput >10.345 Lsh 3 =</userinput > также даёт <emphasis >80</emphasis >.</para ></listitem> </varlistentry> <varlistentry> <term ><guibutton >Inv</guibutton > <guibutton >Lsh</guibutton > правый сдвиг числа (выполняет деление целой части на 2) n раз.</term> <listitem ><para ><userinput >16 Inv Lsh 2 =</userinput > даёт <emphasis >4</emphasis > (16 делённое на 2 дважды).</para> <para ><userinput >16.999 Inv Lsh 2 =</userinput > также даёт <emphasis >4</emphasis >.</para> </listitem> </varlistentry> </variablelist> </sect1> <sect1 id="and-or-xor"> <title >Cmp, And, Or и Inv Or</title> <para >Функции <guibutton >Cmp</guibutton >, <guibutton >And</guibutton > и <guibutton >Or</guibutton > выполняют побитные логические операции и является более значимыми, если <guilabel >Base</guilabel > установлена в <guilabel >Hex</guilabel >, <guilabel >Oct</guilabel > или <guilabel >Bin</guilabel >, а не в <guilabel >Dec</guilabel >. В следующих примерах <guilabel >Base</guilabel > установлена в <guilabel >Bin</guilabel >.</para> <variablelist> <varlistentry> <term ><guibutton >Cmp</guibutton > выполняет дополнение до 1 (инвертирует все биты).</term> <listitem ><para ><userinput >101 Cmp</userinput > даёт <emphasis >111...111010</emphasis ></para > </listitem> </varlistentry> <varlistentry> <term ><guibutton >And</guibutton > - логическое И.</term> <listitem ><para ><userinput >101 110 =</userinput > даёт <emphasis >100</emphasis ></para > </listitem> </varlistentry> <varlistentry> <term ><guibutton >ИЛИ</guibutton > - логическое ИЛИ.</term> <listitem ><para ><userinput >101 Or 110 =</userinput > даёт <emphasis >111</emphasis ></para > </listitem> </varlistentry> <varlistentry> <term ><guibutton >Inv</guibutton > <guibutton >Or</guibutton > выполняет операцию логическое XOR (исключающее ИЛИ).</term> <listitem ><para ><userinput >101 Xor 110 =</userinput > даёт <emphasis >11</emphasis ></para > </listitem> </varlistentry> </variablelist> </sect1> </chapter> <chapter id="questions-and-answers"> <title >Вопросы и ответы</title> <qandaset> <qandaentry> <question ><para >Как получить e, число Euler?</para ></question> <answer ><para >Наберите <userinput >1 Inv Ln</userinput >.</para ></answer> </qandaentry> <qandaentry> <question ><para >Как установить два знака после запятой?</para ></question> <answer ><para >Щёлкните на кнопке <guibutton >Настроить</guibutton >, это вызовет диалог настройки. Отметьте флажок <guilabel >установить фиксированную точность</guilabel > и укажите точность 2.</para ></answer > </qandaentry> <qandaentry> <question ><para >Что относительно точности?</para ></question> <answer ><para >Основной фактор, определяющий точность &kcalc; - поддерживает ли ваши libc и libmath тип данных C <type >long double</type >. Если это так, то во время компиляции &kcalc; обнаружит это и будет использовать его, как свой основной тип данных для представления чисел. Проверьте диалог <guilabel >О программе &kcalc;</guilabel >, чтобы узнать, какая точность используется в вашей копии &kcalc;.</para> <para >Если вы не имеете хороших libc и libmath, вы будете наблюдать некоторые <quote >интересные</quote > результаты при попытке выполнить вычисления типа <userinput >123.22 - 123.21</userinput >, <userinput >2.01 - 2</userinput >, <userinput >123.88 - 123.87</userinput > и подобные. Однако если вы считаете, что это плохо, попробуйте сделать те же самые вычисления в калькуляторе &Windows;.</para> <para >Откорректируйте <guilabel >точность</guilabel > в диалоге <guibutton >Настройки</guibutton > &kcalc;, чтобы вышеупомянутые вычисления работали нормально. Я рекомендую точность в 14 разрядов, если основной тип данных вашей копии &kcalc; - это <type >long double</type >. Иначе 8 или 10.</para> <para >Более высокая точность не обязательно даёт лучшие результаты. Поиграйте с точностью, и вы узнаете, о чем речь.</para> </answer> </qandaentry> </qandaset> </chapter> <chapter id="copyright"> <title >Авторы и лицензия</title> <para >Программа &kcalc; Copyright ©:</para> <para >Bernd Johannes Wuebben 1996-2000</para> <para >Команда &kde; 2000-2004</para> <itemizedlist> <listitem ><para >&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;</para ></listitem> <listitem ><para >&Evan.Teran; &Evan.Teran.mail;</para ></listitem> <listitem ><para >&Espen.Sand; &Espen.Sand.mail;</para ></listitem> <listitem ><para >&Chris.Howells; &Chris.Howells.mail;</para ></listitem> <listitem ><para >&Aaron.J.Seigo; &Aaron.J.Seigo.mail;</para ></listitem> <listitem ><para >&Charles.Samuels; &Charles.Samuels.mail;</para ></listitem> </itemizedlist> <para >&kcalc; был основан на приложении <application >xfrmcalc</application >, созданном <personname ><firstname >Martin</firstname > <surname >Bartlett</surname ></personname >, механизм стека которого - это часть &kcalc;.</para> <para >Документация - Copyright © 2001,2002:</para> <itemizedlist> <listitem ><para >&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;</para ></listitem> <listitem ><para >&Pamela.Roberts; &Pamela.Roberts.mail;</para ></listitem> </itemizedlist> &underFDL; &underGPL; </chapter> <appendix id="installation"> <title >Установка</title> <para >&kcalc; - это часть пакета kdeutils в составе &kde;, и будет устанавливаться вместе с &kde;. Подробную информацию о &kde; смотрите <ulink url="http://www.kde.org" >http://www.kde.org</ulink >.</para> <!-- <para >&kcalc;'s home site is <ulink url="http://math.cornell.edu/~wuebben/kde.html"> http://math.cornell.edu/~wuebben/kde.html</ulink ></para> --> <sect1 id="compilation-and-installation"> <title >Компиляция и установка</title> &install.intro.documentation; &install.compile.documentation; </sect1> <sect1 id="enable-long-double-precision"> <title >Как установить для &kcalc; точность long double</title> <para >Если ваш компьютер поддерживает тип данных С <type >long double</type > и вы имеете работающую libc, можете включить точность <type >long double</type > для &kcalc;.</para> <para >Для этого надо сделать:</para> <procedure> <step> <para >Проверьте файл <filename >../config.h</filename > и найдите, определён ли HAVE_LONG_DOUBLE. То есть вы должны найти следующую строку:</para> <screen >#define HAVE_LONG_DOUBLE 1</screen> <para >Если этой строки там нет, ваша система не поддерживает точность long double IEEE. </para> </step> <step> <para >Измените файлы <filename class="headerfile" >kcalctype.h</filename >, <filename >configdlg.cpp</filename >, <filename >kcalc.cpp</filename > и <filename >kcalc_core.cpp</filename > и удалите следующие строки:</para> <screen >#ifdef HAVE_LONG_DOUBLE #undef HAVE_LONG_DOUBLE #endif </screen> </step> <step> <para >Пересоберите &kcalc;. </para> </step> </procedure> </sect1> </appendix> </book> <!-- Local Variables: mode: sgml sgml-minimize-attributes:nil sgml-general-insert-case:lower sgml-indent-step:0 sgml-indent-data:nil End: -->