Калькулятор на Delphi7

Автор работы: Пользователь скрыл имя, 26 Мая 2013 в 23:17, курсовая работа

Краткое описание

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

Прикрепленные файлы: 1 файл

calc.doc

— 88.00 Кб (Скачать документ)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ

АЗЕРБАЙДЖАНСКОЙ РЕСПУБЛИКИ

 

 

Бакинский Государственный  Университет

 

 

 

 

Вычислительная  работа № 1

по программированию

“Калькулятор”

 

 

Студент первого курса

Факультет “Прикладной математики и кибернетики”

Группа ТК-30

Джафарли Сона

 

Педагог

Р.Н.Махмудзаде

 

 

 

 

 

 

 

 

-2013-

 

 

Введение

 

 

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

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

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

 

Описание работы

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

В данной вычислительной работе требуется создать Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое обеспечивает формирование, обработку на ЭВМ и вывод информации. Предусмотреть хранение информации в типизированных файлах, содержащих не менее 10 записей. Приложение должно вычислять стандартные математические вычисления (сложение, вычитание, умножение, деление), также вычислять различные тригонометрические функции (sin, cos,), возведение в корень и вычислять значение из-под корня.

           Исходя из начальных условий,  необходимо выполнить тривиальную  последовательность действий:

– произведение простых математических вычислений.

– обеспечивать правильное вычисление.

Данная программа, используя  стандартные компоненты, с успехом  будет работать в ОС-ах Windows’95, 98, 2000, ХР не требуя при этом дополнительных инсталляций программного обеспечения.

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

  1. Набор компонентов для добавления / изменения / удаления записей для добавления / изменения / удаления записей нужно использовать компонент edit и 27    BitBtn.
  2. Использовать компонент Main menu для создания меню которое будет содержать: меню «Файл», меню «Правка».

 

Разработка интерфейса

          1. Создать форму ( рис.1)

2. Разместить на форме  объект Edit

3. Разместить на форме  соответствующее число кнопок:

– цифры от 0 до 9;

– знаки арифметических операций;

– знак «=»;

– знаки функций (корень, синус, косинус и т.д.);

 

 

Написание процедур выполнения арифметических операций

I. Написать процедуры  ввода чисел. Для этого щелкнул два раза по кнопке «1» (объект BitBtn1) и ввести следующий код:

 

procedure TForm1. BitBtn1Click (Sender: TObject);

begin

edit1. Text:=edit1. Text+'1'

end;

Аналогично написал  процедуры ввода остальных цифр

II. Создать процедуру  очистки поля Edit1, кнопка «С» (объект BitBtn11)

 

procedure TForm1.BitBtn15Click(Sender: TObject);

begin

edit1.clear;

end;

III. Создать процедуры обработки нажатий кнопок «+», «–», «/», «*» и «=». Для этого разобрать алгоритм работы с калькулятором:

– Ввести число в поле Edit1. При этом в поле Edit1 число будет представлено как текстовая строка.

– Нажать кнопку «+». В процедуре обработки этой кнопки выполнил следующие действия:

1. Преобразовать эту строку в число с помощью функции StrToFloat;

2. Сохранить это число в переменной X;

3. Сохранить в переменной, например, kod код этой операции;

– Очистить поле Edit1.

– Ввести второе число в поле Edit1.

– Нажать кнопку «=». В процедуре обработки этой кнопки выполнил следующие действия:

1. Преобразовать эту строку в число с помощью функции StrToFloat;

2. Сохранить это число в переменной Y;

3.В зависимости от кода операции, сохраненной в переменной kod, выполнить арифметическую операцию, например, z:=x+y;

4. Преобразовать число, находящееся в переменной Z, в текст с помощью функции FloatToStr и вывести в поле Edit1.

IV. Для реализации этого алгоритма  я выполнила следующие действия:

1. Описала переменные X, Y, Z, kod. Описывала переменные в основной программе, модуле Unit, чтобы переменные могли действовать в любой процедуре (глобальные переменные).

 

var

Form1: TForm1;

kod: char;

x, y, z: real;

 

2. Создала процедуры обработки нажатий кнопок «+», «–», «/», «*»

Например, процедура обработки нажатия кнопки «+»:

 

procedure TForm1.BitBtn11Click(Sender: TObject);

begin

if edit1.Text <> '' then x:=strtofloat(edit1.text);

kod := '+';

edit1.clear;

end;

 

Аналогично создала процедуры обработки нажатий кнопок «–», «/», «*»

3. Создала процедуру обработки нажатия кнопки «=». В этой процедуре необходимо в зависимости от значения переменной kod выполнять четыре разных операции. Такая структура называется «Множественное ветвление» или «Выбор»:

 

procedure TForm1.BitBtn22Click(Sender: TObject);

begin

    if edit1.Text<>'' then  y:=strtofloat(edit1.text);

    case kod of

    '+': z:=x+y;

    '-': z:=x-y;

    '*': z:=x*y;

    '/': z:=x/y;

    '^': z:=exp(y*ln(x));

    end ;

    edit1.Text:=floattostr(z) ;

end;

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

 

          Программа

 

unit calculatorS2;

 

interface

 

uses

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

  Dialogs, StdCtrls, Buttons, Menus;

 

