等级考试学堂之二级VB的累加算法

    作者:课课家更新于: 2017-01-19 15:04:46

    软考,您想通过吗?一次通过才是硬道理

      时间过得是那么的快,转眼间2017年3月份的全国计算机等级考试又要来临了。VB作为二级考试中的重要一环相信要靠二级的朋友对此都是感到有压力的。为此课课家笔者就二级VB中的各种算法展开简单的介绍举例,以巩固大家对VB中的算法知识的理解。在本文中笔者首先给大家介绍二级VB中的累加算法,各位如果觉得有必要的话可以边看边做笔记哦!

    等级考试学堂之二级VB的累加算法

     


     

      累加算法说明

      累加形式:V=V+e

      连乘形式:V=V*e

      ● 其中V表示的是变量,e表示的是递增表达式。通常累加和连乘一般通过循环结构来实现。

      ● 需要注意的是我们在在执行循环体前需要对变量V赋初值。一般累加时置初值0,而连乘时置初值为1。

      下面笔者给大家举一个求N!的结果的例子:

    等级考试学堂之二级VB的累加算法_考试认证_等级考试_计算机二级VB_课课家

      为了形成对比下面笔者举一个错误的写法:

    错误写法

      下面笔者在给大家举一个考试中常常出现的相类似的例子:根据下列公式,求自然对数e的的近似值,且要求误差小于0.00001。

    根据下列公式,求自然对数e的的近似值。

      根据下列公式,求自然对数e的的近似值,且要求误差小于0.00001

      下面是具体的解题步骤技巧:

      ● 首先这类题目是根据精度要求来求值导致我们不能预知具体循环次数,所以这类题目一般用Do循环而很少用For循环。通过设定循环变量和通项变量且注意各变量的初值。

      ● 第二步我们分解通项表达式中各因子并分别将各因子用循环变量表示。

      ● 第三步如果我们发现第二步中有的因子比较复杂难以直接用变量表示,此时我们可以考虑通过使用Function过程。

      ● 第四步我们根据前三步写出通项表达式。

      ● 最后一步我们根据精度要求(往往是通项小于10负多少次方这样一个关系表达式)写出一条满足精度要求后跳出循环的语句。通常是用:if 通项表达式>10^(-N) then exit do

       PS:以上这句话一般我们需要把它放在累加或者连乘式之前。

      


     

      真题演示

      下面笔者以02年春上机试卷06编程题为例给大家在演示演示:

      根据X值计算:

    根据X值计算:

      n=1,2,……

      要求:n项绝对值小于等于10-6为止。

      解题思路:

      ● 首先由题式我们得知循环次数为不确定,所以我们用Do循环结构并定义循环变量用n表示(初值1);用户输入的值用x表示;通项用dblCos表示;累加值用sum表示,初值为0。

      ● 然后我们分解通项式的组成:

      

      一般来说可以分解为三部分:

      可以表示为:(-1)^(n+1)

      可以表示为:x^(2*(n-1))

      由于比较复杂导致难以直接表示,所以我们考虑通过使用Function过程:定义过程并输入值是n,其返回值是

    Function过程

      PS:需要大家注意的地方是由于是参数按地址传递,所以对于本题的实参的值不能在过程中被改变。

      ● 接下来我们根据前几步写出通项dblCos的表达式:

      dblCos=(-1)^(n+1)*x^(2*(n-1))/comp(n)

      ● 最后我们根据精度要求知:

      If abs(dblCos)<=10^(-6) then exit do

      所以最后的程序如下所示:

    最后的程序

      PS:如果我们进行调试运行时出现死循环,我们可以通过按Ctrl+Break来中断死循环,而不需要重新启动机器。(或者Ctrl+ScrollLock)

      


     

      以上就是二级VB中的累加算法介绍。

      相信大家对二级VB的累加算法都有一个基本的了解了吧。那么本次的等级考试学堂之二级VB的累加算法的讲解到此就暂告一段落,如果以后有什么相关的内容继续进行补充或者修改的话,笔者会在此继续进行相关的内容的补充或者修改的工作,同时也欢迎大家对本次的讲解提出自己的建议和补充。最后笔者希望本次的讲解对大家学习二级VB能够起到一定的帮助作用!

课课家教育

未登录