Расширения 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 ], [ = ], [ % ], [ √ ].
Фискальная запись отражает все вычислительные операции последовательно в открытом, активном документе Writer, начиная с текущей позиции курсора:
√2 = 1.41√3 = 1.731.41 + 1.73 = 3.145 + 6 = 11.0011.00 * 4 = 44.005 * 5 = 25.0025.00 * 5 = 125.00125.00 * 5 = 625.00100 / (1 + 18.00 / 100.) = 84.75100 * (1 + 18.00 / 100.) = 118.00500 + 500 * 30 / 100. = 650.0012 / 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 ] | [ Hyp]) | Тригонометрический синус |
[ cos ] | [ Hyp]) | Тригонометрический косинус |
[ tan ] | [ Hyp]) | Тригонометрический тангенс |
[ 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