浙江高中信息技术选考加试题迭代算法

命题:杜宗飞

迭代算法专题练习

行政班: 教学班: 姓名: 学号:

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,每一次迭代得到的结果会作为下一次迭代的初始值。

一、已知数列的首项和递推公式:A 1=1,An=2An-1+1,求A 10的值。设计一个程序,在文本框Text1中显示A 10的值。解决该问题的程序设计如下: 方法一:数组法

Dim a(1 To 10) As Long a(1) = 1

For i = 2 To 10

Next i

Text1.Text =

方法二:迭代法 Dim a As Long a = 1

For i = 2 To 10

Next i

Text1.Text = Str(a)

二、斐波纳契数列:0、1、1、2、3、5、8、13、21、34、……递推公式:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n ≥2,n ∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。设计一个程序,在文本框Text1中显示F 10的值。解决该问题的程序设计如下:

方法一:数组法 f(0) = 0: f(1) = 1 For i = 2 To 10

Next i

Text1.Text = Str(f(10))

方法二:迭代法

Dim f1 As Long, f2 As Long, f3 As Long f1 = 0: f2 = 1 For i = 2 To 10 f3 = f2 + f1 Next i

Text1.Text = Str(f3)

三、利用牛顿迭代法,可以求解正实数a

的算术平方根。已知求解正实数a 的算术平方根牛顿迭代公式:x n+1=(xn +a/xn )/2,设初值x=a/2。迭代次数越多,求得的根越精确。编写程序输入a 值计算其平方根。

Private Sub Command1_Click() Dim a As Double, x As Double Dim n As Integer n = Val(Text2.Text) x = a / 2

For i = 1 To n

Next i

Text3.Text = Str(x) End Sub 四、欧几里德算法数学史非常著名的算法又称辗转相除法,用于计算两个正整数a ,b


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn