小弟数学很差,谢谢大家了!
6 个解决方案
#1
记得2004年有同学问过这样的题目,然后,某大侠出来说,严打不经过思考就提问的。。。
现在我是否可以说:严打没经过搜索就来提问的?
现在我是否可以说:严打没经过搜索就来提问的?
#2
谢谢1楼,我是搜过本坛论还有百度,找不到啊!
#3
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Ax,Ay,Bx,By,Cx,Cy: Single;
Ox,Oy: Single;
r: Single;
begin
Ax:= StrToFloatDef(InputBox('输入A点x坐标', 'Ax =', '78.3'),78.3);
Ay:= StrToFloatDef(InputBox('输入A点y坐标', 'Ay =', '78.3'),78.3);
Bx:= StrToFloatDef(InputBox('输入B点x坐标', 'Bx =', '10'), 10);
By:= StrToFloatDef(InputBox('输入B点y坐标', 'By =', '60'),60);
Cx:= StrToFloatDef(InputBox('输入C点x坐标', 'Cx =', '60'),60);
Cy:= StrToFloatDef(InputBox('输入C点y坐标', 'Cy =', '10'), 10);
Ox:= ((Cy-Ay)*(By*By-Ay*Ay+Bx*Bx-Ax*Ax)+(By-Ay)*(Ay*Ay-Cy*Cy+Ax*Ax-Cx*Cx))/(2*(Bx-Ax)*(Cy-Ay)-2*(Cx-Ax)*(By-Ay));
Oy:= ((Cx-Ax)*(Bx*Bx-Ax*Ax+By*By-Ay*Ay)+(Bx-Ax)*(Ax*Ax-Cx*Cx+Ay*Ay-Cy*Cy))/(2*(By-Ay)*(Cx-Ax)-2*(Cy-Ay)*(Bx-Ax));
r:= Sqrt(Sqr(Ox-Bx)+Sqr(Oy-By));
ShowMessage(FormatFloat('0.00',r));
Canvas.Ellipse(Round(Ax)-2,Round(Ay)-2,Round(Ax)+2,Round(Ay)+2);
Canvas.Ellipse(Round(Bx)-2,Round(By)-2,Round(Bx)+2,Round(By)+2);
Canvas.Ellipse(Round(Cx)-2,Round(Cy)-2,Round(Cx)+2,Round(Cy)+2);
Canvas.Ellipse(Round(Ox-r),Round(Oy-r),Round(Ox+r),Round(Oy+r));
end;
#4
r:= Sqrt(Sqr(Ox-Bx)+Sqr(Oy-By)); //圆半径
Canvas.Ellipse(Round(Ax)-2,Round(Ay)-2,Round(Ax)+2,Round(Ay)+2); //标识出A点位置
Canvas.Ellipse(Round(Bx)-2,Round(By)-2,Round(Bx)+2,Round(By)+2); //标识出B点位置
Canvas.Ellipse(Round(Cx)-2,Round(Cy)-2,Round(Cx)+2,Round(Cy)+2); //标识出C点位置
Canvas.Ellipse(Round(Ox-r),Round(Oy-r),Round(Ox+r),Round(Oy+r)); //画圆
#5
谢谢!非常感谢!
#6
嘿嘿,结贴~~
#1
记得2004年有同学问过这样的题目,然后,某大侠出来说,严打不经过思考就提问的。。。
现在我是否可以说:严打没经过搜索就来提问的?
现在我是否可以说:严打没经过搜索就来提问的?
#2
谢谢1楼,我是搜过本坛论还有百度,找不到啊!
#3
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Ax,Ay,Bx,By,Cx,Cy: Single;
Ox,Oy: Single;
r: Single;
begin
Ax:= StrToFloatDef(InputBox('输入A点x坐标', 'Ax =', '78.3'),78.3);
Ay:= StrToFloatDef(InputBox('输入A点y坐标', 'Ay =', '78.3'),78.3);
Bx:= StrToFloatDef(InputBox('输入B点x坐标', 'Bx =', '10'), 10);
By:= StrToFloatDef(InputBox('输入B点y坐标', 'By =', '60'),60);
Cx:= StrToFloatDef(InputBox('输入C点x坐标', 'Cx =', '60'),60);
Cy:= StrToFloatDef(InputBox('输入C点y坐标', 'Cy =', '10'), 10);
Ox:= ((Cy-Ay)*(By*By-Ay*Ay+Bx*Bx-Ax*Ax)+(By-Ay)*(Ay*Ay-Cy*Cy+Ax*Ax-Cx*Cx))/(2*(Bx-Ax)*(Cy-Ay)-2*(Cx-Ax)*(By-Ay));
Oy:= ((Cx-Ax)*(Bx*Bx-Ax*Ax+By*By-Ay*Ay)+(Bx-Ax)*(Ax*Ax-Cx*Cx+Ay*Ay-Cy*Cy))/(2*(By-Ay)*(Cx-Ax)-2*(Cy-Ay)*(Bx-Ax));
r:= Sqrt(Sqr(Ox-Bx)+Sqr(Oy-By));
ShowMessage(FormatFloat('0.00',r));
Canvas.Ellipse(Round(Ax)-2,Round(Ay)-2,Round(Ax)+2,Round(Ay)+2);
Canvas.Ellipse(Round(Bx)-2,Round(By)-2,Round(Bx)+2,Round(By)+2);
Canvas.Ellipse(Round(Cx)-2,Round(Cy)-2,Round(Cx)+2,Round(Cy)+2);
Canvas.Ellipse(Round(Ox-r),Round(Oy-r),Round(Ox+r),Round(Oy+r));
end;
#4
r:= Sqrt(Sqr(Ox-Bx)+Sqr(Oy-By)); //圆半径
Canvas.Ellipse(Round(Ax)-2,Round(Ay)-2,Round(Ax)+2,Round(Ay)+2); //标识出A点位置
Canvas.Ellipse(Round(Bx)-2,Round(By)-2,Round(Bx)+2,Round(By)+2); //标识出B点位置
Canvas.Ellipse(Round(Cx)-2,Round(Cy)-2,Round(Cx)+2,Round(Cy)+2); //标识出C点位置
Canvas.Ellipse(Round(Ox-r),Round(Oy-r),Round(Ox+r),Round(Oy+r)); //画圆
#5
谢谢!非常感谢!
#6
嘿嘿,结贴~~