编程入门练习:递归和迭代训练(VBA语言,基于Access数据库)

日期: 栏目:Access数据库 浏览:239

(全文1000字) 作者:宇哥

来源 | 公众号:宇哥玩Access(ID:datamap2000)

微信:datamap1999(学习Access数据库)

640 (1).gif

最终效果

递归(Recursion)迭代(Iteration)是比较重要的算法,核心思想是自己调用自己、循环往复,把复杂问题简单化,解决一些实际问题。

本文选取一个极限问题,有助于理解自己调用自己、循环往复的解题思路,这个问题是一个数列极限,问n趋近于无穷大时,方程的极限是多少。

1.png

本文选用的极限
本题采用两种方法进行解题:一种是递归;一种是迭代。通过计算过程可以加深对这两种计算机逻辑的理解。

2.png

1.迭代法计算过程
运用迭代法计算的VBA代码如下:
  • Function IterationA(n As Integer) '迭代法
    Dim i As Integer
        IterationA = 2 ^ 0.5 '初始状态
    For i = 1 To n
        IterationA = (2 * IterationA) ^ 0.5 '往前赶
    Next i
    End Function

动图


迭代法的计算过程演示
迭代法的原理比较容易理解,计算过程就是先设定一个初始状态,然后设定一个从1到n的循环条件,每次计算结果都是下一次计算的原料。直到循环结束。


3.png

2.递归法计算过程

运用递归法计算的VBA代码如下:

  • Function RecursiveA(n As Integer) '递归法
    If n = 0 Then
        RecursiveA = 2 ^ 0.5 '初始状态
    Else
        RecursiveA = (2 * RecursiveA(n - 1)) ^ 0.5 '往回搂
    End If
    End Function

动图

递归法的计算过程演示
递归法计算过程略微复杂一些,分为两个步骤:先分解传递,再回归。不过本案例的极限算法并不太适合用递归。递归原理如下:


4.png


--The End--

作者介绍:

宇哥副业是一名央企总部员工,电力工程师。

主业是一名编程培训讲师、电商从业者和电商讲师。

目前运营有3家淘宝店、6家闲鱼店、2家抖店、1家亚马逊(没生意),以及10多个自媒体平台和2个个人网站

目前来看,全网学习办公软件和编程的女同学几乎没有不认识我的,但我更希望全网搞电商的女同学也都认识我。

现在宇哥做电商做培训还是比较顺的,而且主业还上班,目前一年到手的收入加起来有100来个。本来可以躺平,但是由于个人情绪一直不稳定、精神状态时好时坏,因此挺爱吐吐槽、码码字,挺愿意分享的。

我未来的打算是回老家做跨境,一边过退休生活,一边赚点躺着赚钱的生意。另外我计划每年写100万字不糊弄事的精品文章,包括宇哥的人生经验、做技术培训的经验、做电商的经验、做自媒体的经验、在央企当异类跟领导对着干的经验,都分享给大家。

写作是为了流传后世,能帮助一些人最好。帮不上就当是给自己看了。

承蒙大家厚爱,很多人爱看。

谢谢大家。

宇哥课程广告

(长按二维码进入店铺,了解Access课程目录和介绍,点击订阅直接购买并观看录播课)
Access零基础教程
299.99元
Access开发教程
799.99元
Access即学即用教程
299.99元
1零基础.jpg
2开发.png
3即学即用.png
Access进销存教程
199.99元
Access陪跑教程
1599.99元
VBA教程
299.99元

4进销存.png

5陪跑.jpg

6VBA.jpg

有详细问题请加宇哥微信:datamap1999

640.jpg

标签:

X

截屏,微信识别二维码

微信号:datamap1999

(点击微信号复制,添加好友)

  打开微信