Разработка программы «Простой калькулятор»

Курсовая работа

Разработка программы «Простой калькулятор»

1. Разработка эскизного и технического проектов программы

1.1 Задание

Разработка приложения для Windows, реализующая простой калькулятор.

Условия задачи:

Программа «Калькулятор» была разработана как один из вариантов программы для выполнения стандартных арифметических операций (сложение, вычетание, умножение, деление) , а так же для того чтобы приобрести навыки по созданию Windows-приложений, среды программирования Delphi 7.

Назначение и область применения

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

Область применения: Пользователи ПК. Поскольку ставится задача разработать приложение для Windows, то использоваться программа может под управле-нием ОС Windows, а так же ОС работающих с кодами Delphi 7 .

Постановка задачи , Задача курсовой работы состоит в

?программа должна работать в графическом режиме;

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

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

Рисунок 1-рабочее окно программы «простой калькулятор»

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

У программы «калькулятор» имеются меню с пунктами: «Файл» и «Справка» это это можно увидеть на рисунке 1. В меню «файл» находится закладка для выхода из программы, вкладка «закрыть», а в «справке» находятся краткие сведения о программе и разработчике.

Список использованных переменных

В программе «Простой калькулятор» были использованы стандартные элементы Delphi 7. В главной форме-Form1, которая является самим калькулятором (рисунок 2) и в меню «о программе»-Form2 (рисунок 3).

В программе использованы элементы закладок Standard (TButton, TEdit, TMainMenu, TLabel)

Рисунок 2-3:форма Form1;форма Form2

