Расширения Writer. Мини‑Калькулятор (MiniCalc.oxt)
Тип
|
Расширение |
Разработчик
|
Н. Е. Гарбуз. Инфра-Ресурс |
Язык программирования
|
StarBASIC |
Модуль
|
Writer |
ОС
|
независимо |
Последняя версия
|
1.0.4 |
Лицензия
|
GNU LGPL v. 3.0 |
Сайт
|
i-rs.ru |
Contents
Описание
«Мини‑Калькулятор» создан для вставки в документ результата, рассчитанного по формуле. Работает без Java в пакете InfraOffice.pro.
«Мини-Калькулятор» может быть использован для арифметических, финансовых и инженерных расчётов, предоставляя пользователю соответствующие интерфейсы и системы ввода данных.
Новое в «Мини‑Калькуляторе» 1.0.4
- Добавлен «научный» калькулятор, позволяющий выполнять три вида вычислений:
- «Логические» - оптимизация логических выражений;
- «Алгебраический» — инженерные расчёты с тригонометрией и логарифмами:
- «Бинарный» — битовые операции с целыми числами.
- Добавлена настройка шрифтов дисплея;
Установка
Установка в первый раз
Установка «Мини-Калькулятора» производится штатными средствами через меню Сервис → Управление расширениями или при помощи утилиты командной строки 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, а затем открыть снова.
Работа с «Мини‑Калькулятором»
Вызов расширения
«Мини-Калькулятор» вызывается из модуля InfraOffice.pro Writer через меню Правка → Мини-Калькулятор или соответствующей кнопкой на главной панели инструментов.
Чтобы закрыть окно «Мини-Калькулятора» нажмите клавишу Esc , или щёлкните мышкой по кнопке X - закрыть окно.
Главное окно
Для арифметических, финансовых и инженерных расчётов «Мини-Калькулятор» предоставляет пользователю соответствующие интерфейсы и системы ввода данных. Переключение между режимами расчётов и и интерфейсов ввода служит блок кнопок в левой части окна под иконкой «Мини-Калькулятора» - Рис. 1.
Кнопка простой - вызов арифметического калькулятора;
Кнопка финансовый - вызов финансового калькулятора;
Кнопка научный - вызов калькулятора для инженерных расчётов;
Кнопка Дисплей… служит для точной настройки шрифта экрана.
Точная настройка шрифтов
Видимые размеры окна «Мини-Калькулятора» и его элементов зависят от установленных в системе шрифтов, разрешения экрана и ряда других причин. При этом пропорциональное отношение текста и соответствующих элементов управления, например, кнопок подстраивается автоматически операционной системой.
Грубая, пропорциональная подстройка отношения текста и размера дисплея производится автоматически при старте «Мини-Калькулятора». Если качество автоматического подбора шрифта неудовлетворительно, пользователь может подстроить этот параметр более точно, нажатием клавиши Дисплей… вызвав соответствующее окно настройки - Рис. 2
Изменение параметров окна настройки шрифтов отражается изменением отображения дисплея «Мини-Калькулятора».
Нажатие кнопки Сохранить или клавиши ↵ Enter / Return приводит к тому, что выставленные параметры будут хранится между сессиями вызова «Мини-Калькулятора».
Нажатие кнопки X (закрыть) на верхней панели окна или клавиши Esc сохраняет пользовательские настройки только до конца сеанса.
Окно «О программе»
Окно о программе содержит информацию о версии приложения и среды исполнения - Рис. 3.
Для вызова этого окна необходимо и достаточно щёлкнуть мышкой по значку «Мини‑Калькулятор» - Рис. 1.
Чтобы закрыть информационное окно «О программе» достаточно щёлкнуть мышкой по значку «Мини‑Калькулятора», или логотипу «Инфра‑Ресурса», или нажать клавишу Esc .
«Мини-Калькулятор» [простой]
Это самый простой интерфейс «Мини-Калькулятора», который наиболее удобен для простейших арифметических расчётов - Рис. 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: Операторы и приоритеты
Оператор | Действие | Пример | Приоритет |
---|---|---|---|
( ) | Повышение приоритета | 5 | |
- | Унарный минус | 4 | |
^ | Возведение в степень | 3 | |
× | Умножение | 2 | |
÷ | Деление | 2 | |
\ | Остаток деления | 2 | |
+ | Сложение | 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.
Архитектура, метод ввода
Финансовый «Мини-Калькулятор» построен на простой 4-х регистровой схеме, управляемой конечным автоматом, что позволило реализовать логику работы простого офисного калькулятора, привычного большинству пользователей.
Список регистров:
- X — аккумулятор. Содержание всегда отображается на экране.
- Y — накопитель. Служит для хранения последнего операнда в циклических расчётах.
- M — память. Служит для временного хранения промежуточных результатов вычислений.
- T — налог. Служит для хранения ставки при расчёте налогов.
Значения во всех регистрах хранятся только в течении сессии. Все регистры обновляются после закрытия окна калькулятора или смены режима (Простой-Финансовый-Научный).
Для упрощения понимания приёмов работы с Финансовым «Мини-Калькулятором», далее будут рассмотрены основные элементы и примеры вычислений.
Индикатор состояния
Индикатор состояния находится между кнопкой Дисплей… и кнопками операций с налоговой ставкой. Индикатор состояния отражает:
- Установленную налоговую ставку, измеренную в процентах;
- Знак M* , если регистр памяти отличен от 0.
Если налоговая ставка не установлена и регистр памяти обнулён, индикатор состояния пуст.
Назначение клавиш
Кнопки финансового «Мини-Калькулятора» разбиты для удобства по группам - Таблица 2.
Таблица 2: назначение клавиш и их соответствие с клавиатурой
Кнопка | Действие | Ввод с клавиатуры |
---|---|---|
Управление вводом | ||
Очистка регистра/регистров | ||
Точность счёта в десятичных знаках после запятой | ||
Окончание ввода, вычисление результата | ||
Поразрядный ввод чисел | ||
Ввод цифр | ||
Ввод серий из 2-х и 3-х нулей | ||
Разделитель дробной части | ||
-\+ | Смена знака числа | |
Арифметические операции | ||
Операция сложения | ||
Операция вычитания | ||
Операция умножение | ||
Операция деления | ||
Операция извлечение доли в процентах | ||
Извлечение квадратного корня | ||
Операции с регистром памяти | ||
Очистка регистра памяти | ||
Извлечение числа из регистра на дисплей | ||
Прибавление к регистру значения на дисплее | ||
Вычитание из регистра значения на дисплее | ||
Операции с налоговой ставкой | ||
Установка налоговой ставки | ||
Прибавление налоговой ставки | ||
Вычитание налоговой ставки |
Примеры вычислений
Операции в Финансовом «Мини-Калькуляторе» просты, что демонстрирует нижеследующая таблица - Таблица 3.
Таблица 3: Примеры вычислений
Пример | Клавиши | Экран |
---|---|---|
Корректировка ошибочного ввода | ||
Вычисления долей (проценты) | ||
Последовательные вычисления | ||
Степени и корни | ||
Операции с регистром памяти | ||
Операции с налоговой ставкой | ||
Фискальная запись
Последовательные вычисления на Финансовом «Мини-Калькуляторе» несут риск накопления ошибки в силу опечатки или иного человеческого фактора.
Для проверки вычислений Финансовый «Мини-Калькулятор» предоставляет возможность вести фискальную запись последовательности вычислений.
Для активации этого режима достаточно держать нажатой клавишу 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.
Научный «Мини-Калькулятор» будет полезен:
- в инженерных расчётах;
- в решении логических уравнений;
- в побитовых двоичных операциях.
Архитектура, метод ввода
Научный «Мини-Калькулятор» использует различные схемы ввода/вывода и управления, зависимые от режима работы.
Индикатор состояния
Индикатор состояния Научного «Мини-Калькулятора» выполнен в виде ряда кнопок, расположенных ниже дисплея - Рис. 7.
Режим работы Научного «Мини-Калькулятора» индицируется состоянием кнопок. Другие кнопки на панели калькулятора могут быть в активном или пассивном состоянии в зависимости от режима работы «Мини-Калькулятора» - Таблица 4.
Таблица 4: Индикатор режимов «Мини-Калькулятора» [научный]
Кнопка/Индикатор | Режим | Комментарий |
---|---|---|
Основные режимы работы | ||
Bool | Логические вычисления | |
Dec | Инженерный расчёты | |
Hex | Битовые операции с шестнадцатеричными числами | |
Oct | Битовые операции с восьмеричными числами | |
Bin | Битовые операции с двоичными числами | |
Вспомогательные режимы работы Dec | ||
Inv | Ввод обратных гипер/тригонометрическийх функций | |
Hyp | Ввод гиперболических функций | |
Rad | Ввод угловых мер в радианах | |
Deg | Ввод угловых мер в градусах | |
F | Точность отображения результата | |
Вспомогательные режимы работы Hex , Oct , Bin | ||
8 | Размерность слова - 8 бит | |
16 | Размерность слова - 16 бит | |
32 | Размерность слова - 32 бита |
Логические вычисления
Перевод в режим логических вычислений осуществляется нажатием кнопки на панели состояния Bool - Рис. 8.
В этом режиме доступны следующие команды:
Таблица 5: Логические функции
Команда | Значение | Описание |
---|---|---|
0 | Логический 0 | |
1 | Логическая 1 | |
A , B , C , D , E , F | Логические переменные | |
~ | Отрицание | |
& | Конъюнкция | |
| | Дизъюнкция | |
# | Строгая дизъюнкция | |
( ) | Оператор смены приоритета вычислений |
Кнопка = - инициирует расчёт введённой формулы. Для вставки формулы и результата в документ, следует одновременно нажать клавишу Ctrl .
Кнопка C удаляет ошибочно введённые данные с конца по одному символу. Для удаления формулы сразу, нажмите одновременно кнопку Ctrl .
Инженерные расчёты
Перевод в режим инженерных расчётов осуществляется нажатием кнопки на панели состояния [ Dec ]- Рис. 9.
Кнопка состояния Hyp служит для ввода гиперболических функций.
Кнопка состояния Inv служит для ввода обратных гиперболических и тригонометрических функций.
Кнопки состояния Rad , Deg определяют режим ввода угловых величин — радианы и градусы, соответственно. Режим ввода угловых величин распространяется только на прямые и обратные тригонометрические функции.
В режиме инженерных расчётов доступны следующие команды - Таблица 6:
Таблица 6: Алгебраические функции
Команда | Режим | Описание |
---|---|---|
0 - 9 | Ввод цифр | |
. | Ввод десятичной точки | |
rnd | Ввод случайного числа в диапазоне [0..1] | |
( ) | Смена приоритета вычислений | |
+ | Сложение | |
- | Вычитание | |
× | Умножение | |
/ | Деление | |
^ | Возведение в степень | |
\ | Остаток от целочисленного деления | |
! | Факториал | |
exp | Функция Эйлера - e | |
ln | Натуральный логарифм | |
lg | Логарифм по основанию 2 | |
log | Логарифм по основанию 10 | |
π | Магическое Пи | |
sin | Тригонометрический синус | |
cos | Тригонометрический косинус | |
tan | Тригонометрический тангенс | |
asin | Тригонометрический арксинус | |
acos | Тригонометрический арккосинус | |
[ atan ] | Тригонометрический арктангенс | |
[ sh ] | Гиперболический синус | |
[ ch ] | Гиперболический косинус | |
[ th ] | Гиперболический тангенс | |
[ ash ] | Гиперболический арксинус | |
[ ach ] | Гиперболический арккосинус | |
[ ath ] | Гиперболический арктангенс | |
[ abs ] | Абсолютное значение | |
[ frac ] | Дробная часть | |
[ int ] | Целая часть | |
[ round ] | Округление до ближайшего целого |
Выпадающий список [ F,0,1,2,3,4 ] задаёт точность расчёта, измеренную в знаках дробной части после десятичной точки.
Кнопка = - инициирует расчёт введённой формулы. Для вставки формулы и результата в документ, следует одновременно нажать кнопку [ Ctrl ].
Кнопка [ C ] удаляет ошибочно введённые данные с конца по одному символу. Для удаления формулы сразу, нажмите одновременно клавишу [ Ctrl ].
Побитовые операции
Перевод в режим инженерных расчётов осуществляется нажатием кнопки на панели состояния [ 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