Implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (edit2.Text<>'') and (edit3.Text<>'') and (strtofloat(edit2.Text)<>0) and (strtofloat(edit3.Text)<>0)
then button1.Enabled:=true else
button1.Enabled:=false;
case key of
'0'..'9',#8: ;
#13: edit2.SetFocus;
'.',',':
begin
if key='.' then key:=',';
if pos(',',edit1.Text)<>0 then key:=chr(0);
end;
else
key:=chr(0);
end;
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if (edit1.Text<>'') and (edit3.Text<>'') and (strtofloat(edit1.Text)<>0) and (strtofloat(edit3.Text)<>0)
then button1.Enabled:=true else
button1.Enabled:=false;
case key of
'0'..'9',#8: ;
#13: edit2.SetFocus;
'.',',':
begin
if key='.' then key:=',';
if pos(',',edit1.Text)<>0 then key:=chr(0);
end;
else
key:=chr(0);
end;
end;
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if (edit1.Text<>'') and (edit2.Text<>'') and (strtofloat(edit1.Text)<>0) and (strtofloat(edit2.Text)<>0)
then button1.Enabled:=true else
button1.Enabled:=false;
case key of
'0'..'9',#8: ;
#13: edit2.SetFocus;
'.',',':
begin
if key='.' then key:=',';
if pos(',',edit1.Text)<>0 then key:=chr(0);
end;
else
key:=chr(0);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
a:=strtofloat(edit1.text);
b:=strtofloat(edit2.text);
c:=strtofloat(edit3.text);
label4.Caption:=label4.Caption+': '+floattostr((a+b+c)/2);
p:=(a+b+c)/2;
label5.Caption:=label5.Caption+': '+floattostr(sqrt(p*(p-a)*(p-b)*(p-c)));
end;
end.
Результат работы программы:
Задача 4 самостоятельная:
Код программы:
unit Unit1;
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
f:text;
n,x,m,xmone,xmtwo:integer;
Implementation
{$R *.dfm}
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (edit1.Text='') or (strtofloat(edit1.Text)=0)
then button1.Enabled:=false;
case key of
'0'..'9': button1.Enabled:=true;
#8: if length(edit1.text)=1 then button1.Enabled:=false;
else
key:=chr(0);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
m:=strtoint(edit1.Text);
assignfile(f,'Фибоначчи.txt');
rewrite(f);
writeln(f,1);
writeln(f,1);
xmone:=1;
xmtwo:=1;
for n:=1 to m-2 do
begin
x:=xmone+xmtwo;
xmtwo:=xmone;
xmone:=x;
writeln(f,x);
end;
closefile(f);
end;
end.
Результат работы программы: