Расширения Writer. Мини‑Калькулятор (MiniCalc.oxt)

From Wiki
Revision as of 16:23, 1 November 2011 by Sancho (talk | contribs) (Промежуточное сохранение)
Jump to navigationJump to search


Мини‑Калькулятор
Тип

 Расширение
Разработчик

 Н. Е. Гарбуз. Инфра-Ресурс
Язык программирования

 StarBASIC
Модуль

 Writer
ОС

 независимо
Последняя версия

 1.0.4
Лицензия

 GNU LGPL v. 3.0
Сайт

 i-rs.ru

Описание

«Мини‑Калькулятор» создан для вставки в документ результата, рассчитанного по формуле. Работает без Java в пакете InfraOffice.pro.



«Мини-Калькулятор» может быть использован для арифметических, финансовых и инженерных расчётов, предоставляя пользователю соответствующие интерфейсы и системы ввода данных.


Новое в «Мини‑Калькуляторе» 1.0.4

  1. Добавлен «научный» калькулятор, позволяющий выполнять три вида вычислений:
    1. «Логические» - оптимизация логических выражений;
    2. «Алгебраический» — инженерные расчёты с тригонометрией и логарифмами:
    3. «Бинарный» — битовые операции с целыми числами.
  2. Добавлена настройка шрифтов дисплея;


Установка

Установка в первый раз

Установка «Мини-Калькулятора» производится штатными средствами через меню Сервис → Управление расширениями или при помощи утилиты командной строки unopkg:

  • установка для одного пользователя:
echo yes | unopkg add -f MiniCalc.oxt
  • установка для всех пользователей:
echo yes | unopkg add –-shared -f MiniCalc.oxt


Обновление с версии 0.9.x

При обновлении «Мини-Калькулятора» с версии 0.9.x в пакете InfraOffice.pro 3 возникает ошибка несовместимости кеша параметров расширения. Эта ошибка проявляется в том, что последнее состояние и настройки не восстанавливаются между сессиями.


Для устранения этой ошибки необходимо и достаточно перезагрузить InfraOffice.pro. Для этого надо просто закрыть все окна InfraOffice.pro, включая QuickStart, а затем открыть снова.


Работа с «Мини‑Калькулятором»

Вызов расширения

Рис. 1: Режим ввода

«Мини-Калькулятор» вызывается из модуля InfraOffice.pro Writer через меню Правка → Мини-Калькулятор или соответствующей кнопкой на главной панели инструментов.


Чтобы закрыть окно «Мини-Калькулятора» нажмите клавишу  Esc , или щёлкните мышкой по кнопке  X  - закрыть окно.


Главное окно

Для арифметических, финансовых и инженерных расчётов «Мини-Калькулятор» предоставляет пользователю соответствующие интерфейсы и системы ввода данных. Переключение между режимами расчётов и и интерфейсов ввода служит блок кнопок в левой части окна под иконкой «Мини-Калькулятора» - Рис. 1.


Кнопка  простой  - вызов арифметического калькулятора;


Кнопка  финансовый  - вызов финансового калькулятора;


Кнопка  научный  - вызов калькулятора для инженерных расчётов;


Кнопка  Дисплей…  служит для точной настройки шрифта экрана.


Точная настройка шрифтов

Видимые размеры окна «Мини-Калькулятора» и его элементов зависят от установленных в системе шрифтов, разрешения экрана и ряда других причин. При этом пропорциональное отношение текста и соответствующих элементов управления, например, кнопок подстраивается автоматически операционной системой.


Рис. 2: Точная настройка шрифтов

Грубая, пропорциональная подстройка отношения текста и размера дисплея производится автоматически при старте «Мини-Калькулятора». Если качество автоматического подбора шрифта неудовлетворительно, пользователь может подстроить этот параметр более точно, нажатием клавиши  Дисплей…  вызвав соответствующее окно настройки - Рис. 2


Изменение параметров окна настройки шрифтов отражается изменением отображения дисплея «Мини-Калькулятора».


Нажатие кнопки  Сохранить  или клавиши  ↵ Enter / Return  приводит к тому, что выставленные параметры будут хранится между сессиями вызова «Мини-Калькулятора».


Нажатие кнопки  X  (закрыть) на верхней панели окна или клавиши  Esc  сохраняет пользовательские настройки только до конца сеанса.


Окно «О программе»

Рис. 3: Информационное окно "О программе"

Окно о программе содержит информацию о версии приложения и среды исполнения - Рис. 3.


Для вызова этого окна необходимо и достаточно щёлкнуть мышкой по значку «Мини‑Калькулятор» - Рис. 1.


Чтобы закрыть информационное окно «О программе» достаточно щёлкнуть мышкой по значку «Мини‑Калькулятора», или логотипу «Инфра‑Ресурса», или нажать клавишу  Esc .


«Мини-Калькулятор» [простой]

Рис. 4: «Мини-Калькулятор» [простой]

Это самый простой интерфейс «Мини-Калькулятора», который наиболее удобен для простейших арифметических расчётов - Рис. 4.


Архитектура, метод ввода

Простой «Мини-Калькулятор» основан на методе разложения формулы в древовидную структуру, сбалансированную по критерию приоритета вычислений.


Метод ввода — классическая арифметическая формула. Длина формулы (число членов) и вложенность скобок ограничены разумной достаточностью и размерами дисплея.


Кнопка  C  — сброс результата ошибочного ввода.


Выпадающий список ниже — точность расчёта, измеренная в десятичных знаках после запятой. Значение списка  F  — автоматическая точность.


Ввод данных с клавиатуры

Клавиши клавиатуры, в основном, имеют строгое соответствие с клавишами калькулятора.


Кнопка  =  реагирует на клавиши  ↵ Enter ,  Returm ,  = ;


Кнопка  C  реагирует на клавиши  Delete ,  ← Backspace ,  C ;


Кнопка  C  удаляет ошибочно введённые данные с конца по одному символу. Для удаления формулы сразу, нажмите одновременно клавишу  Ctrl .


Вставка результата в документ

Для вставки формулы и результата её расчёта в документ служат комбинации клавиш:


 Ctrl  +  ↵ Enter  — при вводе с клавиатуры;


 Ctrl + Mouse  — при щелчке мышкой по клавише  = .


Операторы и приоритеты

Операторы в формуле выполняются согласно правилам арифметики слева на права, с учётом приоритетов - Таблица 1.


Операторы с одинаковым приоритетом выполняются последовательно с лева на право:

1+2-3 = 3-3 = 0


Если последующий оператор выше по приоритету, то он выполняется первым:

1+2*3 = 7


Для изменения приоритета выполнения операторов применяются скобки:

(1+2)*3 = 9


Таблица 1: Операторы и приоритеты

Оператор Действие Пример Приоритет
 (  )  Повышение приоритета
2*(3+4) = 14
5
 -  Унарный минус
-(2^-2) = -0.25
4
 ^  Возведение в степень
3^2 = 9
3
 ×  Умножение
2*3 = 6
2
 ÷  Деление
12/3 = 4
2
 \  Остаток деления
8\3 = 2
2
 +  Сложение
6+7 = 13
1
 -  Вычитание
6-7 = -1
1

Вычисление корней

«Мини-Калькулятор» [простой] позволяет выполнять все арифметические действия, включая извлечение корней любой степени.


Для того, чтобы извлечь корень из числа, необходимо и достаточно вспомнить, что извлечение корня, это возведение в степень, обратную единице. Таким образом, извлечение квадратного корня — это возведение в степень ½ или 0.5.


Отсутствие клавиши квадратный корень расширяет возможности «Мини-Калькулятора», позволяя извлекать любые корни из любых чисел:

81^(1/4) = 3 27^(1/3) = 3 9^(1/2) = 3


Примеры выше демонстрируют извлечение корней 4-й, 3-й и 2-й степени (гиперкубический, кубический и квадратный). Операция деления единицы на коренную степень вынесена в скобки, т.к. приоритет оператора деления ниже приоритета оператора возведения в степень.


Для сокращения длины формулы можно использовать десятичные дроби вместо обычных:

4^.5 = 2 3125^.2 = 5


Последовательные вычисления

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


Для перехода к последовательным вычислениям достаточно после расчёта очередной части длинной формулы нажать клавишу любого арифметического оператора. В этом случае результат автоматически записывается в начало новой.


Пример. Вычислите формулу:

-3+4*2^(3*(-4-2))-2+(2+3)*3-5^0.3


Разбиваем формулу на две части, связанных оператором вычитания:

-3+4*2^(3*(-4-2)) - 2+(2+3)*3-5^0.3

Вычисляем первую и вторую части последовательно:

-3+4*2^(3*(-4-2)) = -2.99998474121094 -2.99998474121094-2+(2+3)*3-5^0.3 = 8.3793586620963


«Мини-Калькулятор» [финансовый]

Рис. 5: «Мини-Калькулятор» [финансовый]

Это интерфейс «Мини-Калькулятора» создан для удобства финансовых расчётов и повторяет логику и функциональность офисных калькуляторов - Рис. 5.


Архитектура, метод ввода

Финансовый «Мини-Калькулятор» построен на простой 4-х регистровой схеме, управляемой конечным автоматом, что позволило реализовать логику работы простого офисного калькулятора, привычного большинству пользователей.


Список регистров:

  • X — аккумулятор. Содержание всегда отображается на экране.
  • Y — накопитель. Служит для хранения последнего операнда в циклических расчётах.
  • M — память. Служит для временного хранения промежуточных результатов вычислений.
  • T — налог. Служит для хранения ставки при расчёте налогов.


Значения во всех регистрах хранятся только в течении сессии. Все регистры обновляются после закрытия окна калькулятора или смены режима (Простой-Финансовый-Научный).


Для упрощения понимания приёмов работы с Финансовым «Мини-Калькулятором», далее будут рассмотрены основные элементы и примеры вычислений.


Индикатор состояния

Индикатор состояния находится между кнопкой  Дисплей…  и кнопками операций с налоговой ставкой. Индикатор состояния отражает:

  • Установленную налоговую ставку, измеренную в процентах;
  • Знак  M* , если регистр памяти отличен от 0.


Если налоговая ставка не установлена и регистр памяти обнулён, индикатор состояния пуст.

Назначение клавиш

Кнопки финансового «Мини-Калькулятора» разбиты для удобства по группам - Таблица 2.


Таблица 2: назначение клавиш и их соответствие с клавиатурой

Кнопка Действие Ввод с клавиатуры
Управление вводом
 C 
Очистка регистра/регистров
 C ;  ← Backspace ;  Del 
 F 
Точность счёта в десятичных знаках после запятой
 - 
 = 
Окончание ввода, вычисление результата
 = ;  ↵ Enter ;  Returm 
Поразрядный ввод чисел
 0  -  9 
Ввод цифр
 0  -  9 
 00 ;  000 
Ввод серий из 2-х и 3-х нулей
 Ctrl  +  0 ;  ⇧ Shift  +  0 
 . 
Разделитель дробной части
 , ;  . 
 -\+  Смена знака числа
 ⇧ Shift  +  - 
Арифметические операции
 + 
Операция сложения
 + 
 - 
Операция вычитания
 - 
 × 
Операция умножение
 × 
 ÷ 
Операция деления
 ÷ 
 % 
Операция извлечение доли в процентах
 % 
 √ 
Извлечение квадратного корня
 \ 
Операции с регистром памяти
 MC 
Очистка регистра памяти
 Crtl  +  ⇧ Shift  +  C 
 M^ 
Извлечение числа из регистра на дисплей
 Crtl  +  ⇧ Shift  +  ^ 
 M+ 
Прибавление к регистру значения на дисплее
 Crtl  +  ⇧ Shift  +  + 
 M- 
