计算机等级考试二级VB常用算法(1):累加
1.算法描述
累积形式:V=V+e
偶数乘法形式:V=V*e
其中:v为变量,e为递增表达式。累加和连续乘法一般通过循环结构来实现。
注意:在执行循环体之前,需要给变量V一个初始值。一般累加时初始值为0;乘法时,将初始值设置为1。
举个例子
求n!结果。
下面是引用的片段:
private子命令1 _ click ()
dim n%,i%,S &
n = Val(InputBox(" input n "))
S = 1
for I = 1 to n
S = S * I
next I
prints S[/br
拼写错误:
下面是引用的片段:
private子命令1 _ click ()
dim n%,i%,s &
n = Val(InputBox(" input n "))
for I = 1 to n
s =
s = s * I
next I
print s '输出s的值是n,而不是n!
结束Sub
应用程序示例
根据下式求自然对数e的近似值。
要求:误差小于0.00001
以下是加引号的片段:
private子命令1 _ click ()
dim I%,n & amp,t!,e!
E = 2
I = 1
T = 1
do while T > 0.00001
I = I+1
T = T/I
E = I;”项目总和为:“;E
printexp (1)'与前一句的输出值进行比较,以证明算法的正确性
End Sub
解决问题的技巧
1)由于这类题型往往是根据精度要求来评价的,我们无法预测具体的循环次数,所以这类题型一般用Do循环,很少用For循环。设置循环变量和一般变量,注意每个变量的初始值;
2)分解通项表达式中的各个因子,用循环变量分别表示各个因子;
3)如果步骤2中的某些因素比较复杂,难以用变量直接表示,此时可以考虑使用函数过程;
4)根据步骤1、2、3写出通项表达式;
5)根据精度要求(往往是一个关系表达式比如通项小于10负多少次),写出满足精度要求后跳出循环的语句。通常,如果一般术语表达式> 10 (-n),则使用exit do。注意,这句话通常需要放在累加或者连乘之前。
示例描述
以2002年春季06试卷编程题为例。
根据x值计算:
n=1,2,…
要求:n项的绝对值小于等于10-6。
1.因为循环数不确定,所以确定Do循环结构,定义循环变量为N(初始值1);用户输入的值用X表示;术语一般用dblCos表示;累加值用sum表示,初始值为0;
位律师回复
0条评论