Virtual Calculator

Руководство пользователя

Содержание

  1. Введение
  2. Возможности программы
  3. Работа с программой
  4. Автор

Введение

Всем известно, что вычисление - процесс трудоемкий для человеческого мозга, который базируется на ассоциативном мышлении. Поэтому еще много сотен лет назад люди пытались автоматизировать процесс вычислений или сделать его хотя бы проще. В наше время любой ребенок в школе знаком с калькулятором, и удобство использования этим устройством трудно переоценить. В конце 90-х распостранение персональных компьютеров стало достаточно большим, что бы это устройство перестало быть экзотикой (даже для такой развитой части мира, как страны бывшего СССР). Очень часто школьники, студенты и многие другие, не менее занятые слои населения, используют ПК для подготовки своих домашних заданий, рефератов, курсовых и т.д и т.п.

Однако, приглянувшись к их мониторам, легко заметить, чем они пользуются: классическим MS Word, Excel и вездесущим калькулятором из стандартной поставки пиратской Windows. И если к первым двум продуктам я особых претензий не предъявляю (кроме сами знаете каких), то даже хранение последнего (калькулятора) на диске не считаю целесообразным. Если после ознакомления с этим обзором у Вас появится хотя бы один весомый аргумент в пользу калькулятора Windows - пожалуйста, не сочтите за труд отослать мне письмо (e-mail, конечно). Далее я привожу описание предлагаемого мной альтернативного продукта, и принимать решение, использовать его или нет, будете только Вы.

Возможности программы

Ниже приводится полный перечень того, что позволяет программа:

При этом программа занимает меньше 100 Кб на диске, поддерживает 3 языка интерфейса (украинский, русский, английский) и работает под любой 32-х разрядной версией Windows.

Работа с программой

Программа была создана с использованием стандартных элементов управления Windows, поэтому её внешний вид может несколько отличаться от приведеного здесь (в зависимости от того, какая у Вас версия Windows). В любом случае, после загрузки программы, Вы увидите окно, состоящие из рабочей области модуля и закладок (сверху) для переключения между модулями. Для переключения используйте мышку либо сочетание клавиш Alt+№, где № - номер закладки, указанный в её иконке.
Рис. 1: Выбор рабочего модуля программы. Выделены иконки с номерами модулей.
Изменение системных настроек программы можно изменить во вкладке "О программе". В текущей версии можно выбрать язык интерфейса, а также режим свертывания программы (как обычная программа либо в иконку панели задач). Параметры работы программы сохраняются в системном реестре. Программа автоматически убирает все свои записи из реестра при указании ключа /uninstall при запуске.

Работа с выражениями