Вычитание из регистра значения на дисплее
 Crtl  +  ⇧ Shift  +  - 
Операции с налоговой ставкой
 TAX % 
Установка налоговой ставки
 Alt  +  ⇧ Shift  +  % 
 TAX + 
Прибавление налоговой ставки
 Alt  +  ⇧ Shift  +  + 
 TAX - 
Вычитание налоговой ставки
 Alt  +  ⇧ Shift  +  - 

Примеры вычислений

Операции в Финансовом «Мини-Калькуляторе» просты, что демонстрирует нижеследующая таблица - Таблица 3.


Таблица 3: Примеры вычислений

Пример Клавиши Экран
Корректировка ошибочного ввода
2 + 3 = 5
 2   +   2   C   3   = 
5
7 × 9 = 63
 7   ÷   ×   9   = 
63
Вычисления долей (проценты)
300 × 27% = 81
 3  0  0   ×   2  7   % 
81
11.2 ÷ 56 * 100% = 20%
 1  1  .  0  2   ÷   5  6   % 
20
300 + (300 × 40%) = 420
 3  0  0   +   4  0   % 
420
300 - (300 × 40%) = 180
 3  0  0   -   4  0   % 
180
Последовательные вычисления
6 + 4 + 7.5 = 17.5
 6   +   4   +   7  .  5   = 
17.5
5 × 3 ÷ 0.2 = 75
 5   ×   3   ÷   .  2   = 
75
8 ÷ 4 × 3.7 + 9 = 16.4
 8   ÷   4   x   3  .  7   +   9   = 
16.4
Степени и корни
5 ^ 4 = 625
 5   x   =   =   = 
625
√169 = 13
 1  6  9   √ 
13
√2 + √3 = 3.14
 F = 2   2   √   +   3   √   = 
3.14
Операции с регистром памяти
√(3^2 + 4^2) = 5
 MC   3   x   =   M+   4   x   =   +   M^   √ 
5
Операции с налоговой ставкой
ТАX = 18%
 1  8   TAX%   F = 2 
-
100 - TAX(18%) = 84.75
 1  0  0   TAX- 
84.75
100 + TAX(18%) = 118.00
 1  0  0   TAX+ 
118.00

Фискальная запись

Последовательные вычисления на Финансовом «Мини-Калькуляторе» несут риск накопления ошибки в силу опечатки или иного человеческого фактора.


Для проверки вычислений Финансовый «Мини-Калькулятор» предоставляет возможность вести фискальную запись последовательности вычислений.

Tip.png Режим фискальной записи является аналогом калькулятора с печатающим устройством.


Для активации этого режима достаточно держать нажатой клавишу  Ctrl  при нажатии клавиш  ↵ Enter ,  Return ,  = ,  % ,  √ .


Фискальная запись отражает все вычислительные операции последовательно в открытом, активном документе InfraOffice.pro Writer, начиная с текущей позиции курсора. Например:

√2 = 1.41
√3 = 1.73
1.41 + 1.73 = 3.14
5 + 6 = 11.00
11.00 * 4 = 44.00
5 * 5 = 25.00
25.00 * 5 = 125.00
125.00 * 5 = 625.00
100 / (1 + 18.00 / 100.) = 84.75
100 * (1 + 18.00 / 100.) = 118.00
500 + 500 * 30 / 100. = 650.00
12 / 60 * 100. = 20.00

«Мини-Калькулятор» [научный]

Рис. 6: «Мини-Калькулятор» [Научный]

Научный «Мини-Калькулятор» создан для пользователей с высшем техническим образованием, которые понимают его функциональность и умеют её применять для решения практических инженерных задач - Рис. 6.


Научный «Мини-Калькулятор» будет полезен:

  • в инженерных расчётах;
  • в решении логических уравнений;
  • в побитовых двоичных операциях.


Архитектура, метод ввода

Научный «Мини-Калькулятор» использует различные схемы ввода/вывода и управления, зависимые от режима работы.