Первые 11 элементов TButton (названия от _0 до _9) имеется операция ввода чисел. 12й элемент с именем `Dot’играет роль отделения дробной части от целой. При нажатии на одну из этих кнопок число появляется на дисплее и переносятся в переменную `back’ с типом string которая сохраняет в себе данные всех введённых чисел. Другие элементы TButton являются функциональными клавишами, 1 кнопка вывода результата (`=’).

10 стр., 4904 слов

Информатика» «Разработка программы для игры «Питон

... поставленные задачи и правильно функционировать.[3] Задачей данной курсовой работы стала разработка программы для игры «Питон». Разработанная программа, предназначенная для изображения движущегося “питона”, состоящего из ... файла. Алгоритм процедуры TForm.N2Click представлен на рисунке 4. procedure TForm1.N2Click(Se nder: TObject) Открыть файл fcount для записи Ввод count.name Количество запусков =1 ...

При срабатывании функциональной клавиши, арифметический знак так же выводится на дисплей и заносится в переменную `s’ типа string. После этих действий у нас есть все необходимые данные для определения результата операции (события OnClick для кнопки со значением “=”).

Результат вычисления заносится в переменную rez типа real и отображается на дисплее.

Элемент TMainmenu используются для реализации меню программы с пунктами:

Файл,Справка(на Form1),Закрыть(на Form2)

Выход О программе

Элемент TLabel применен для вывода текста информации о программе в меню.

1.2 Описание алгоритма

1. Ввод данных

2. Определение введённого символа

3. Выполнение соответствующих операций

4. Вывод результата на дисплей

Обобщенная схема алгоритма приведена в ПРИЛОЖЕНИИ 1

1.3 Организация входных и выходных данных

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

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

1.4 Выбор состава технических и программных средств

Среда Delphi позволяет достаточно быстро и легко разрабатывать приложения для Windows.

Технические характеристики компьютера:

Pentium I и выше

Объем оперативной памяти не менее 60 Мб;

  • Необходимое пространство на жестком диске 150 Мб.

Дополнительных средств (принтер, сканер, дополнительные дисководы и т.д.) не требуется.

Разработка рабочего проекта

1.5 Разработка программы

Для создания приложения программы “Калькулятор” используется среда визуального программирования Delphi. Проект программы содержит два окна:

1. Form1 — калькулятор.

2. Form2 — Справка

Окно Form1 — калькулятор представлен на Рисунке 4

Рисунок 4- Окно Form1

1Компонент Form1

Свойства:

Сaption — Калькулятор

Border — bsSingle;

  • BiSystemMenu — false;
  • BiMinimaze — false;
  • BiHelp — False;

События: нет

2-компонент button_0

Свойства:

Сaption — 0

Сursor — crHandPoin

Height — 24

Left — 75

Taborder — 6

Top — 134

Width — 33

3-компонент button_00

Свойства:

Сaption — 00

Сursor — crHandPoin

Height — 25

10 стр., 4627 слов

Методы разделения компонентов нефти

... фронтальном анализе понентов. Метод не нашел широкого применения, так как он не дает полного разделения: в чистом виде выделяется только наиболее слабо адсорбирующийся компонент. Рис. 1 Схемы ... способность - ни один другой метод не позволяет так быстро (в течение 0,5-1 ч) проанализировать фракции нефти, состоящие из десятков и сотен компонентов; предельная эффективность колонок, достигнутая ...

Left — 42

Taborder -7

Top — 134

Width — 33

4-компонент button_1

Свойства:

Сaption — 1

Сursor — crHandPoin

Height — 24

Left — 8

Taborder — 0

Top — 40

Width — 35

5-компонент button_2

Свойства:

Сaption — 2

Сursor — crHandPoin

Height — 24

Left — 40

Taborder — 1

Top — 40

Width — 24

6-компонент button_3

Свойства:

Сaption — 3

Сursor — crHandPoin

Height — 24

Left — 72

Taborder — 2

Top — 40

Width — 24

7-компонент button_4

Свойства:

Сaption — 4

Сursor — crHandPoin

Height — 25

Left —

Taborder — 3

Top — 72

Width — 24

8-компонент button_5

Свойства:

Сaption — 5

Сursor — crHandPoin

Height — 24

Left — 40

Taborder — 4

Top — 72

Width — 24

9-компонент button_6

Свойства:

Сaption — 6

Сursor — crHandPoin

Height — 24

Left — 70

Taborder — 2

Top — 40

Width — 25

10-компонент button_7

Свойства:

Сaption — 7

Сursor — crHandPoin

Height — 24

Left — 8

Taborder — 5

Top — 104

Width — 24

11-компонент button_8

Свойства:

Сaption — 8

Сursor — crHandPoin

Height — 24

Left — 40

Taborder — 16

Top — 104

Width — 25

12-компонент button_9

Свойства:

Сaption — 9

Сursor — crHandPoin

Height — 24

Left — 72

Taborder — 15

Top — 104

Width — 24

13-компонент button1

Свойства:

Сaption — «+»

Сursor — crHandPoin

Height — 24

Left — 120

Taborder — 10

Top — 41

Width — 35

14-компонент button2

Свойства:

Сaption — «-»

Сursor — crHandPoin

Height — 24

Left — 120

Taborder — 11

Top — 71

Width — 33

15-компонент button3

Свойства:

Сaption — «*»

Сursor — crHandPoin

Height — 24

Left — 120

Taborder — 12

Top — 104

Width — 35

Полный листинг программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Buttons, StdCtrls, Menus;

type

TForm1 = class(TForm)

_1: TButton;

  • _2: TButton;
  • _3: TButton;
  • _4: TButton;
  • _5: TButton;
  • _6: TButton;
  • _7: TButton;
  • _8: TButton;
  • _9: TButton;
  • _0: TButton;
  • _00: TButton;
  • Dot: TButton;
  • Pole: TEdit;
  • Button1: TButton;
  • Button2: TButton;
  • Button3: TButton;
  • Button4: TButton;
  • MainMenu1: TMainMenu;
  • N1: TMenuItem;
  • N2: TMenuItem;
  • N3: TMenuItem;
  • N4: TMenuItem;
  • Button5: TButton;
  • procedure _1Click(Sender: TObject);
  • procedure _2Click(Sender: TObject);
  • procedure _3Click(Sender: TObject);
  • procedure _4Click(Sender: TObject);
  • procedure _5Click(Sender: TObject);
  • procedure _6Click(Sender: TObject);
  • procedure _7Click(Sender: TObject);
  • procedure _8Click(Sender: TObject);
  • procedure _9Click(Sender: TObject);
  • procedure DotClick(Sender: TObject);
  • procedure _00Click(Sender: TObject);
  • procedure _0Click(Sender: TObject);
  • procedure Button1Click(Sender: TObject);
  • procedure Button2Click(Sender: TObject);
  • procedure Button3Click(Sender: TObject);
  • procedure Button4Click(Sender: TObject);
  • procedure Button5Click(Sender: TObject);
  • procedure PoleChange(Sender: TObject);
  • procedure FormKeyPress(Sender: TObject;
  • var Key: Char);
  • procedure N2Click(Sender: TObject);
  • procedure N4Click(Sender: TObject);

private

2 стр., 947 слов

Технологии анализа данных (Text Mining, Data Mining)

... УДК 004.912 2. А.А. Барсегян, М.С. Куприянов, В.В. Степаненко, И.И. Холод: Технологии анализа данных. Data Mining, Visual Mining, Text Mining, OLAP: БХВ-Петербург, 2007 3. <http://megaputer.ru/data_mining.php> 4. <http://www.compress.ru/article.aspx?id=10290&iid=424> 5. <http://www.iteam.ru/publications/it/section_92/article_1448/> ...

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

uses

Math, Unit2;

var

rez: real;

  • procedure TForm1._1Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’1′;

  • end;
  • procedure TForm1._2Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’2′;

  • end;
  • procedure TForm1._3Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’3′;

  • end;
  • procedure TForm1._4Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’4′;

  • end;
  • procedure TForm1._5Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’5′;

  • end;
  • procedure TForm1._6Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’6′;

  • end;
  • procedure TForm1._7Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’7′;

  • end;
  • procedure TForm1._8Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’8′;

  • end;
  • procedure TForm1._9Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’9′;

  • end;
  • procedure TForm1.DotClick(Sender: TObject);

begin

Pole.Text:= Pole.Text+’,’;

  • end;
  • procedure TForm1._00Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’00’;

  • end;
  • procedure TForm1._0Click(Sender: TObject);

begin

44 стр., 21893 слов

Разработка информационно-аналитической системы контакт-центра

... покупок (связь, развлечения, служба быта). Целью данной дипломной работы является разработка информационно-аналитической системы контакт центра "СИМПРЕЗА". Для достижения данной цели необходимо решить следующие ... выявляет потребности клиентов, их категорию и направленность. 2. Планирует работу с клиентами, разрабатывает методики общения с ними. 3. Организует предварительные переговоры с клиентами, ...

Pole.Text:= Pole.Text+’0′;

  • end;
  • procedure TForm1.Button1Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’+’;

  • end;
  • procedure TForm1.Button2Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’-‘;

  • end;
  • procedure TForm1.Button3Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’*’;

  • end;
  • procedure TForm1.Button4Click(Sender: TObject);

begin

Pole.Text:= Pole.Text+’/’;

  • end;
  • procedure TForm1.Button5Click(Sender: TObject);

var

s: string;

  • i: word;
  • First: boolean;

begin

s:=Pole.Text;

  • rez:=0;

while (s[1]=’+’)or(s[1]=’*’)or(s[1]=’/’)or(s[1]=’^’) do

delete(s,1,1);

  • First:=true;

for i:=1 to length(s) do

if s[i]=’ ‘ then delete(s,i,1)

else if s[i]=’.’ then

begin

delete(s,i,1);

  • insert(‘,’,s,i);
  • end;

for i:=1 to length(s) do

if (s[i]=’+’)or(s[i]=’-‘)or(s[i]=’*’)or(s[i]=’/’)or(s[i]=’^’)then

if (First=false) then delete(s,i,length(s)-i+1)

else First:=false;

  • Pole.Text:=»;
  • i:=1;
  • while (s[i]<>’+’)and(s[i]<>’-‘)and(s[i]<>’*’)and(s[i]<>’/’)and(s[i]<>’^’) do

inc(i);

  • if i<length(s) then

begin

if s[i]=’+’ then rez:= StrToFloat(copy(s,1,i-1))+StrToFloat(copy(s,i+1,length(s)-i+1));

  • if s[i]=’-‘ then rez:= StrToFloat(copy(s,1,i-1))-StrToFloat(copy(s,i+1,length(s)-i+1));
  • if s[i]=’*’ then rez:= StrToFloat(copy(s,1,i-1))*StrToFloat(copy(s,i+1,length(s)-i+1));
  • if s[i]=’/’ then rez:= StrToFloat(copy(s,1,i-1))/StrToFloat(copy(s,i+1,length(s)-i+1));
  • if s[i]=’^’ then rez:= power(StrToFloat(copy(s,1,i-1)),StrToFloat(copy(s,i+1,length(s)-i+1)));
  • Pole.Text:=FloatToStr(rez);
  • end;
  • end;
  • procedure TForm1.PoleChange(Sender: TObject);

begin

if Pole.Text=» then

begin

Button5.Enabled:=false;

end else

begin

Button5.Enabled:=true;

  • end;
  • end;
  • procedure TForm1.FormKeyPress(Sender: TObject;
  • var Key: Char);

var

back: string;

begin

if Button5.Enabled then Button5.SetFocus;

  • if key=’1′ then pole.Text:= pole.Text+’1′;
  • if key=’2′ then pole.Text:= pole.Text+’2′;
  • if key=’3′ then pole.Text:= pole.Text+’3′;
  • if key=’4′ then pole.Text:= pole.Text+’4′;
  • if key=’5′ then pole.Text:= pole.Text+’5′;
  • if key=’6′ then pole.Text:= pole.Text+’6′;
  • if key=’7′ then pole.Text:= pole.Text+’7′;
  • if key=’8′ then pole.Text:= pole.Text+’8′;
  • if key=’9′ then pole.Text:= pole.Text+’9′;
  • if key=’0′ then pole.Text:= pole.Text+’0′;
  • if key=’+’ then pole.Text:= pole.Text+’+’;
  • if key=’-‘ then pole.Text:= pole.Text+’-‘;
  • if key=’*’ then pole.Text:= pole.Text+’*’;
  • if key=’/’ then pole.Text:= pole.Text+’/’;
  • back:=Pole.Text;
  • if key=#8 then delete(back,length(back),1);
  • pole.Text:=back;
  • end;
  • procedure TForm1.N2Click(Sender: TObject);

begin

37 стр., 18434 слов

Проектирование Базы Данных для коммерческого предприятия

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

Close;

  • end;
  • procedure TForm1.N4Click(Sender: TObject);

begin

Form2.Top :=

Trunc(Form1.Top + Form1.Height/2 — Form2.Height/2);

  • Form2.Left :=

Trunc (Form1.Left + Form1.Width/2 — Form2.Width/2);

  • Form2.ShowModal;
  • end;
  • end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Menus, jpeg, ExtCtrls;

type

TForm2 = class(TForm)

Label1: TLabel;

  • Label2: TLabel;
  • MainMenu1: TMainMenu;
  • N1: TMenuItem;
  • Label5: TLabel;
  • procedure N1Click(Sender: TObject);
  • procedure Label1Click(Sender: TObject);
  • procedure Label2Click(Sender: TObject);
  • procedure Label5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.N1Click(Sender: TObject);

begin

Close;

  • end;
  • procedure TForm2.Label1Click(Sender: TObject);

begin

end;

  • procedure TForm2.Label2Click(Sender: TObject);

begin

end;

  • procedure TForm2.Label5Click(Sender: TObject);

begin

end;

  • end.

Спецификация программы

Исполняемый файл программы «калькулятор» имеет название Calculator.exe и располагается в архиве Калькулятор.rar в каталоге Калькулятор\программа калькулятор. Состав проекта:

Программа «Калькулятор» исходный код которой разработана в Системе программирования — Delphi.

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

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

Программа показывает ответ при задании простых арифметических операций (сложение, вычитание, умножение, деление).

Программа имеет простой и удобный пользовательский интерфейс.

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

29 стр., 14392 слов

Создание проекта для тестирования знаний студентов по языку программирования ...

... разработки Delphi при программной реализации, позволило создать качественное современное программное обеспечение, обладающее высокой скоростью работы, ... проверки данных тестов позволит ... программах. 1.2.1 Standard Из названия вкладки следует, что компоненты, представленные на ней, являются стандартными, системными. Так и есть. Компоненты вкладки Standard: Frames. MainMenu. PopupMenu. Label. ...

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

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

Тестирование программы

Для определения правильности выполнения операций программы используем встроенное приложение Windows — «Простой Калькулятор», функциональность которого аналогична программе, разработанной в рамках курсового проекта. Итак, для проверки правильности работы программы выполним следующие операции сначала в программе «Калькулятор», затем в приложении «Калькулятор» OC Windows

Графические результаты тестирования программы представлены в Приложении Б.

Внедрение

1. Условия установки программы

Для выполнения программы требуется минимум:

  • Pentium I и выше;
  • Объем оперативной памяти не менее 60 Мб;
  • Жесткий диск не менее 150 Мб;

2. Запуск программы

Запуск «Calculator.exe» — > на экране всплывёт окно, аналогичное простейшему калькулятору.

3. Сообщение оператору

При делении на ноль программа выдает ошибку, пример изображен на Рисунке 5

Рисунок 5-Ошибка деления.

3.Архангельский А.Я.: Delphi 6. Справочное пособие. — М.: БИНОМ, 2001

4.Сван, Том Секреты 32-разрядного программирования в Delphi (+ дискета); К.: Диалектика — Москва, 1997. — 480 c.

5. Федоров, А. Delphi 2.0 для всех; М.: Компьютер-пресс — Москва, 1997. — 464 c.

6.Delphi C/S 2. Русскоязычная документация; Borland Press — Москва, 1995. — 214 c.

7.Гофман, В.Э.; Хомоненко, А.Д. Delphi 5; СПб: БХВ — Москва, 2000. — 800 c.

8. Григорьев, А.Б. О чем не пишут в книгах по Delphi; БХВ-Петербург — Москва, 2008. — 576 c

9.Дарахвелидзе, П.Г.; Марков, Е.П. Delphi 2005 для Win32 наиболее полное руководство; БХВ-Петербург — Москва, 2005. — 602 c.

10. Кнут, Д. Искусство программирования для ЭВМ; М.: Мир — Москва, 1976. — 569 c.