Автор работы: Пользователь скрыл имя, 26 Мая 2013 в 23:17, курсовая работа
Среда визуального программирования Дельфи (Delphi), производства фирмы Borland, в настоящее время держит первое место по популярности, как для профессиональных разработчиков сложных программных комплексов, так и для начинающих программистов, только осваивающих азы программирования. Этой популярности она обязана своим широким возможностям в сочетании с простотой и доступностью в изучении.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ
АЗЕРБАЙДЖАНСКОЙ РЕСПУБЛИКИ
Бакинский Государственный Университет
Вычислительная работа № 1
по программированию
“Калькулятор”
Студент первого курса
Факультет “Прикладной математики и кибернетики”
Группа ТК-30
Джафарли Сона
Педагог
Р.Н.Махмудзаде
-2013-
Введение
Среда визуального программирования Дельфи (Delphi), производства фирмы Borland, в настоящее время держит первое место по популярности, как для профессиональных разработчиков сложных программных комплексов, так и для начинающих программистов, только осваивающих азы программирования. Этой популярности она обязана своим широким возможностям в сочетании с простотой и доступностью в изучении.
Дельфи в основе своей
имеет язык Паскаль и его объектно-
В результате выполнения лабораторной работы студент должен прочувствовать доступность современных программных средств и возможность самостоятельной разработки нормальных Windows приложений, будь то игрушка для себя, или компьютерное моделирование технической идеи или математической задачи.
Описание работы
Поставленная задача заключается в следующем. Необходимо создать программу «Калькулятор», которая будет производить вычисление математических функций.
В данной вычислительной
работе требуется создать Windows-
Исходя из начальных условий,
необходимо выполнить
– произведение простых математических вычислений.
– обеспечивать правильное вычисление.
Данная программа, используя стандартные компоненты, с успехом будет работать в ОС-ах Windows’95, 98, 2000, ХР не требуя при этом дополнительных инсталляций программного обеспечения.
Для создания подобного приложения, которое будет удовлетворять поставленную задачу, и обеспечения функционирования математического аппарата необходимо как минимум:
Разработка интерфейса
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.В зависимости от кода
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);