Добавил:
Xer1t
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, synta;
type
TForm1 = class(TForm)
le1: TLabeledEdit;
le2: TLabeledEdit;
le3: TLabeledEdit;
btn1: TButton;
l1: TLabel;
procedure btn1Click(Sender: TObject);
procedure le1KeyPress(Sender: TObject; var Key: Char);
procedure le1Change(Sender: TObject);
procedure le2KeyPress(Sender: TObject; var Key: Char);
procedure le2Change(Sender: TObject);
procedure le3KeyPress(Sender: TObject; var Key: Char);
procedure le3Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.le1KeyPress(Sender: TObject; var Key: Char);
begin
Control(Key, le1.Text);
end;
procedure TForm1.le1Change(Sender: TObject);
begin
btn1.Enabled:=Control2(le1.Text);
end;
procedure TForm1.le2KeyPress(Sender: TObject; var Key: Char);
begin
Control(Key, le2.Text);
end;
procedure TForm1.le2Change(Sender: TObject);
begin
btn1.Enabled:=Control2(le2.Text);
end;
procedure TForm1.le3KeyPress(Sender: TObject; var Key: Char);
begin
Control(Key, le3.Text);
end;
procedure TForm1.le3Change(Sender: TObject);
begin
btn1.Enabled:=Control2(le3.Text);
end;
procedure TForm1.btn1Click(Sender: TObject);
var a, b, h, x, y, t:real;
begin
if (StrToFloat(le1.Text) > StrToFloat(le2.Text)) then
ShowMessage('Неправильные границы');
a:=StrToFloat(le1.Text);
b:=StrToFloat(le2.Text);
h:=StrToFloat(le3.Text);
t:=a; //начальное значение х
while t<=b do
begin //начало тела цикла
x:=t*sin(t)+cos(t);
y:=Sin(t)-t*cos(t);
l1.Caption:= l1.Caption + #13 + 'x=' + FloatToStr(x) + #9 + 'y=' + FloatToStr(y);
{вывод в Label значений предыдущей итерации + перевод строки и добавление
значений х и y текущей итерации, т.е. накопление таблицы с каждой итерацией}
t:=t+h; //увеличение значения х на шаг
end; //конец тела цикла
end; //конец процедуры
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, synta;
type
TForm1 = class(TForm)
le1: TLabeledEdit;
le2: TLabeledEdit;
le3: TLabeledEdit;
btn1: TButton;
l1: TLabel;
procedure btn1Click(Sender: TObject);
procedure le1KeyPress(Sender: TObject; var Key: Char);
procedure le1Change(Sender: TObject);
procedure le2KeyPress(Sender: TObject; var Key: Char);
procedure le2Change(Sender: TObject);
procedure le3KeyPress(Sender: TObject; var Key: Char);
procedure le3Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.le1KeyPress(Sender: TObject; var Key: Char);
begin
Control(Key, le1.Text);
end;
procedure TForm1.le1Change(Sender: TObject);
begin
btn1.Enabled:=Control2(le1.Text);
end;
procedure TForm1.le2KeyPress(Sender: TObject; var Key: Char);
begin
Control(Key, le2.Text);
end;
procedure TForm1.le2Change(Sender: TObject);
begin
btn1.Enabled:=Control2(le2.Text);
end;
procedure TForm1.le3KeyPress(Sender: TObject; var Key: Char);
begin
Control(Key, le3.Text);
end;
procedure TForm1.le3Change(Sender: TObject);
begin
btn1.Enabled:=Control2(le3.Text);
end;
procedure TForm1.btn1Click(Sender: TObject);
var a, b, h, x, y, t:real;
begin
if (StrToFloat(le1.Text) > StrToFloat(le2.Text)) then
ShowMessage('Неправильные границы');
a:=StrToFloat(le1.Text);
b:=StrToFloat(le2.Text);
h:=StrToFloat(le3.Text);
t:=a; //начальное значение х
while t<=b do
begin //начало тела цикла
x:=t*sin(t)+cos(t);
y:=Sin(t)-t*cos(t);
l1.Caption:= l1.Caption + #13 + 'x=' + FloatToStr(x) + #9 + 'y=' + FloatToStr(y);
{вывод в Label значений предыдущей итерации + перевод строки и добавление
значений х и y текущей итерации, т.е. накопление таблицы с каждой итерацией}
t:=t+h; //увеличение значения х на шаг
end; //конец тела цикла
end; //конец процедуры
end.