Простейший калькулятор

Содержание 

    Введение………………………………………………………………………..4

    1. Спецификация задачи…………………………………………………10
    2. Структурная диаграмма……………………………………………….11
    3. Разработка алгоритма   ..……………………………………………...11
    4. Создание приложения…………………………………………………12
    5. Описание и исходный текст приложения ……...……………………13
    6. Описание интерфейса приложения и инструкция

    для пользователей……………………………………………………….. 21

    1. Примеры работы приложения ………………………...……………..23

    Выводы  и рекомендации…………………………..………………………...26

    Библиографический список…………………………………………………27

    Приложение…………………………………………………………………..28 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

      Введение 

      Для написания курсовой была выбрана  тема «Простейший калькулятор», выбор  обусловлен возможностью реализовать  программу различными способами, используя  язык программирования Delphi. В данной работе будет описан один из способов создания калькулятора с функциями сложения, вычитания, умножения и деления. 

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

      В России Borland Delphi появляется в конце 1993 г. и сразу же завоевывает широкую  популярность. Новые версии выходят практически каждый год. В них реализуются все новые мастера, компоненты и технологии программирования.

      Действительно, процесс разработки в Delphi предельно  упрощен. В первую очередь это  относится к созданию интерфейса, на который уходит 80% времени разработки программы. Вы просто помещаете нужные компоненты на поверхность Windows-окна (в Delphi оно называется формой) и настраиваете их свойства с помощью специального инструмента (Object Inspector). С его помощью можно связать события этих компонентов (нажатие на кнопку, выбор мышью элемента в списке и т.д.) с кодом его обработки - и вот простое приложение готово. Причем разработчик получает в свое распоряжение мощные средства отладки (вплоть до пошагового выполнения команд процессора), удобную контекстную справочную систему

       (в том числе и по Microsoft API), средства  коллективной работы над проектом, всего просто не перечислить.  Вы можете создавать компоненты ActiveX без использования Microsoft IDL, расширять  возможности web-сервера (скрипты  на стороне сервера), практически ничего не зная об HTML, XML или ASP. Можно создавать распределенные приложения на базе СОМ и CORBA, Интернет- и intranet-приложения, используя для доступа к данным Borland DataBase Engine, ODBC-драйверы или Microsoft ADO. Появившаяся, начиная с Delphi 3, поддержка многозвенной технологии (multi-tiered) доступа к данным позволяет создавать масштабируемые приложения (относительно слабо зависящие от сервера БД) за счет перенесения методов обработки информации (бизнес-правил) на среднее звено.

      Как уже говорилось ранее, в Delphi используется язык Object Pascal, который постоянно  расширяется и дополняется Borland. Язык в полной мере поддерживает все  требования, предъявляемые к объектно-ориентированному языку программирования. Как и  положено строго типизированному языку, классы поддерживают только простое наследование, но зато интерфейсы могут иметь сразу несколько предков. К числу особенностей языка следует отнести поддержку обработки исключительных ситуаций (exceptions), а также перегрузку методов и подпрограмм (overload) в стиле C++. К числу удачных, на взгляд автора, относится также поддержка длинных строк в формате WideChar и AnsiChar. Последний тип (AnsiStrmg) позволяет использовать все прелести динамического размещения информации в памяти без всяких забот о ее выделении и сборке мусора Delphi делает это автоматически. Для поклонников свободного стиля программирования имеются открытые массивы, варианты и вариантные массивы, позволяющие размещать в памяти все, что душе угодно и смешивать типы данных.

      Вы  можете создавать свои собственные  компоненты, импортировать ОСХ-компоненты, создавать <шаблоны> проектов и <мастеров>, создающих <заготовки> проектов. Мало того, Delphi предоставляет разработчику интерфейс для связи ваших  приложений (или внешних программ) с интегрированной оболочкой Delphi (IDE).

      Таким образом, вы можете использовать Delphi для  создания как самых простых приложений, на разработку которых требуется 2-3 часа, так и серьезных корпоративных  проектов, предназначенных для работы десятков и сотен пользователей. Причем для этого можно использовать самые последние веяния в мире компьютерных технологий с минимальными затратами времени и сил.

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

  1. Компьютерная программа, эмулирующая функции калькулятора.
  2. Специализированная программа, автоматически проводящая некоторый вид расчётов (калькулятор вкладов, калькулятор контактных площадок и тому подобное)
  3. Профессия (человек, производящий калькуляцию).

      В Советском Союзе для обозначения  малогабаритного вычислительного  устройства использовался термин «микрокалькулятор», впервые применённый в 1973 году для  микрокалькулятора «Электроника Б3-04». Просто «калькуляторами» называли большие  по размеру настольные вычислительные устройства. И настольные и микрокалькуляторы официально назывались «ЭКВМ — электронные клавишные вычислительные машины».

      В настоящее время, в связи с  тем, что в английском языке используется только термин «калькулятор» (calculator), термин «микрокалькулятор» вышел из обращения.

      В прошлом для математических вычислений использовались абаки, счёты, математические таблицы (особенно таблицы логарифмов), логарифмические линейки и механические или электромеханические арифмометры.

      Существуют калькуляторы, встроенные в персональные компьютеры, сотовые телефоны, КПК и даже наручные часы.

      Типы  калькуляторов

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

      Бухгалтерские калькуляторы имеют дополнительные средства для работы с денежными суммами (кнопки «00» и «000», фиксированное количество разрядов дробной части, автоматическое округление). Как правило, имеют настольные габариты. Предназначены для всех, кто по долгу работы вынужден считать деньги: бухгалтеров, кассиров и так далее.

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

      Статистические калькуляторы предназначены для выполнения различных расчетов, необходимых при обработке больших массивов данных — результатов социологических опросов, научных исследований и тому подобное. Имеют средства для быстрого вычисления распределений, отклонений, корреляций, средних значений и так далее. Большинство инженерных калькуляторов также поддерживают важнейшие статистические функции.

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

      Визуальные калькуляторы позволяют вводить длинное выражение и редактировать его. По нажатию кнопки «=» происходит вычисление значения этого выражения. Такие калькуляторы дороги и несколько неудобны для простейших расчётов, однако хороши, когда нужно провести большое количество однотипных расчётов с разными аргументами.

      Программируемые калькуляторы дают возможность вводить и исполнять программы пользователя. Имеют большое количество регистров памяти (10 и более). По функциональности приближаются к простейшим компьютерам. В зависимости от модели программируемые калькуляторы имеют несколько типов встроенных языков программирования: простейший (запоминает только нажатия клавиш без вывода на экран), показывающий коды команд (обычно используя обратную польскую запись), Бейсик или собственный язык программирования, приближённый к Бейсику.

      Графические калькуляторы имеют графический экран, что позволяет отображать графики функций или даже выводить на экран произвольные рисунки.

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

Эмуляторы калькуляторов

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

Некоторые такие  программы специально делаются для  эмуляции (или симуляции) конкретной модели калькулятора, воспроизводя его внешний вид и все функции (в том числе и свойственные ему ошибки). При эмуляции калькулятора производится полное копирование функций калькулятора (используются коды прошивки калькулятора), при симуляции — только приблизительное повторение функций.

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

Наконец надо отметить, что на компьютерах можно применять системы компьютерной математики Derive, MuPAD, Mathcad, Mathematica, Maple, MATLAB и другие. Многие в командном режиме работы являются в сущности сверхмощными калькуляторами. Их возможности неизмеримо больше чем у обычных и даже научных микрокалькуляторов. Но, они куда дороже, сложнее в применении и требуют дорогого компьютера. Их нельзя поместить в карман и использовать с автономным питанием длительное время. Некоторые системы, например Maple, имеют эмулятор калькулятора с прекрасным графическим интерфейсом и возможностями выполнения не только численных, но и символьных (формульных) вычислений с графической визуализацией вычислений. Наиболее полное описание их возможностей дано в многочисленных книгах профессора Дьяконова В. П. и др. авторов. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Спецификация  задачи

Название задачи.

Название приложения - «Калькулятор».

Название программы (главного модуля приложения) – Calculator.

Система программирования – Delphi.

Системные требования: ОС Windows/98/ME/2000/XP,

                  Pentium II/Ш/4, ОЗУ 64 Мб, Delphi 5/6/7. 

      Описание. Поставленная задача является ярким примером использование алгоритмов с применением условных операторов с одной ветвью (с применением If (условие) Then).

      Входные данные. Любые числа представленные в виде  вещественного типа данных, положительные и отрицательные.

      Выходные  данные. Числа вещественного типа данных. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Структурная диаграмма программы.

Рисунок 1 – структурная диаграмма программы 

      Разработка  алгоритма.

      Первый  шаг программы это ввод в текстовые  поля Edit (e1 и e2) исходных значений для вычисления. Затем производится выбор (Checked) одного из действий при помощи элементов RadioButton (r1,r2,r3,r4). Далее производится нажатие на кнопку выполнения действия Button (b1) и в поле Label (l1) выводится результат произведенного действия. Если требуется провести другую операцию с этими же исходными данными, производится выбор другого элемента RadioButton и очередное нажатие на выполнения действия. Блок схема алгоритма приведена в приложении. 
 
 
 
 
 

      Создание  приложения.

      Запускаем приложение Delphi 7, в меню выбираем File/New/Application. Послу выбора на экране появляется пустая форма, в окне Object Inspector подпишем ее заголовок  «Калькулятор» (Рисунок 3)  

Рисунок 4 – Подпись заголовка формы

      Далее ставим значение False в пункт AutoSize, после чего приводим форму к желаемым размерам.

      После завершения редактирования формы приступаем к установке редактируемых полей Edit на форму. После установки они будут иметь стандартные имя и подпись (Edit1, Edit2 и т.д.) (Рисунок 4) 
 

 

Рисунок 5 – Установка редактируемого поля Edit 

      После установки поля требуется для удобства отредактировать Имя(Name) и текст (Text). Задаем имя е1 и текст «введите первое число» (рисунок 5) 

 

Рисунок 6 – изменение имени и текста поля Edit1 

      Разместив второе поле Edit на форму, производим аналогичные действия (Рисунок 6). 

 

Рисунок 7 – изменение имени и текста поля Edit2. 

      С редактируемыми полями работа закончена. Переходим к созданию поля в котором  будет выводиться ответ. Так как  стоит избежать нежелательного редактирования ответа, стоит использоваться элемент  Label.

Устанавливаем поле Label1 под полями e1 и e2 как показано на рисунке 7. 

 

Рисунок 8 – Размещение поля Label1 на форме

      Далее следует изменить имя на l1, а поле в caption записать слово «ответ». Кроме того можно сделать выравнивание текста по центру. (рисунок 8) 

 

Рисунок 9 – Редактирование поля Label1 

      Далее приступаем к установке элементов  предназначенных для выбора действия. Лучше всего для этого подходят элементы RadioBox. Разместим на форме 4 элемента RadioBox и каждому из них дадим имена r1, r2, r3 ,r4 и значения caption «сложение (+)», «вычитание (-)», «умножение (*)»,

«деление (/)»  соответственно. Примерный результат  изображен на рисунке 9. 

 

Рисунок 10 – Размещение на форме элементов  RadioBox.

      Итак, на форму осталось установить последний  и главный компонент – Button.

      Устанавливаем на форму кнопку, даем ей имя b1, а в caption вводим «выполнить действие» (рисунок 10), именно это будет происходить при нажатии кнопки.  

 

Рисунок 11 – Параметры для элемента Button 

    В конечном итоге форма должна выглядеть примерно как на рисунке 11. 

 

Рисунок 12 – Результат оформления формы.

      Описание  и исходный текст  приложения.

      Вид диалогового окна программы «Калькулятор»  приведен на рисунке 13. 

 

Рисунок 13 – Диалоговое окно программы «Калькулятор» 

      Функция StrToFloat преобразует записываемые в поля e1 и e2 значения и числа с плавающими запятыми, это требуется для возможности производить действия с дробными числами и получения их в ответе (рисунок 14).  

 

Рисунок 14  – ввод значений в поля e1 и e2 
 
 

      Функция Checked – выбор компонента RadioBox, указывающего программе на выбор того или иного действия, реализуется с помощью использования условных операторов if then (рисунок 15) 

 

Рисунок 15 – Реализация функции Checked с использованием

 условных  операторов If Then 
 
 
 
 
 
 
 
 
 
 
 
 
 

