1、绘制曲线并求定积分沈 阳 航 空 航 天 大 学 课程设计学 号 _班 级 _姓 名 _指导教师 _年 月 日沈阳航空航天大学课程设计任务书学院:航宇 专业:飞行器制造 班级:94030101学号:2009040301030 题目:绘制曲线并求定积分一、课程设计时间2011年3月7日11日(第1周),共计1周。二、课程设计内容绘制曲线y=x3+1,并用“累计梯形面积”法求定积分的值,要求所求区间的面积区域用蓝色填充。用户界面中的菜单(或命令按钮)至少应包括“输入a和b的值”、“绘制曲线”、“求定积分”、“退出”4项。三、课程设计要求程序质量: 贯彻事件驱动的程序设计思想。 用户界面友好,功能明
2、确,操作方便;可以增加其它功能或修饰。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语目 录需求分析 4设计分析 4关键技术 6总结 9完整的源程序 10参考文献 11需求分析绘制曲线并求定积分,主要任务就是把y=x*x*x+1的曲线绘制出来与确定a、b的值后求定积分的值并把这部分的面积用蓝色填充要求:用户界面中的菜单(或命令按钮)至少应包括“输入a和b的值”、“绘制曲线”、“求定积分”、“退出”4项能够打开程序点击绘制曲线就
3、能把y=x*x*x+1的曲线显示出来。输入a、b的值点击求定积分就能把值显示并把所对应的面积用蓝色填充。蓝色填充后原来的函数曲线保留。设计分析(1) 基本原理:“累计梯形面积”法求定积的值与用图形操作技术绘制图形与填充颜色。(2) 总体设计:(3)详细设计:关键技术1用累计梯形面积法求定积分Function fun#(x#) 函数过程 fun = x * x * x + 1End FunctionFunction jifen#(ByVal a#, ByVal b#, ByVal n&) 函数过程Dim sum#, s#, h#, x# 变量声明 h = (b - a) / n 累计梯形面积法求
4、定积分 For i = 0 To n - 1 x = a + i * h s = h * (fun(x) + fun(x + h) / 2 sum = sum + s Next ijifen = sum 面积总和赋值到jifenEnd Function2绘制图形Private Sub command1_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: Pri
5、nt X 标记X轴 CurrentX = 0.5: CurrentY = 9.3: Print Y 标记Y轴 For i = -7 To 7 Line (i, 0)-(i, 0.1) CurrentX = i - 0.2: CurrentY = -0.1: Print i Next i For x = -7 To 7 Step 0.005 y = x * x * x + 1 PSet (x, y) Next xEnd Sub窗体-查询:2填充所求区域For x = a To b Step 0.005 Form1.Line (x, 0)-(x, x * x * x + 1), vbBlue 用蓝
6、色直线填充积分面积区域 Next x窗体-查询:总结 这次课设我的题目是绘制曲线并求定积分,通过这次课设让我了解了VB与数学知识之间有很大的联系,比如这个题目就要用数学中的累计面积法求定积分,让我学到编写程序要简单易懂,但要达到效果。界面安排要得当,达到美光。不然杂乱无章,自己也无法看懂,更谈何给他人讲解呢。 在课设过程中,我遇到了重重困难,例如:在绘制图形时,图像不能显示,界面过小不能显示全部内容,运行另一指令,把前面的图像覆盖了,而且缺少了左半部分,通过老师的指点和自己查阅资料,修改了部分程序,界面修改下合理化,最终顺利的完成了任务。 同时我也了解了VB的出现是一场技术革命,它在生活中各个
7、方面都能发挥巨大的作用,所以,学好VB是社会发展的需要。完整的源程序Private Sub Command2_Click()End End SubFunction fun#(x#) fun = x * x * x + 1End FunctionFunction jifen#(ByVal a#, ByVal b#, ByVal n&) Dim sum#, s#, h#, x# h = (b - a) / n For i = 0 To n - 1 x = a + i * h s = h * (fun(x) + fun(x + h) / 2 sum = sum + s Next ijifen = s
8、um End FunctionPrivate Sub Command3_Click() Dim a%, 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) For i = -7 To 7 Line (i, 0)-(i, 0.1) CurrentX = i - 0.2: CurrentY = -0.1: Print i Next i For
9、 x = -7 To 7 Step 0.005 y = x * x * x + 1 PSet (x, y) Next x For x = a To b Step 0.005 Form1.Line (x, 0)-(x, x * x * x + 1), vbBlue Next xEnd SubPrivate Sub command1_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.
10、2: Print X CurrentX = 0.5: CurrentY = 9.3: Print Y For i = -7 To 7 Line (i, 0)-(i, 0.1) CurrentX = i - 0.2: CurrentY = -0.1: Print i Next i For x = -7 To 7 Step 0.005 y = x * x * x + 1 PSet (x, y) Next xEnd Sub参考文献1 刘瑞新Visual Basic程序设计教程北京:机械工业出版社,20032 钱永胜VB6.0入门与应用西安:西安交通大学出版社,19973 李立宗.VB程序设计教程.天津:南开大学出版社,20094 田原.VB.NET程序设计.北京:清华大学出版社,20065 李政VB应用基础和实例教程北京:国防工业出版社,2006
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1