VB常用算法(一)累加和连乘

VB常用算法(一)累加和连乘,第1张

VB常用算法(一)累加和连乘,第2张

1.算法描述

累积形式:V=V+e

偶数乘法形式:V=V*e

其中:v为变量,e为递增表达式。累加和连续乘法一般通过循环结构来实现。

注意:在执行循环体之前,需要给变量V一个初始值。一般累加时初始值为0;乘法时,将初始值设置为1。

举个例子

求n!结果。

私有子命令1_Click()

Dim n%,i%,s&

N = Val(InputBox ("input n "))

s = 1

对于i = 1至n

s = s * i

接下来我

打印s

末端接头

错误的写法:

私有子命令1_Click()

Dim n%,i%,s&

N = Val(InputBox ("input n "))

对于i = 1至n

S = 1 '初值语句位置错误!

s = s * i

接下来我

“Print”将s的值输出为n,而不是n!

末端接头

应用示例

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

要求:误差小于0.00001

私有子命令1_Click()

Dim i%,n & t!,e!

e = 2

i = 1

t = 1

当t > 0.00001时执行

i = i + 1

t = t / i

e = e + t

打印“已计算”;我;”项目总和为:“;e

将Print exp (1)'与上一句的输出值进行比较,证明算法的正确性。

末端接头

解决问题的技巧

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;

2.分解通式的组成

它可以分为三个部分:

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

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

很复杂,很难直接表达。

3.由于步骤2中的复杂性,此时考虑使用过程。

所以定义流程,输入值是N,返回值是

所以有:

私有函数comp(n倍长)倍长

暗淡我一样长

长时间模糊结果

Result = 1 '这里注意初始值是1,因为是连续乘法。

对于I=1到2*(n-1)

结果=结果*I

接下来我

comp =结果

结束功能

注意:由于参数是通过地址传递的,所以在这个问题的过程中,参数的值是不能改变的!(也是经常改错的地方!!)

4.根据步骤1、2和3,写出通用术语dblCos的表达式

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VB常用算法(一)累加和连乘

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情