绘制曲线并求定积分.docx
《绘制曲线并求定积分.docx》由会员分享,可在线阅读,更多相关《绘制曲线并求定积分.docx(8页珍藏版)》请在冰豆网上搜索。
绘制曲线并求定积分
沈阳航空航天大学
课程设计
学号_____________
班级_____________
姓名_____________
指导教师_____________
年月日
沈阳航空航天大学
课程设计任务书
学院:
航宇专业:
飞行器制造班级:
94030101
学号:
2009040301030题目:
绘制曲线并求定积分
一、课程设计时间
2011年3月7日~11日(第1周),共计1周。
二、课程设计内容
绘制曲线y=x3+1,并用“累计梯形面积”法求定积分
的值,要求所求区间的面积区域用蓝色填充。
用户界面中的菜单(或命令按钮)至少应包括“输入a和b的值”、“绘制曲线”、“求定积分”、“退出”4项。
三、课程设计要求
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课设结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩
六、教师评语
目录
需求分析4
设计分析4
关键技术6
总结9
完整的源程序10
参考文献11
需求分析
绘制曲线并求定积分,主要任务就是把y=x*x*x+1的曲线绘制出来与确定a、b的值后求定积分
的值并把这部分的面积用蓝色填充要求:
①用户界面中的菜单(或命令按钮)至少应包括“输入a和b的值”、“绘制曲线”、“求定积分”、“退出”4项
②能够打开程序点击绘制曲线就能把y=x*x*x+1的曲线显示出来。
③输入a、b的值点击求定积分就能把值显示并把所对应的面积用蓝色填充。
④蓝色填充后原来的函数曲线保留。
设计分析
(1)基本原理:
“累计梯形面积”法求定积的值与用图形操作技术绘制图形与填充颜色。
(2)总体设计:
(3)详细设计:
关键技术
1用"累计梯形面积"法求定积分
Functionfun#(x#)'函数过程
fun=x*x*x+1
EndFunction
Functionjifen#(ByVala#,ByValb#,ByValn&)'函数过程
Dimsum#,s#,h#,x#'变量声明
h=(b-a)/n'"累计梯形面积"法求定积分
Fori=0Ton-1
x=a+i*h
s=h*(fun(x)+fun(x+h))/2
sum=sum+s
Nexti
jifen=sum'面积总和赋值到jifen
EndFunction
2绘制图形
PrivateSubcommand1_click()
Form1.Scale(-7.5,10)-(7.5,-10)
DrawWidth=2'设置绘制的线宽
Line(-7.3,0)-(7.3,0):
Line(0,9.5)-(0,-9.5)
CurrentX=7.3:
CurrentY=0.2:
Print"X"'标记X轴
CurrentX=0.5:
CurrentY=9.3:
Print"Y"'标记Y轴
Fori=-7To7
Line(i,0)-(i,0.1)
CurrentX=i-0.2:
CurrentY=-0.1:
Printi
Nexti
Forx=-7To7Step0.005
y=x*x*x+1
PSet(x,y)
Nextx
EndSub
窗体-查询:
2填充所求区域
Forx=aTobStep0.005
Form1.Line(x,0)-(x,x*x*x+1),vbBlue'用蓝色直线填充积分面积区域
Nextx
窗体-查询:
总结
这次课设我的题目是绘制曲线并求定积分,通过这次课设让我了解了VB与数学知识之间有很大的联系,比如这个题目就要用数学中的累计面积法求定积分,让我学到编写程序要简单易懂,但要达到效果。
界面安排要得当,达到美光。
不然杂乱无章,自己也无法看懂,更谈何给他人讲解呢。
在课设过程中,我遇到了重重困难,例如:
在绘制图形时,图像不能显示,界面过小不能显示全部内容,运行另一指令,把前面的图像覆盖了,而且缺少了左半部分,通过老师的指点和自己查阅资料,修改了部分程序,界面修改下合理化,最终顺利的完成了任务。
同时我也了解了VB的出现是一场技术革命,它在生活中各个方面都能发挥巨大的作用,所以,学好VB是社会发展的需要。
完整的源程序
PrivateSubCommand2_Click()
End
EndSub
Functionfun#(x#)
fun=x*x*x+1
EndFunction
Functionjifen#(ByVala#,ByValb#,ByValn&)
Dimsum#,s#,h#,x#
h=(b-a)/n
Fori=0Ton-1
x=a+i*h
s=h*(fun(x)+fun(x+h))/2
sum=sum+s
Nexti
jifen=sum
EndFunction
PrivateSubCommand3_Click()
Dima%,b%
a=Val(Text1.Text)
b=Val(Text2.Text)
Text3.Text=jifen(a,b,100)
Form1.Scale(-7.5,10)-(7.5,-10)
Line(-7.3,0)-(7.3,0):
Line(0,9.5)-(0,-9.5)
Fori=-7To7
Line(i,0)-(i,0.1)
CurrentX=i-0.2:
CurrentY=-0.1:
Printi
Nexti
Forx=-7To7Step0.005
y=x*x*x+1
PSet(x,y)
Nextx
Forx=aTobStep0.005
Form1.Line(x,0)-(x,x*x*x+1),vbBlue
Nextx
EndSub
PrivateSubcommand1_click()
Form1.Scale(-7.5,10)-(7.5,-10)
DrawWidth=2
Line(-7.3,0)-(7.3,0):
Line(0,9.5)-(0,-9.5)
CurrentX=7.3:
CurrentY=0.2:
Print"X"
CurrentX=0.5:
CurrentY=9.3:
Print"Y"
Fori=-7To7
Line(i,0)-(i,0.1)
CurrentX=i-0.2:
CurrentY=-0.1:
Printi
Nexti
Forx=-7To7Step0.005
y=x*x*x+1
PSet(x,y)
Nextx
EndSub
参考文献
[1]刘瑞新.《VisualBasic程序设计教程》.北京:
机械工业出版社,2003
[2]钱永胜.《VB6.0入门与应用》.西安:
西安交通大学出版社,1997
[3]李立宗.《VB程序设计教程》.天津:
南开大学出版社,2009
[4]田原.《VB.NET程序设计》.北京:
清华大学出版社,2006
[5]李政《VB应用基础和实例教程》北京:
国防工业出版社,2006