首页 利用Delphi技术直观实现圆周率的精确测算 【论文】_13648

利用Delphi技术直观实现圆周率的精确测算 【论文】_13648

举报
开通vip

利用Delphi技术直观实现圆周率的精确测算 【论文】_13648利用Delphi技术直观实现圆周率的精确测算 【论文】_13648 论文:利用Delphi技术直观实现圆周率的精确测算 论文网 本文作者(汪 洋 顾培培),请您在阅读本文时尊重作者版权。 摘 要: 圆周率π是个古老的数据,早在1700多年前祖冲之已将其值精确到小数点 后7位,而如今通过计算机程序已能算到十亿位之多。在课堂及平时工作中,直观、迅速、精确的测算出圆周率,对于课程的学习是非常有价值的。这里使用Delphi模拟一种测算圆周率的方法。 关键词: Delphi技术 模拟 圆周率 1.前言 在日常的教...

利用Delphi技术直观实现圆周率的精确测算 【论文】_13648
利用Delphi技术直观实现圆周率的精确测算 【论文】_13648 论文:利用Delphi技术直观实现圆周率的精确测算 论文网 本文作者(汪 洋 顾培培),请您在阅读本文时尊重作者版权。 摘 要: 圆周率π是个古老的数据,早在1700多年前祖冲之已将其值精确到小数点 后7位,而如今通过计算机程序已能算到十亿位之多。在课堂及平时工作中,直观、迅速、精确的测算出圆周率,对于课程的学习是非常有价值的。这里使用Delphi模拟一种测算圆周率的方法。 关键词: Delphi技术 模拟 圆周率 1.前言 在日常的教学及相关工作中,我们经常要介绍并使用圆周率,虽有具体的数据及相关的历史计 算事件,但对于学生及普通的人员来说,很难弄懂其的计算原理,印象不深,效果差。本文通过Delphi即Windows平台下的可视化应用程序开发工具,提供一种有效的方法,通过具体的编程技术来高效、直观地完成圆周率的计算。 2. 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 原理 本程序只是一个概率模拟。首先绘制一个边长为200的正方形,在其中随机生产多个点,该正方形中可以容下一个大圆的四分之一圆。以圆弧为界,在圆弧内的即为圆内点,之外的即为圆外点。由于点数非常之多,几乎布满整个正方形,因此点数就可以看成是其所在区域的面积。 则作如下推导:如图1所示,红色区域表示1/4圆内;黄色区域表示圆外。 红色区域面积?正方形面积?红色区域点数?总点数 红色区域面积?正方形面积=1/4圆面积?正方形面积 1/4圆面积?正方形面积?红色区域点数?总点数 π×200×200/4?200×200?红色区域点数?总点数 π?4×红色区域点数/总点数 在区域的点数会出现重复,所以计算机的最终结果与实际π值会有差别,但是当点数足够多时,则可以看成一个非常近似的结果。 3.功能实现 3.1控件说明 本程序有图有数据,因此首先在窗体上设置一Image控件,其主要用于显示图像。在整个窗体 生成时则加载,该控件的绘图代码绘制一个外边框为黄色,内部为黑色边长为200的正方形。在显示数据方面,这里采用Label标签控件,使用它的Caption属性用于实时显示圆内点数、圆外点数、当前计算的π值、当前X轴、Y轴的坐标。为了控制方便程序设置了两个按钮用 于开始和暂停模拟。窗体最下方设置一个显示当前系统时间的Text文本控件,方便用户进行比对。为了自动快速的进行模拟。程序设置了一个主要控件Timer定时器。其是一个非可视化组件。利用其可以实现自动打点。它的Interval属性在这里十分重要,用于控制Timer触发事件(打点)的时间间隔。单位是ms,默认值1000即1s,这里为了模拟的速度,设置为1,即0.001s。 程序各控件布局如图2。 3.2代码实现 整个窗体在创建时的代码: procedure TForm1.FormCreate(Sender: TObject); begin ′在Image1控件区域内画一个边长为200的正方形作为程序的演示窗口,画亮绿色的正方形演示框 Image1.Canvas.Brush.Color:=clBlack; Image1.Canvas.FillRect(Rect(0,0,199,199)); Image1.Canvas.Pen.Color:=clyellow; Image1.Canvas.Rectangle(0,0,199,199); DoubleBuffered:= True; end; 添加Timer控件实现点的绘制和π的计算: var a,b,i,ii:longint; pi:single; begin ′随机产生坐标点 i:=random(200);/随机获取0-200以内的整数 ii:=random(200); if (i*i ii*ii<40000) then′判断是否为圆内点,根据数学 公式 小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载 X2 Y2<=r2 begin ′以200为半径的圆内的点设为红色 Image1.canvas.Pen.Color:=clred; a:=StrToInt(Label1.Caption);′label.Caption初始值为0 Label1.Caption:=IntToStr(a 1);′a为圆内点数,加1后传送给label控件 ′显示当前点的坐标 Label4.Caption:=IntToStr(Image1.Canvas.PenPos.X); Label5.Caption:=IntToStr(Image1.Canvas.PenPos.Y); end else begin ′超出这个区域的点都在圆外设为黄色 Image1.Canvas.Pen.Color:=clyellow; b:=StrToInt(Label2.Caption); Label2.Caption:=IntToStr(b 1);′b为圆外点数,加1后传送给label控件 ′显示当前点的坐标 Label4.Caption:=IntToStr(Image1.Canvas.PenPos.X); Label5.Caption:=IntToStr(Image1.Canvas.PenPos.Y); end; ′画点(长为1像素的直线) Image1.Canvas.MoveTo(i,ii); Image1.Canvas.LineTo(i,ii 1); ′计算pi的值 pi:=(4*(StrToInt(Label1.Caption))/(StrToInt(Label1.Caption) StrToInt(Label2.Caption))); ′得出最接近的圆周率值 Pi值 if (abs(pi-3.141592653589))<(abs(StrtoFloat(label3.Caption)-3.141592653589)) then Label3.Caption:=FloatToStr(pi);′若新的pi值更加精确,则更新显示π值的label3 edit1.Text:=timetostr(now);′显示当前系统经过的时间 end; 添加两个按钮控件以方便的控制程序的暂停和继续: procedure TForm1.Button1Click(Sender: TObject); begin timer1.Enabled:=true;′使得timer控件工作 end;
本文档为【利用Delphi技术直观实现圆周率的精确测算 【论文】_13648】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_569018
暂无简介~
格式:doc
大小:17KB
软件:Word
页数:5
分类:互联网
上传时间:2018-08-15
浏览量:20