Основное назначение калькулятора - непосредственно производить вычисления, и эту возможность предоставляет первый модуль программы (вкладка "Выражение"). Рабочие области этого модуля включают следующие элементы:
Рис. 2.
  • "Выражение" - здесь Вы должны ввести алгебраическое выражение.
  • "Переменные" - список определенных переменных, меню для манипуляций с ними.
  • "Результат" - поле для результата и кнопка "Вычислить" (автоматически срабатывает при нажатии на клавишу "Enter".
Вводимое выражение ничем не должно отличаться от стандартного алгебраического выражения, используемого, например, в языке Паскаль. Имена функций во многом похожи на имена соответствующих функций в стандартной библиотеке языка "C". Ниже приведен полный список операций и функций:
ОперацияОписание
"+"Суммирование
"-"Вычитание
"*"Умножение
"/"Деление
"%"Остаток от деления (например, 5%3 = 2)
"^"Возведение в степень (возможно дробное значение степени)
ФункцияОписание
Sin(x)Возвращает синус аргумента x, (x - в радианах)
Cos(x)Возвращает косинус аргумента x, (x - в радианах)
Tan(x)Возвращает тангенс аргумента x, (x - в радианах)
Asin(x)Арксинус аргумента x (х = [-1; 1]) в радианах
Acos(x)Арккосинус аргумента x (x = [-1; 1]) в радианах
Atan(x)Арктангенс аргумента x в радианах
Sinh(x)Гиперболический синус аргумента x
Cosh(x)Гиперболический косинус аргумента x
Tanh(x)Гиперболический тангенс аргумента x
Exp(x)Экспонента аргумента x, (e^x)
Log(x)Натуральный логарифм числа x (x>0).
Log10(x)Десятичный логрифм числа x (x>0).
Sqrt(x)Квадратный корень x, (x^1/2)
Floor(x)Наибольщее целое, не большее х ("пол" x)
Ceil(x)Наименьщее целое, не не меньшее x ("потолок" x)
Abs(x)Абсолютное значение числа x (модуль)
Hypot(a, b)Длина гипотенузы прямоугольного треугольника с катетами a и b
Deg(x)Преобразует значение угла х в радианах в градусы
Rad(x)Преобразует значение угла х в в градусах в радианы
Fact(x)Возвращает факториал аргумента floor(x).
PiКонстанта, число Пи
EКонстанта, число e
В качестве первого примера введем выражение:

(5*sin(rad(30))+6)
Нажав "Enter" или кнопку "Вычислить", получим ответ 8.5.
Второй пример выполним с использованием переменной: Введем формулу:
data1^2 + 6*data1 - 7
В качестве результата получим: 4.102040043130051.

Работа с двоичными числами

Очень часто программисту, Web-дизайнеру или ещё кому-либо, нужно проводить специфические операции с двоичными числами. Это и логические операции, сдвиги, переключение битов, а также преобразование чисел между различными системами счисления. Именно эти возможности предоставляет 2-й модуль - "Двоичное" (число). Работа с этим модулем очень проста: имеются 2 поля аргументов (в случае операции с одним аргументом используется 1-й), а также поле результата. При выборе соответствующей системе счисления преобразование аргументов происходит автоматически. Приведем пример переключения бита в числе:
Рис. 3.
  • Установим двоичную систему счисления.
  • В качестве первого аргумента введем 10010
  • В качестве второго аргумента введем 10000
  • Нажмем на кнопку "Xor"
Получим результат: 10. (фактически мы переключили 5-й бит)
При работе с этим модулем следует иметь ввиду, что все аргументы и результат - 32-х битовые значения со знаком.

Анализ данных

В данной версии программы считывание данных для анализа возможно только из текстового файла данных. Этот файл должен иметь одну из следующих структур: В зависимости от структуры, для одномерных данных возможен статистический анализ, а для двумерных - регрессионный (аппроксимация функцией). Итак, в качестве первого примера наберем файл одномерных данных:
5.5
6
7.788
4.9
6.232
5.787

Для такого набора данных возможен только статистический анализ, поэтому нажав кнопку "Статистика", получим следующий результат:
Статистика одномерных данных:
Количество чисел: 6
Среднее арифметическое: 6.0345
Среднее геометрическое: 5.97314166406969
Дисперсия смещенная: 0.79149925
Отклонение смещенное: 0.889662435983447
Коэффициент асимметрии: 0.794103095486192
Коэффициент эксцесса: -0.0209695167059238
Как видно, получение статистики - очень простой процесс. Теперь наберем следующий файл данных:
0 0
0.5 1
1 2
1.5 3.5
2 4
3 2
3.5 1.7
4 2
5 4
6 8
7 8.2
9 7.5
11 3
12 0
Нажав кнопку "Аппроксимация", попадем в диалог для подбора наилучшей функции, описывающей данные. Нажмем кнопку "Автомат", и введем число "3" в качестве кол-ва слагаемых. Нажав "OK", в списке получим наиболее подходящий набор баз для слагаемых. При необходимости есть возможность вручную ввести новую базу для слагаемых. Нажав "OK" диалога "Аппроксимация", получим результат - на графике будут точки из файла данных, аппроксимирующая функция и следующая информация:
Рис. 4
Аппроксимация данных функцией:
f(x)=1.9279*(Sin(x))+0.361646*(x^2)-0.0295286*(x^3)
Кол-во слагаемых: 3
Кол-во точек: 14
Среднеквадратическая ошибка: 0.62848
Наибольшее абсолютное отклонение: 1.8976
Следует только отметить, что максимальное число слагаемых - 10, а также в качестве независимой переменной используется "x".

Работа с функциями

Мне кажется, что этот модуль программы должен быть особенно полезен школьникам и студентам 1-х курсов. Именно им часто приходится решать уравнения вида f(x)=0 и находить производную функции. Тем более, что программа позволяет выполнять эти операции без особых умственных затрат. Итак, рабочая область модуля "Функция" состоит из:

Для примера решим уравнение z^3 + 16*z^2 - 77*z + 60 = 0.
Введем в качестве функции z^3 + 16*z^2 - 77*z + 60
Значение поля "Переменная" установим "z"
Значение поля "Число корней" установим равным "3" (уравнение 3-й степени). Нажав на клавишу "Enter", получим результат:
Рис. 5.
Решение уравнения f(z)=0:
X1=1
X2=3
X3=-20
Перепишем уравнение в виде (z-1)*(z-3)*(z+20)=0, получив тем самым разложение многочлена на множители. Все просто, не так ли?
Поле "Первое приближение" необходимо в случае, если функция не вычислима на некоторых промежутках. Оно задает значение первого приближения в итерационном процессе.

Теперь найдем производную этой же функции; для этого переключим режим работы нажатием на кнопку "Производная f()". Нажмем "Enter" и получим результат:

Производная:
f'(z)=3*z^2+16*2*z-77
При решении уравнений можно использовать все функции и операторы, допустимые в калькуляторе (см. "Работа с выражениями").
Внимание! При указании большего числа различных корней, чем на самом деле, значение избыточных корней не предсказуемо. Для нахождения производной в текущей версии поддерживаются следующие функции: Sin, Cos, Exp, Log, Log10, а также операции сложения, вычитания, умножения, деления и возведения в степень.

Автор

Программа создавалась на протяжении 1999 - 2001 годов. Точнее в 1999 году были созданы лишь некоторые подпрограммы, а в начале 2000 года все наработки я соединил в одно целое - программу "Виртуальный калькулятор". Как раз в то время я заканчивал школу и поступал в НаУKMA (где сейчас и учусь), и работа над калькулятором была остановлена (исправлялись лишь замеченные ошибки). Сейчас у меня просто не хватает времени на развитие программы, хотя идеи есть.

Если при эксплуатации программы вы заметите явные промахи (глюки), пожалуйста, отправте мне письмо с указанием характера ошибки и условий её появления (адрес указан ниже). Та версия программы, которая представлена на моей домашней страничке (она несколько ограниченна), имеет статус FreeWare.

Если у Вас появится желание поддержать матерально автора, либо получить часть исходных текстов (на "C"), либо купить авторские права на программу (ну, вдруг...) и вообще при появлении каких-либо предложений незамедлительно обращайтесь ко мне (Федорченко Виталий Михайлович), е-mail:

Моя домашняя страничка: vitalik.ua.ru
Download программы: Virtual Calculator v1.1beta


© Федорченко В.М.