用VB中的do while 循环结构编一个斐波那契数列的程序

用VB中的do while 循环结构编一个斐波那契数列的程序,第1张

在窗体上添加一个textBox,一个Command1控件,加入以下代码

Private Sub Command1_Click()

a = 0

b = 1

i = 2

Text1 = a & " " & b & " "

Do While (i <= 100)

a = a + b: b = a + b

Text1 = Text1 & a & " " & b & " "

i = i + 2

Loop

End Sub

Private Sub Form_Load()

Text1MultiLine = True

End Sub

虽然实现了100个斐波那契数列的输出,但是后面的数据已经变成了浮点数,需要精确数据的话就需要设置数组来计算了

若满意请及时采纳,谢谢

这个用循环语句计算比较方便,例如 do while 语句 ,do loop语句,for next 语句都可以

for next 语句举例:

Private Sub Command1_Click()

Dim i%, iSum

For i = 0 To 4 Step 2

iSum = i + iSum

DebugPrint i

DebugPrint

Next

DebugPrint iSum

End Sub

更多帮助请登录>

1、运行For语句和Do语句的循环语句的功能示范frm(注意步长为负时,如-1时For语句的运行情况讨论),掌握它们的功能;

2、例2:求S=1+1/2+1/3+…+1/n的循环结构程序如下:(演示:例2累加求和程序FRM,再一次说明为什么要用第二种Do循环语句)

S = 0

n = Val(Text1Text) (因为条件表达式是数值比较,所以要把Text1Text得到的

字符串数字转为数值类型,例如:”100”100)

Do While n < 1 Or n <> Fix(n) Fix(x)是取整函数;

n = InputBox("输入n不是自然数,请重新输入n=") ‘输入框:InputBox

Text1Text = n

n = Val(n) (因为条件表达式是数值比较,所以要把InputBox得到的

Loop 字符串数字转为数值类型,例如:”100”100)

For k = 1 To n

S = S + 1 / k 循环求S=1+1/2+1/3+…+1/n

Next k

Text2Text = S

3、两种循环结构语句的格式:

(1) For语句的一般格式: P79

For 循环变量=初值 To 终值 Step 步长

程序段

Next循环变量 (当循环变量没超出终值时,执行程序段)

(2) Do语句的常用格式: P80

Do While 条件表达式 (当条件成立时,进入循环,执行程序段)

程序段

Loop (负责回到条件表达式,判断是否成立?)

提问:程序段的结构是什么样的?

就是以前讲的程序有三种基本控制结构:顺序结构、(分支)选择结构、循环结构!

这三种基本控制结构通常会被组合起来使用,以表达各种较为复杂的问题的算法。例如:

在(分支)选择模式内嵌入(分支)选择模式;

在循环模式内嵌入循环模式;

在循环模式内嵌入在(分支)选择模式;在(分支)选择模式内嵌入循环模式;

因此,循环内的程序段可以再包含选择模式和循环模式,今天我们先来讨论:

循环内的程序段可以再包含循环模式——多重循环的使用!

如果一层循环内只包含一层循环,我们把它叫做双重循环,掌握了双重循环的用法,那么多重循环也就容易使用掌握了。

二、双重循环的使用:

1、一般结构:(以For语句为例)

For 循环变量A=初值 To 终值 Step 步长

For 循环变量B=初值 To 终值 Step 步长

程序段

Next循环变量B

Next循环变量A

2、双重循环执行实例:

双重循环是如何执行的呢?我们来看下面:

实例1:For i=1 To 3 Step 1

For j=1 To 5 Step 1

List1AddItem Str(i) + "" + Str(j) ‘复习列表框List1AddItem的作用,

Next j

Next i ‘运行、演示多重循环程序;

从实际演示可知:当i=1时,j=1、2、3、4、5;

当i=2时,j=1、2、3、4、5;

当i=3时,j=1、2、3、4、5;

规律总结:先外循环,后内循环,内循环完成后,再进入外循环;

实例2:打印(输出)用“”组成的图形;

右边程序中,只要改变a、b的值,便打印出用“”组成的各种图形;(演示…)

注意:Print ""; 后分号“;” 表示不换行,下次循环打印还在同一行上。用立即方式验证如下:

Print "3";"+" ;"9=";39

3+9= 27

提问:输出 39=27 的语句有几种写法?(用立即方式展示)

实例3:修改实例2,可得到一个九九乘法表,程序如下:

For i=1 To 9 Step 1

For j=i To 9 Step 1

Print Str(i) + "" + Str(j)+ "=";ij;

Nextj

Print ‘打印空行,起到换行的作用!

Next i

讲解上程序,演示九九乘法表程序;

注意:为了内、外循环程序结构层次清楚,上面程序的同一个循环语句For/Next上下对齐,而且内循环语句缩进2格书写;

1、循环内的程序段可以再包含循环模式,我们称为多重循环;

如果一层循环内只包含一层循环,我们把它叫做双重循环。

2、双重循环的运行是先外循环,后内循环,内循环完成后,再进入外循环;

(多重循环运行次序也一样类推,见课本P22-23(P96-97)的包装问题算法);

可以用循环来实现的,结合窗体的Controls属性,达到引用空间组的成员的目的

代码如下:

Private Sub command1_click()

Dim i As Long

For i = 1 To 10

MeControls("Label" & i)Caption = i

Next i

End Sub

用VB编写:循环语句的应用,计算1~100的偶数和,最简单的方法是采用计数循环来实现。

dim i as integer,s as integer

s=0

for i = 2 to 100 step 2

s = s + i

next i

print "Sum ="; s

Private Sub Command1_Click()

Static n As Long, valSum As Double

Select Case Command1Caption

  Case "计算"

    valSum = 0

    Dim i As Long

    n = InputBox("Pleace input integer n:", "InputBox", 10)

    Command1Caption = "显示"

    For i = 1 To n

      valSum = valSum + 1 / i

    Next i

  Case "显示"

    Label1Caption = "n=" + CStr(n)

    Text1Text = valSum

    Command1Caption = "计算"

  End Select

End Sub

Private Sub Form_Load()

Text1Enabled = False

Text1Text = ""

Command1Caption = "计算"

Command1FontBold = True

Command1FontSize = 22

Command1FontName = "宋体"

Text1FontName = "Times New Roman"

Text1FontBold = True

Text1FontSize = 22

End Sub

参考代码:

n = InputBox("输入n")

For i = 1 To n

    For j = 1 To i

        Sum = Sum + j

    Next

Next

MsgBox "s=" & Sum

例如要循环d窗18次:

for i = 1 to 18

    msgbox "d窗文字"

next

如此for就是一个循环结构。i会从1增加到18,每次自增1。

也可以双重循环甚至N重。例如如下为双重:

for i = 1 to 6

    for j = 1 to 3

        msgbox "d窗文字"

    next

next

i循环了6次,j在每次i的循环里循环3次,一样是18次。

以上就是关于用VB中的do while 循环结构编一个斐波那契数列的程序全部的内容,包括:用VB中的do while 循环结构编一个斐波那契数列的程序、大一VB 使用循环结构编写程序,求2+4+6+8+到100、vb里面那几个表示循环的函数怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9846567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存