计算机等级考试二级vb常用算法

计算机等级考试二级vb常用算法

ID:12319856

大小:319.00 KB

页数:35页

时间:2018-07-16

计算机等级考试二级vb常用算法_第1页
计算机等级考试二级vb常用算法_第2页
计算机等级考试二级vb常用算法_第3页
计算机等级考试二级vb常用算法_第4页
计算机等级考试二级vb常用算法_第5页
资源描述:

《计算机等级考试二级vb常用算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机等级考试二级VB常用算法(1)累加和连乘     1、算法说明     累加形式:V=V+e     连乘形式:V=V*e     其中:V是变量,e是递增表达式。累加和连乘一般通过循环结构来实现。     注意:需在执行循环体前对变量V赋初值。一般的,累加时置初值0;连乘时置初值为1.     举例     1求N!的结果。     PrivateSubCommand1_Click()     Dimn%,i%,s&     n=Val(InputBox("输入n"))     s=1     

2、Fori=1Ton     s=s*i     Nexti     Prints     EndSub     错误的写法:     PrivateSubCommand1_Click()     Dimn%,i%,s&     n=Val(InputBox("输入n"))     Fori=1Ton     s=1            ‘赋初值语句位置不对!     s=s*i     Nexti     Prints               ‘输出s的值为n,而不是n!     EndSub  

3、   应用举例    2根据下列公式,求自然对数e的的近似值。       要求:误差小于0.00001     PrivateSubCommand1_Click()     Dimi%,n&,t!,e!     e=2     i=1     t=1     DoWhilet>0.00001     i=i+1     t=t/i     e=e+t     Loop     Print"计算了";i;"项目和是:";e     PrintExp(1)                         

4、    ‘与上句输出值进行对比以证明算法的正确性     EndSub     解题技巧     1) 由于这类题目往往是根据精度要求来求值,因此我们不能预知具体循环次数,所以这类题目一般用Do循环,很少用For循环。设定循环变量和通项变量,注意各变量的初值;     2) 分解通项表达式中各因子,并分别将各因子用循环变量表示;     3)  如果步骤2中有的因子比较复杂,难以直接用变量表示,此时可以考虑使用Function过程;     4)  根据步骤1、2、3,写出通项表达式;     5)  

5、根据精度要求(往往是通项小于10负多少次方这样一个关系表达式),写出一条满足精度要求后跳出循环的语句。通常是用:if 通项表达式>10^(-N)thenexitdo,注意这句话一般需放在累加或者连乘式之前。     实例说明     以2002年春上机试卷06编程题为例     根据X值计算:       n=1,2,……     要求:n项绝对值小于等于10-6为止。     1、由于循环次数不确定,因此确定用Do循环结构并定义循环变量用n表示(初值1);用户输入的值用x表示;通项用dblCos表示;

6、累加值用sum表示,初值为0;     2、分解通项式的组成       可以分解为三部分:     可以表示为:(-1)^(n+1)     可以表示为:x^(2*(n-1))     比较复杂,难以直接表示     3、由于步骤2中复杂,此时考虑使用过程。     于是定义过程,输入值是n,返回值是     于是有:     privateFunctioncomp(naslong)aslong     dimIaslong     dimresultaslong     result=1   ‘此处

7、注意,由于是连乘,初值为1     forI=1to2*(n-1)     result=result*I     nextI     comp=result     EndFunction     注意:由于是参数按地址传递,因此对于本题,实参的值不能在过程中被改变!(也是改错题常考的地方!!)     4、根据步骤1、2、3,写出通项dblCos的表达式:     dblCos=(-1)^(n+1)*x^(2*(n-1))/comp(n)     5、根据精度要求知:     Ifabs(dblCo

8、s)<=10^(-6)thenexitdo     最后程序为:     PrivateSubCommand1_Click()     DimnAsLong,dblCosAsDouble,xAsDouble     x=Val(Text1.Text)     n=1     Do     dblCos=(-1)^(n+1)*x^(2*(n-1))/comp(n)     IfAbs(dblCos)<=10^(-6)ThenExitDo   

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。