Текст процедуры TForm1.Button1Click 

procedure TForm1.b1Click(Sender: TObject);

var

a, b, rez : real;

begin

a := StrToFloat(e1.Text); {значение  переменной а вводится с

                         клавиатуры в поле Edit с именем e1} 

b := StrToFloat (e2.Text);  {значение переменной b вводится  с

                         клавиатуры в поле Edit с именем e2} 
 

if r1.Checked = True then

rez := a + b;               {если выбран RadioBox под именем r1, то

                          переменная rez принимает значение суммы a и b}

if r2.Checked = True then

rez := a - b;               {если выбран RadioBox под именем r2, то

                          переменная rez принимает значение разности a и b}

if r3.Checked = True then

rez := a * b;               {если выбран RadioBox под именем r3, то

                          переменная rez принимает значение произведени a и b}

if r4.Checked = True then

rez := a / b;               {если выбран RadioBox под именем r4, то

                          переменная rez принимает значение частного a и b} 

l1.Caption := FloatToStr(rez); {вывести в поле Lable с именем l1

                                значение переменной rez} 

end;

Описание  интерфейса.

      Приложение  «Калькулятор» написано для ОС Windows, его интерфейс соответствует требованиям, предъявляемым к графическому интерфейсу пользователя.

      При запуске в центре экрана появляется диалоговое окно. Для ввода входных  данных используются поля редактирования, поддерживающие стандартные операции редактирования: ввод текста, копирование, вставку и удаление. Для вывода результата вычислений используется не редактируемое поле в целях избежание неумышленного удаления результата.

      На  форме расположены четыре круга обозначающие выбор того или иного арифметического действия при их нажатии, а так же кнопка, дающая указания программе, на выполнение выбранного арифметического действия (рисунок 16). 

 

Рисунок 16 – Интерфейс программы 
 
 
 
 
 
 

      Инструкция  для пользователей 

  1. Запустите файл Калькулятор.exe
  2. В поля с надписями «введите первое число» и «введите второе число»  введите с клавиатуры требуемые числа для произведения действия.
  3. Выберете требуемое действие установив маркер кликом левой клавиши мышки по белому кругу возле надписи с требуемым действием.
  4. Кликните левой клавишей мышки на кнопку «выполнить действие».
  5. Результат вычислений появится в поле «ответ».
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Пример  работы Windows приложения «Калькулятор» 

      Пример 1. Операции над целыми числами.

      Проверим  работоспособность программы на простых примерах с целыми числами.

      Введем  в первое поле число 25, во второе 5 и  поочередно произведем сложение, вычитание, умножение и деление (Рисунок 17, Рисунок 18, Рисунок 19 и Рисунок 20 соответственно) 

 

Рисунок 17 – Операция сложение 

 

Рисунок 18 – Операция вычитание 

 

Рисунок 19 – Операция умножение 

 

Рисунок 12 – Операция деление 

      Пример 2. Операции с дробными (вещественными) числами.

      Введем  дробные числа и произведем над  ними несколько операция

      (Рисунок  13 и 14).  

 

Рисунок 13 – Сложение и вычитание дробных  чисел 

 

Рисунок 14 – Умножение и деление с  дробными числами

     Выводы  и рекомендации

 
     
  1. Разработанное Windows-приложение соответствует требованиям задания на курсовое проектирование.
  2. Размер исполнимого файла составляет 379 килобайт.
  3. Для более простого поиска программы на рабочем столе, можно нарисовать простой ярлык вызывающий ассоциацию с калькулятором, например как на рисунке 15.
 

Рисунок 15 – Пример ярлыка 

     
  1. Калькулятор можно оснастить клавишами для  ввода цифр при помощи кликов мыши, а так же заменить элементы RadioBox на кнопки, однако это приведет к усложнению программы и значительному увеличению программного кода, что соответственно приведет к увеличению затрачиваемого времени на создание программы.

Библиографический список

 
  1. http://ru.wikipedia.org/wiki/Delphi_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
  2. http://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BB%D1%8C%D0%BA%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80
  3. Delphi. Быстрый старт, Гофман В. Э., Хомоненко А. Д. Издательство: BHV Год: 2003
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    Приложение  А 
     

Простейший калькулятор