求定积分.docx
《求定积分.docx》由会员分享,可在线阅读,更多相关《求定积分.docx(10页珍藏版)》请在冰点文库上搜索。
求定积分
沈阳航空工业学院
课程设计
学号200604034014
班级6403401
姓名:
刘虎
指导教师:
刘成
2008年03月18日
课程设计任务书
学院:
航宇专业:
工程力学班级:
6403401
学号:
200604034014题目:
求定积分
一、课程设计时间
2007~08第2学期第1~2周,共计2周,40学时。
二、课程设计内容
用“梯形面积积分法”,求定积分
的值。
三、课程设计要求
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
✧用户界面中的菜单至少应包括“输入a,b的值”、“开始计算”、“退出”3项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩
六、教师评语
目录
需求分析4
设计分析4
关键技术6
总结10
完整的源程序11
参考文献13
需求分析
要求设计一个计算定积分的程序,具体要求如下:
(1)要求计算的函数表达式是:
f=3x+1
(2)理解定积分是指在某一范围(a到b)内曲线与x轴围成的面积。
(3)要求使用梯形的面积法,使用累积的方法来完成积分过程。
(4)要求用户界面中的菜单至少应包括“输入a,b的值”、“开始计算”、“退出”3项。
设计分析
(1)基本原理:
利用梯形的面积积分法就是将积分区域分成若干等份,采用循环用累计法求的梯形面积和就是所求定积分的结果。
(2)总体设计:
(3)详细设计:
关键技术
1建立积分的过程
确立用梯形面积法求积分的过程的程序如下:
PublicFunctionjifen(ByVala!
ByValb!
ByValn%)
Dimsum!
h!
x!
h=(b-a)/n
sum=(f(a)+f(b))/2
Fori=1Ton-1
x=a+i*h
sum=sum+f(x)
Nexti
jifen=sum*h
EndFunction
2建立积分函数
输入积分的函数程序如下:
PublicFunctionf(ByValx!
)
f=3*x+1
EndFunction
设置的界面如下:
3计算积分结果
用command1完成判断和调用过程程序如下:
PrivateSubCommand1_Click()
a=Val(Text1.Text)
b=Val(Text2.Text)
n=Val(Text3.Text)
Ifa>bThen'判断是否满足积分条件a
MsgBox"输入错误,不能满足积分条件!
"
Text1.Text=""
Text2.Text=""
Text4.Text=""
Else
Text4.Text=jifen(a,b,n)'调用积分函数
EndIf
EndSub
4也可通过回车键来代替command1来完成整过过程
通过回车键来完成所有过程的程序表达如下:
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Text2.SetFocus
EndIf
EndSub
'当text2回车时判断是否满足积分条件a
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
a=Val(Text1.Text)
b=Val(Text2.Text)
Ifa>bThen
MsgBox"输入错误,不能满足积分条件!
"
Text2.Text=""
Else
Text3.SetFocus
EndIf
EndIf
EndSub
'用回车代替command1的过程
PrivateSubText3_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
a=Val(Text1.Text)
b=Val(Text2.Text)
n=Val(Text3.Text)
Text4.Text=jifen(a,b,n)
EndIf
EndSub
5结束
结束的程序:
PrivateSubCommand2_Click()
End
EndSub
总结
这次我的课设题目是计算定积分,通过这次实习,我对VB中的函数调用和基本的循环过程有了进一步了解,同时也考验了自己的思维能力(特别是在考虑满足积分条件a
完整的源程序
'确立用梯形面积法求积分的过程
PublicFunctionjifen(ByVala!
ByValb!
ByValn%)
Dimsum!
h!
x!
h=(b-a)/n
sum=(f(a)+f(b))/2
Fori=1Ton-1
x=a+i*h
sum=sum+f(x)
Nexti
jifen=sum*h
EndFunction
'输入积分的函数
PublicFunctionf(ByValx!
)
f=3*x+1
EndFunction
'用command1完成判断和调用过程
PrivateSubCommand1_Click()
a=Val(Text1.Text)
b=Val(Text2.Text)
n=Val(Text3.Text)
Ifa>bThen'判断是否满足积分条件a
MsgBox"输入错误,不能满足积分条件!
"
Text1.Text=""
Text2.Text=""
Text4.Text=""
Else
Text4.Text=jifen(a,b,n)'调用积分函数
EndIf
EndSub
'结束的程序
PrivateSubCommand2_Click()
End
EndSub
'通过回车键来完成所有过程的程序表达
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Text2.SetFocus
EndIf
EndSub
'当text2回车时判断是否满足积分条件a
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
a=Val(Text1.Text)
b=Val(Text2.Text)
Ifa>bThen
MsgBox"输入错误,不能满足积分条件!
"
Text2.Text=""
Else
Text3.SetFocus
EndIf
EndIf
EndSub
'用回车代替command1的过程
PrivateSubText3_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
a=Val(Text1.Text)
b=Val(Text2.Text)
n=Val(Text3.Text)
Text4.Text=jifen(a,b,n)
EndIf
EndSub