(全文1700字) | 作者:宇哥
来源 | 公众号:宇哥玩Access(ID:datamap2000)
微信:datamap1999(学习Access数据库)
第1个和第2个重要极限是微积分知识的一项内容,本文用VBA编程方法计算这两个重要极限的近似值。
极限问题是高等数学的重要研究对象。用计算机语言来计算极限问题,即可以锻炼编程思维,又锻炼学以致用用代码解决工程问题的能力。
本案例编程语言采用VBA语言,展示平台基于Access的窗体功能,要求在窗体制作2个输入文本框和2个输出文本框。
代码编写要求将核心计算代码用模块进行封装,在窗体中进行调用,并实现一定的自动化。
根据要求,本练习的代码分为计算模块和调用代码。这样分开的好处是条理清晰、易于维护,代码行数比较少。
下面介绍具体编写过程。
两个重要极限公式
根据题目要求,将计算代码直接封装成函数(Function),放在模块里以备调用。
新建1个Access数据库,点击创建-宏与代码-模块,进入模块编写界面。
1.编写“第1个重要极限”计算代码
Function ImpLim1(x As Double) '第1个重要极限 If x = 0 Then '防止分母为0 ImpLim1 = "" Else ImpLim1 = Sin(x) / x End If End Function
本代码利用了一个if else语句,将x=0的情况单独考虑,防止出现分母为0的情况,导致程序报错。
注意这个模块用的是Function函数功能,因此必须有自变量x。这里将x数值类型设置成double双精度,以扩大取值范围。
sin(x)/x就是第1个重要极限的方程式,很容易理解,x取值越小,这个方程越接近于1。
2.编写“第2个重要极限”计算代码
Function ImpLim2(x As Double) '第2个重要极限 If x = 0 Then '防止分母为0 ImpLim2 = "" Else ImpLim2 = (1 + 1 / x) ^ x End If End Function
第2个重要极限编写逻辑和上面的基本一致,防止分母为0的情况出现。
(1 + 1 / x) ^ x就是第2个重要极限的方程式,x取值越大,越接近与一个常数e。
本练习题要求在Access数据库的窗体完成数据的输入输出,并实现自动化操作,因此需要制作一个Access窗体,并加入文本框控件。
点击创建-窗体设计-生成一个空白窗体;
点击窗体设计工具-控件-文本框-生成4个文本框分别为Text1、Text2、Text3、Text4。
Text1是第一个重要极限的输入值x,Text2是第1个重要极限的输出值。
Text3是第一个重要极限的输入值x,Text4是第1个重要极限的输出值。
Text1和Text3是两个输入文本框。窗体的自动化和调用代码都围绕着这两个输入文本框进行。
本案例最大程度节省了操作步骤,只需要更改Text1和Text3的数字,就能自动进行方程的计算。
自动化设置的好处是:可以通过窗体直观的感受随着数字的改变、极值随之而来的变化。
1.更改Text1自动计算第1个重要极限近似值
Private Sub Text1_AfterUpdate() 'Text1更新后刷新,窗体自动化一种方案 If IsNumeric(Text1) Then '首先判断Text1里输入的是否是数字,防止报错 Text2 = ImpLim1(Text1) '调用函数ImpLim1 Else Text2 = "" End If Me.Refresh End Sub
计算代码的调用和窗体自动化是同时进行的,都封装在文本框事件的子过程里。
生成子过程事件的过程如下:
点击设计视图-属性表-文本框Text1-事件-更新后-单击三个点,就直接进入了更新后AfterUpdate的子过程,意味着更新文本框Text1,就直接进行代码调用和计算。
调用代码首先要对Text1的输入值进行判断,如果填的不是数字而是字母或者其他符号,输出文本框Text2里就显示为空白。
输入判断是运用函数IsNumeric进行的。
注意对Text1进行输入值判断,这一步是必须要进行的,不能省略。不然一旦误操作,程序会报错。
当输入值是数字,代码就直接调用函数ImpLim1(第1个重要极限),自变量x就是Text1里输入的值,计算方程的值。
核心调用代码是“Text2 = ImpLim2(Text1)”,用1行代码就解决调用问题了,计算结果显示在Text2里。
2.更改Text3自动计算第2个重要极限近似值
Private Sub Text3_AfterUpdate() If IsNumeric(Text3) Then Text4 = ImpLim2(Text3) Else Text4 = "" End If Me.Refresh End Sub
调用逻辑跟计算第1个重要极限一样,故省略。
本练习通过用VBA代码计算高等数学两个重要极限近似值,可以熟悉VBA编程的一些基本原理,熟悉变量的定义,熟练掌握模块化编程和调用的方法。
计算两个重要极限的计算过程本身不难,但是怎样进行模块化的封装和熟练调用,还是有一定的难度的。
本案例核心计算代码只有几行,其余代码都围绕着调用和自动化、以及窗体展示展开。
掌握核心计算代码和调用代码都很重要,不能偏废。因为学以致用才是学习代码的目的,光知道怎么计算是不够的,还需要学会怎么封装和调用。
既要掌握编程的核心原理,也要知道怎么展示计算过程和计算结果,既要懂计算原理,也要知道怎么前端展示,二者缺一不可。
--The End--
作者介绍:
宇哥副业是一名央企总部员工,电力工程师。
主业是一名编程培训讲师、电商从业者和电商讲师。
目前运营有3家淘宝店、6家闲鱼店、2家抖店、1家亚马逊(没生意),以及10多个自媒体平台和2个个人网站。
目前来看,全网学习办公软件和编程的女同学几乎没有不认识我的,但我更希望全网搞电商的女同学也都认识我。
现在宇哥做电商做培训还是比较顺的,而且主业还上班,目前一年到手的收入加起来有100来个。本来可以躺平,但是由于个人情绪一直不稳定、精神状态时好时坏,因此挺爱吐吐槽、码码字,挺愿意分享的。
我未来的打算是回老家做跨境,一边过退休生活,一边赚点躺着赚钱的生意。另外我计划每年写100万字不糊弄事的精品文章,包括宇哥的人生经验、做技术培训的经验、做电商的经验、做自媒体的经验、在央企当异类跟领导对着干的经验,都分享给大家。
写作是为了流传后世,能帮助一些人最好。帮不上就当是给自己看了。
承蒙大家厚爱,很多人爱看。
宇哥课程广告
有详细问题请加宇哥微信:datamap1999