Сегодня повсеместное использование калькуляторов существенно облегчает работу человека в самых различных сферах. Впрочем, представить себе жизнь без таких помощников практически невозможно - ведь счетные устройства повсюду сопровождали человека в самые различные исторические периоды, хотя механизм их работы и был устроен иначе.
Уже три тысячи лет назад в Древнем Вавилоне появился первый абак - старинный аналог счет, в котором круглые камешки передвигались по специальным направляющим в форме углублений, и каждая из направляющих представляла собой отображение ряда единиц, десятков, сотен. Абак был известен также и в Древней Индии, а в X-ом веке нашей эры он также появился и в Западной Европе. Однако здесь вместо камешков было принято использовать специальные жетоны, на которые наносились цифры.
Техническое достижение в области механизации расчетов датируется 1643-им годом и связано с именем ученого Блеза Паскаля. Новшество представляет собой суммирующую арифметическую машину, которая казалась совершенным достижением, но уже через тридцать лет Готфрид Вильгельм Лейбниц представил еще более сложное изобретение - первый механизированный калькулятор. Примечательно, что именно в эти годы (начало нового времени) несколько утихает борьба между "абацистами" и "алгоритмистами", и калькулятор представляет собой ожидаемый компромисс между двумя конфликтующими сторонами.
За рубежом развитие счетных машин происходит не менее интенсивно. Первый калькулятор массового выпуска - ANITAMKVIII - выпускается в Англии в 1961-ом году и представляет собой устройство, работающее на газоразрядных лампах. Это устройство было достаточно громоздким по современным меркам, оно оснащалось клавиатурой для ввода числа, а также дополнительной 10-ти клавишной консолью для задания множителя. В 1965-ом году калькуляторы Wang впервые научились считать логарифмы, а уже через четыре года в США появился и первый настольный программируемый калькулятор. А в 1970-ые годы мир калькуляторов становится более совершенным и разнообразным - появляются новые настольные и карманные машины, а также профессиональные инженерные калькуляторы, позволяющие производить сложнейшие расчеты.
Сегодня усовершенствованные модели калькуляторов представляют собою высокотехнологичные разработки, при создании которых был использован колоссальный опыт инженерных предприятий во всем мире. И, несмотря на абсолютный приоритет ЭВМ, калькуляторы и прочие счетные устройства по-прежнему сопровождают человека в различных отраслях деятельности!
Из доступных программ-калькуляторов можно назвать "Калькулятор Windows" и "NumLockCalculator".
. NumLockCalculator - очень удобный калькулятор, который выскакивает при нажатии NumLock (или ScrollLock), а при повторном нажатии прячется обратно в системную панель. Результат вычислений может автоматически вставляться в активное окно. Поддерживает разные форматы (десятичный, шестнадцатиричный, с фиксированной точкой, научный), разные виды (простой, инженерный, программерский и т.п.).
Основные функции NumLock Calculator:
· быстрый вызов по "горячим клавишам", определяемым пользователем;
· автоматическая вставка результата в документы и буфер обмена;
· более 100 функций, 7 форматов чисел и выражений;
· история вычислений, 10 ячеек памяти, доступ к 100 переменным;
Пример работы данной программы (рис.1.1).
Рис.1.1 Пользовательский интерфейс программы " NumLockCalculator". . "Калькулятор Windows" - компонент Microsoft Windows, имитирующий работу обычного карманного калькулятора. Его "кнопки" можно нажимать мышкой. Возможен ввод с дополнительной цифровой клавиатуры. Также можно вставлять математические выражения из буфера обмена и получать результат (например, набрать в Блокноте "2*2=", скопировать и вставить в Калькулятор, на "экране" которого появится ответ "4"). Пример работы данной программы (рис.1.2.).
Рис.1.2 Интерфейс программы "Калькулятор Windows".
1.2 Определение функциональных требований к разрабатываемой программной системе
Проанализировав существующие программные решения, были определены следующие функциональные требования к разрабатываемой программе:
1) соблюдение правильности вычислений;
2) программа должна иметь простой, но в то же время понятный и наглядный интерфейс, который не должен перегружать ресурсы компьютера;
) программа должна иметь возможность сброса полученного результата;
) пользователь должен иметь возможность видеть выполняемые им действия и полученный результат;
) программа не должна занимать большой объем памяти и не должна требовать установки на жесткий диск компьютера;
) должна существовать возможность вычисления основных тригонометрических функций (синус, косинус, тангенс, котангенс), извлечение квадратного корня, а также возведение числа в целую степень;
Общее назначение программного средства - выполнение арифметических операций для использования в учебном процессе и повседневной жизни.
Реализуемая задача состоит в том, чтобы при выборе действия выполнялась определенная операция, и имелась возможность корректировать число (удаление последнего символа), сбросить полученный результат или же продолжить расчеты с данным результатом.
Язык Паскаль был одним языков, созданных для обучения и получивших популярность, как и новичков, так и в серьёзном программировании. При его создании успешно решена задача сочетания сравнительной простоты языка с потенциальной широтой области его применений. В отличии от своих предшественников (в частности Бейсика) Паскаль допускает разнообразные типы составных объектов: запись - упорядоченный набор про именованных объектов произвольных типов; файл - упорядоченный набор однородных данных, размещаемых во внешней памяти; множество - набор элементов одного типа, кодируемых отрезками натурального ряда или произвольными именами. В Паскале имеется оператор варианта, т.е. выбора одной из нескольких альтернативных последовательностей (ветвей) операторов по вычисляемому номеру ветви.
Программа на Паскаль, также как и в других языках программирования реализует алгоритм решения задачи. Она объединяет последовательность действий, выполняемых над определенными типами данными с помощью операций, определяемых возможностями языка. Язык Паскаль является универсальным языком, т.е. на нем можно писать вычислительные, графические и системные программы, программы по обработке больших блоков данных (типа СУБД).
2.2 Функциональная схема работы программы
Для представления принципа работы программы ниже приведена ее функциональная схема (рис.2.1).
Рис.2.1 Функциональная схема программы "Калькулятор" Пункт "Ввод операнда" представляет собой часть программы, в которой выбираются нужные числа для подсчета. После выбора чисел нужно выбрать действие, которое необходимо выполнить (пункт "Выбор функции"). Затем по введенным данным вычисляется результат (пункт "Вычисление значения").
Далее пользователю предоставляется продолжить работу с результатом ("Работа с результатом"). В следствие работы с ним пользователь может выйти из программы или сбросить результат и продолжить вычисления.
2.3 Организация данных и проектирование интерфейсов обмена данными в программной системе
Одной из самых важных функций любой программы является ввод и вывод данных.
Выводимые данные это то, что сообщается пользователю. Входные данные это то, что пользователь сообщает программе.
Рис.2.2 Окно программы Входные данные представлены в виде программного кода, который необходимо выполнить при определенных действиях пользователя, а именно:
· нажатие клавиш клавиатуры;
· работа пользователя с кнопками в интерфейсе.
3. Технологический раздел
3.1 Определение структуры и состава программной системы
В программе используются модули, как стандартные, так и собственные.
Модуль GrMouse обрабатывает прерывание Dos $33 - это события от мыши и определяет координаты курсора и состояние кнопок мыши.
Модуль GrButton содержит описание процедур, связанных с событиями мыши.
Модуль Functions содержит набор подпрограмм для работы с числами.
Модуль GrOutPut содержит набор подпрограмм для собственно отрисовки результатов в графическом режиме, вывод результата в нужном виде в нужное место. Список стандартных модулей представляют Graph, crt, dos
В модуле Graph (GRAPH. TPU) находится библиотека, состоящая из более чем 50 графических подпрограмм от побитовых до подпрограмм высокого уровня.
Модуль Crt позволяет выводить цветные символы на цветном экране. Хотя по-прежнему отображение будет происходить в текстовом режиме. Текстовый режим означает, что на экране могут выводиться только определенные символы в определенных местах (знакоместах). Можно представить экран, разделенным вертикальными и горизонтальными линиями на ячейки. В эти ячейки можно "вписывать" различные символы. У каждой ячейки есть адрес.
Модуль Dos позволяет использовать возможности операционной системы MSDOS, не предусмотренные в стандарте языка Паскаль, и содержит типы, константы, переменные и подпрограммы для реализации этих дополнительных возможностей.