type

  TForm1 = class(TForm)

    Edit1: TEdit;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    BitBtn3: TBitBtn;

    BitBtn4: TBitBtn;

    BitBtn5: TBitBtn;

    BitBtn6: TBitBtn;

    BitBtn7: TBitBtn;

    BitBtn8: TBitBtn;

    BitBtn9: TBitBtn;

    BitBtn10: TBitBtn;

    BitBtn11: TBitBtn;

    BitBtn12: TBitBtn;

    BitBtn13: TBitBtn;

    BitBtn14: TBitBtn;

    BitBtn15: TBitBtn;

    BitBtn16: TBitBtn;

    BitBtn17: TBitBtn;

    BitBtn18: TBitBtn;

    BitBtn19: TBitBtn;

    BitBtn20: TBitBtn;

    BitBtn21: TBitBtn;

    BitBtn22: TBitBtn;

    BitBtn23: TBitBtn;

    BitBtn24: TBitBtn;

    BitBtn25: TBitBtn;

    BitBtn26: TBitBtn;

    BitBtn27: TBitBtn;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    MainMenu2: TMainMenu;

    N2: TMenuItem;

    N3: TMenuItem;

    MainMenu3: TMainMenu;

    N4: TMenuItem;

    N5: TMenuItem;

    N6: TMenuItem;

    N7: TMenuItem;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

    procedure BitBtn4Click(Sender: TObject);

    procedure BitBtn5Click(Sender: TObject);

    procedure BitBtn6Click(Sender: TObject);

    procedure BitBtn7Click(Sender: TObject);

    procedure BitBtn8Click(Sender: TObject);

    procedure BitBtn9Click(Sender: TObject);

    procedure BitBtn10Click(Sender: TObject);

    procedure BitBtn16Click(Sender: TObject);

    procedure BitBtn15Click(Sender: TObject);

    procedure BitBtn11Click(Sender: TObject);

    procedure BitBtn12Click(Sender: TObject);

    procedure BitBtn13Click(Sender: TObject);

    procedure BitBtn14Click(Sender: TObject);

    procedure BitBtn17Click(Sender: TObject);

    procedure BitBtn18Click(Sender: TObject);

    procedure BitBtn19Click(Sender: TObject);

    procedure BitBtn20Click(Sender: TObject);

    procedure BitBtn21Click(Sender: TObject);

    procedure BitBtn22Click(Sender: TObject);

    procedure BitBtn23Click(Sender: TObject);

    procedure BitBtn24Click(Sender: TObject);

    procedure BitBtn26Click(Sender: TObject);

    procedure BitBtn25Click(Sender: TObject);

    procedure BitBtn27Click(Sender: TObject);

    procedure N5Click(Sender: TObject);

    procedure N6Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

 

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

  bt:integer=0;

  x,y,z:real;

  kod:char;

  memory:real;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'1';

end;

 

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'2';

end;

 

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'3';

end;

 

procedure TForm1.BitBtn4Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'4';

end;

 

procedure TForm1.BitBtn5Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'5';

end;

 

procedure TForm1.BitBtn6Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'6';

end;

 

procedure TForm1.BitBtn7Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'7';

end;

 

procedure TForm1.BitBtn8Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'8';

end;

 

procedure TForm1.BitBtn9Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'9';

end;

 

procedure TForm1.BitBtn10Click(Sender: TObject);

begin

edit1.Text:=edit1.Text+'0';

end;

 

procedure TForm1.BitBtn16Click(Sender: TObject);

begin

 

if bt=0 then begin edit1.Text:=edit1.Text+'.';

bt:=1;

end;

end;

 

procedure TForm1.BitBtn15Click(Sender: TObject);

begin

edit1.clear;

end;

 

procedure TForm1.BitBtn11Click(Sender: TObject);

begin

if edit1.Text <> '' then x:=strtofloat(edit1.text);

kod := '+';

edit1.clear;

end;

 

procedure TForm1.BitBtn12Click(Sender: TObject);

begin

if edit1.Text <> '' then x:=strtofloat(edit1.text);

kod := '-';

edit1.clear;

 

end;

 

procedure TForm1.BitBtn13Click(Sender: TObject);

begin

if edit1.Text <> '' then x:=strtofloat(edit1.text);

kod := '*';

edit1.clear;

 

end;

 

procedure TForm1.BitBtn14Click(Sender: TObject);

begin

if edit1.Text <> '' then x:=strtofloat(edit1.text);

kod := '/';

edit1.clear;

 

end;

 

procedure TForm1.BitBtn17Click(Sender: TObject);

begin

z:=StrToFloat(Edit1.Text);

   Edit1.Text:=FloatToStr(Sqr(z));

end;

 

 

 

procedure TForm1.BitBtn18Click(Sender: TObject);

begin

   z:=StrToFloat(Edit1.Text);

   Edit1.Text:=FloatToStr(Sqrt(z));

end;

 

procedure TForm1.BitBtn19Click(Sender: TObject);

begin

z:=StrToFloat(Edit1.Text);

Edit1.Text:=FloatToStr(Sin(z));

 

end;

 

procedure TForm1.BitBtn20Click(Sender: TObject);

Информация о работе Калькулятор на Delphi7