Рис.1. Интерфейс программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
name: TLabel;
Edit1: TEdit;
edinica1: TLabel;
Button1: TButton;
otvet1: TLabel;
Edit2: TEdit;
edinica2: TLabel;
Button2: TButton;
otvet2: TLabel;
Edit3: TEdit;
edinica3: TLabel;
Button3: TButton;
otvet3: TLabel;
Edit4: TEdit;
edinica: TLabel;
Button4: TButton;
otvet4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// первый перевод
procedure TForm1.Button1Click(Sender: TObject);
var
a: real; // узлы в час
b: real; // км в час
begin
form1.otvet1.Caption:='';
try // возможна ошибка, если в поле
// Edit1 будет не число
a:=StrToFloat(Edit1.Text);
b:=a*1.852;
otvet1.caption:=Edit1.text+' узел/ч =' +
FloatToStrF(b,ffGeneral,4,2)+' км/ч';
except
on EConvertError do // ошибка преобразования
begin
ShowMessage('Ошибка!');
form1.Edit1.SetFocus; // курсор в поле ввода
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
c: real; // мили в час
d: real; // км в час
begin
form1.otvet2.Caption:='';
try // возможна ошибка, если в поле
// Edit2 будет не число
c:=StrToFloat(Edit2.Text);
d:=c*1.609;
otvet2.caption:=Edit2.text+' миль/ч =' +
FloatToStrF(d,ffGeneral,4,2)+' км/ч';
except
on EConvertError do // ошибка преобразования
begin
ShowMessage('Ошибка!');
form1.Edit2.SetFocus; // курсор в поле ввода
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
e: real; // км в час
m: real; // узлы в час
begin
form1.otvet3.Caption:='';
try // возможна ошибка, если в поле
// Edit3 будет не число
e:=StrToFloat(Edit3.Text);
m:=e/1.852;
otvet3.caption:=Edit3.text+' км/ч =' +
FloatToStrF(m,ffGeneral,4,2)+' узлы/ч';
except
on EConvertError do // ошибка преобразования
begin
ShowMessage('Ошибка!');
form1.Edit3.SetFocus; // курсор в поле ввода
end;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
p: real; // км в час
l: real; // узлы в час
begin
form1.otvet4.Caption:='';
try // возможна ошибка, если в поле
// Edit4 будет не число
p:=StrToFloat(Edit4.Text);
l:=p/1.609;
otvet4.caption:=Edit4.text+' км/ч =' +
FloatToStrF(l,ffGeneral,4,2)+' мили/ч';
except
on EConvertError do // ошибка преобразования
begin
ShowMessage('Ошибка!');
form1.Edit4.SetFocus; // курсор в поле ввода
end;
end;
end;
end.
Для тестирования я пересчитал MS Excel значения заданные по условию, сравнил результаты своих вычислений с данными, которые выдает программа, и оказалось все верно.
Работа в созданной мною программе не требует каких либо специфических навыков от пользователя. Достаточно запустить исполняемый файл Project1.exe. На экране монитора появится окно программы представленное на рисунке.№1. По нажатию на кнопку «Найти 1-й член последовательности» появится результат.
Заключение
В заключение хочется отметить о важности проделанной работы. За период решения задачи курсового проекта я научился работе со стандартными функциями языка программирования Pascal, работе с циклами, условиями, выводом информации в среде программирования Borland Delphi и построению блок-схемы алгоритма работы программы.
1. Кэнту М. «Delphi7: Для профессионалов» :- Санкт-Питербург:2004
2. А.Я.Архангельский. «100 компонентов общего назначения Delphi»-М.: 2001
3. Курс лекций по предмету «Основы алгоритмизации и программирования»
4. Курс лекций по предмету «Технология разработки программных продуктов»
5. В.Озеров «Советы по Delphi»