Индикатор состояния

Рис. 7: Индикатор состояния

Индикатор состояния Научного «Мини-Калькулятора» выполнен в виде ряда кнопок, расположенных ниже дисплея - Рис. 7.


Режим работы Научного «Мини-Калькулятора» индицируется состоянием кнопок. Другие кнопки на панели калькулятора могут быть в активном или пассивном состоянии в зависимости от режима работы «Мини-Калькулятора» - Таблица 4.


Таблица 4: Индикатор режимов «Мини-Калькулятора» [научный]

Кнопка/Индикатор Режим Комментарий
Основные режимы работы
 Bool 
основной
Логические вычисления
 Dec 
основной
Инженерный расчёты
 Hex 
основной
Битовые операции с шестнадцатеричными числами
 Oct 
основной
Битовые операции с восьмеричными числами
 Bin 
основной
Битовые операции с двоичными числами
Вспомогательные режимы работы  Dec 
 Inv 
 Dec 
Ввод обратных гипер/тригонометрическийх функций
 Hyp 
 Dec 
Ввод гиперболических функций
 Rad 
 Dec 
Ввод угловых мер в радианах
 Deg 
 Dec 
Ввод угловых мер в градусах
 F 
 Dec 
Точность отображения результата
Вспомогательные режимы работы  Hex ,  Oct ,  Bin 
 8 
 Hex ,  Oct ,  Bin 
Размерность слова - 8 бит
 16 
 Hex ,  Oct ,  Bin 
Размерность слова - 16 бит
 32 
 Hex ,  Oct ,  Bin 
Размерность слова - 32 бита

Логические вычисления

Рис. 8: Логические вычисления

Перевод в режим логических вычислений осуществляется нажатием кнопки на панели состояния  Bool  - Рис. 8.


В этом режиме доступны следующие команды:


Таблица 5: Логические функции

Команда Значение Описание
 0 
FALSE
Логический 0
 1 
TRUE
Логическая 1
 A ,  B ,  C ,  D ,  E ,  F 
A, B, C, D, E, F
Логические переменные
 ~ 
not
Отрицание
 & 
and
Конъюнкция
 | 
or
Дизъюнкция
 # 
xor
Строгая дизъюнкция
 (  ) 
-
Оператор смены приоритета вычислений


Кнопка  =  - инициирует расчёт введённой формулы. Для вставки формулы и результата в документ, следует одновременно нажать клавишу  Ctrl .


Кнопка  C  удаляет ошибочно введённые данные с конца по одному символу. Для удаления формулы сразу, нажмите одновременно кнопку  Ctrl .

Инженерные расчёты

Рис. 9: Инженерные расчёты

Перевод в режим инженерных расчётов осуществляется нажатием кнопки на панели состояния  Dec  - Рис. 9.


Кнопка состояния  Hyp  служит для ввода гиперболических функций.


Кнопка состояния  Inv  служит для ввода обратных гиперболических и тригонометрических функций.


Кнопки состояния  Rad ,  Deg  определяют режим ввода угловых величин — радианы и градусы, соответственно. Режим ввода угловых величин распространяется только на прямые и обратные тригонометрические функции.


В режиме инженерных расчётов доступны следующие команды - Таблица 6:


Таблица 6: Алгебраические функции

Команда Режим Описание
 0 - 9 
любой
Ввод цифр
 . 
любой
Ввод десятичной точки
 rnd 
любой
Ввод случайного числа в диапазоне [0..1]
 (  ) 
любой
Смена приоритета вычислений
 + 
любой
Сложение
 - 
любой
Вычитание
 × 
любой
Умножение
 / 
любой
Деление
 ^ 
любой
Возведение в степень
 \ 
любой
Остаток от целочисленного деления
 ! 
любой
Факториал
 exp 
любой
Функция Эйлера - e
 ln 
любой
Натуральный логарифм
 lg 
любой
Логарифм по основанию 2
 log 
любой
Логарифм по основанию 10
 π 
любой
Магическое Пи
 sin 
~( Inv  |  Hyp )
Тригонометрический синус
 cos 
~( Inv  |  Hyp )
Тригонометрический косинус
 tan 
~( Inv  |  Hyp )
Тригонометрический тангенс
 asin 
 Inv  & ~  Hyp 
Тригонометрический арксинус
 acos 
 Inv  & ~  Hyp 
Тригонометрический арккосинус
 atan 
 Inv  & ~  Hyp 
Тригонометрический арктангенс
 sh 
~ Inv  &  Hyp 
Гиперболический синус
 ch 
~ Inv  &  Hyp 
Гиперболический косинус
 th 
~ Inv  &  Hyp 
Гиперболический тангенс
 ash 
 Inv  &  Hyp 
Гиперболический арксинус
 ach 
 Inv  &  Hyp 
Гиперболический арккосинус
 ath 
 Inv  &  Hyp 
Гиперболический арктангенс
 abs 
любой
Абсолютное значение
 frac 
любой
Дробная часть
 int 
любой
Целая часть
 round 
любой
Округление до ближайшего целого


Выпадающий список [ F,0,1,2,3,4 ] задаёт точность расчёта, измеренную в знаках дробной части после десятичной точки.


Кнопка  =  - инициирует расчёт введённой формулы. Для вставки формулы и результата в документ, следует одновременно нажать клавишу  Ctrl .


Кнопка  C  удаляет ошибочно введённые данные с конца по одному символу. Для удаления формулы сразу, нажмите одновременно клавишу  Ctrl .

Побитовые операции

Рис. 10: Побитовые операции

Перевод в режим инженерных расчётов осуществляется нажатием кнопки на панели состояния [ Hex ], [ Oct ]или [ Bin ]- Рис. 10.


Кнопки состояния [ Hex ], [ Oct ]и [ Bin ] определяют основание системы вычислений — шестнадцатеричная, восьмеричная и двоичная соответственно.


Кнопки состояния [ 8 ], [ 16 ]и [ 32 ] задают соответствующую размерность регистров в битах.


Двоичный «Мини-Калькулятор» содержит всего 3 регистра — X, Y и Z. Регистр X используется для ввода чисел, регистр Y хранит операнд, регистр Z используется для отображения результата битовых операций. Переполнение разрядов идентифицируется знаком '<' в регистре Z.


X: 1111·1111
Y: 0000·0001
+
Z:<0000·0000


Двоичный «Мини-Калькулятор» допускает последовательные вычисления, когда предыдущий результат используется как операнд в следующей операции. Для перехода в режим последовательных вычислений необходимо и достаточно нажать любую кнопку битовой операции после нажатия кнопки [ = ].


В режиме инженерных расчётов доступны следующие команды - Таблица 7


Таблица 7: Побитовые функции

Команда Описание
[ 0-9, A-F ] Поразрядный ввод чисел, зависящий от основания системы
[ rnd ] Ввод случайного числа, зависящий от основания системы
[ + ] Сложение с переполнением разряда
[ - ] Вычитание с переполнением разряда
[ × ] Умножение с переполнением разряда
[ / ] Деление с переполнением разряда
[ \ ] Остаток целочисленного деления
[ << ] Сдвиг влево на один двоичный разряд
[ >> ] Сдвиг вправо на один двоичный разряд
[ neg ] Дополнение: neg A = not A + 1
[ not ] Побитовое отрицание
[ and ] Побитовая конъюнкция
[ or ] Побитовая дизъюнкция
[ xor ] Побитовая строгая дизъюнкция


Кнопка  =  - инициирует расчёт введённой формулы. Для вставки формулы и результата в документ, следует одновременно нажать кнопку [ Ctrl ].


Кнопка [ C ] - очищает регистры X и Y.


Дистрибутив

Скачать текущую версию «Мини-Калькулятора» можно по следующей ссылке: File:MiniCalc.oxt






InfraOffice.pro 3.1.x









К началу страницы