《VB程序设计》之循环结构讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.下段程序执行的输出结果是
Dim t, u, i, j As Integer t=0:u=0 For i = 1 To 3 For j = 1 To i t=t+1 Next j u=u+1 Next i MsgBox(Str(t) & " " & Str(u))

4.下段程序执行的输出结果是 Dim k, n, m As Integer n = 10 m=1 k=1 Do While k <= n m=m+2 k=k+1 Loop MsgBox(m)
输出3~300之间所有素数
For n = 3 To 300 ‘判断n是否是素数,若是则输出 Next n
For n = 3 To 300 flag = True For i = 2 To n – 1 If n Mod i = 0 Then flag = False Next i If flag Then Label1.Text = n & “是素数“ Else Label1.Text = n & “不是素数“ End If Next n
1.下列程序段的循环结构执行过程中共循环了几 次。 Dim i%, y% For i = 1 To 10 Step 2 y=y+i Next i
2. 写出
Dim i, c As Integer
c=0 For i = -12 To -33 Step -4 c=c+1 Next i 所进行的循环后,i 的值是 。

s
= s + item 计算item 为下一项 item 做准备

用变量 f 表示符号 -1,1,-1,1,……

初值为 -1, 计算下次循环的值 f = - f 初值为 x, 计算下次循环的值 t2 = t2 * x * x 初值为 1, 计算下次循环的值 t2 = t2 +2

用变量 t1 表示 x,x3,x5,x7,……
Dim i, n, k, t1, f As Integer Dim x, s, item, t2, t3 As Double x = Val(InputBox("x")) : n = Val(InputBox("n")) s=1 f = -1 : t1 = 2 : t2 = x * x * x : k = 3 : t3 = 1 * 2 * 3 For i = 2 To n item = f * t1 * t2 / t3 s = s + item f = -f : t1 = t1 + 2 : t2 = t2 * x * x k = k + 2 : t3 = t3 * (k - 1) * k Next MsgBox(Format(s, "0.000000"))
Dim n,i As Integer, flag As Boolean For n = 3 To 300 flag = True For i = 2 To n – 1 If n Mod i = 0 Then flag = False Next i If flag Then TextBox1.Text &= n & vbTab End If Next n

Dim i, s As Integer s=1 For i = 9 To 1 Step -1 s = (s + 1) * 2 Next MsgBox(s)
6. 小英家的门牌号码是一个三位数,其特点是, 末位数字比首位数字大,而首位数字又比中间数 字大,且各位数字相加之和等于各位数字相乘之 积。请编程找出这个门牌号码。
6. 小英家的门牌号码是一个三位数,其特点是,末位数字 比首位数字大,而首位数字又比中间数字大,且各位数字相 加之和等于各位数字相乘之积。请编程找出这个门牌号码。
Dim num, a, b, c As Integer For num = 100 To 999 a = num \ 100 b = num \ 10 - a * 10 c = num Mod 10 If c > a And a > b And a + b + c = a * b * c Then Label1.Text = "小英家的门牌号是:" & num End If Next num
任何一个整数整除,则将flag设为False。
在循环之后判别flag的值是否是True,若是,说
明没有被2~n-1中任何一个整数整除,就是素数。
Dim n, i As Integer, flag As Boolean N=inputbox(“n:”) flag = True For i = 2 To n – 1 If n Mod i = 0 Then flag = False Next i If flag Then Label1.Text = n & “是素数“ Else Label1.Text = n & “不是素数“ End If
计算item
s
= s + item 为下一项 item 做准备

用变量 f 表示符号 -1,1,-1,1,……

初值为 -1 , 计算下次循环的值 f = - f 初值为 2 , 计算下次循环的值 t1=t1+2 初值为 x3 , 计算下次循环的值 t2 = t2 * x * x

用变量 t1 表示 2,4,6,……
10. 计算下列公式的近似值。(0<X<1,X由键盘输入)
S 1X X3
3
X5
5

X7
7
......
当某项的绝对值小于0.0001时,该项及以后各项不再累加。 这时就完成了S的计算。
循环初始条件 s = 0 : item = 1 以及 为计算第2项 item 准备 如何构成循环? Do While Math.Abs(item)>=0.0001 …… Loop 循环中反复做的是什么?
9. 计算
wenku.baidu.com
2x3 4x5 6x7 s 1 ...... 3! 5! 7!
要求:1)使用InputBox()函数输入x和项数n。 2)输出前n项的计算结果。 循环初始条件 s = 1 以及 为计算第2项 item 准备 如何构成循环? For i = 2 To n …… Next i 循环中反复做的是什么?
7. 求出所有水仙花数的程序(如果一个三位整数等于 其各位数字的立方和,则该数为水仙花数。例如,371 是水仙花数,因为371=33+73+13)。 主要解决的问题: 哪些数是三位数? 已知 num 是一个三位数,请写出它的三位数字相应 的表达式 程序代码???
Dim num, a, b, c As Integer For num = 100 To 999 a = num \ 100 b = num \ 10 - a * 10 c = num Mod 10 If num = a ^ 3 + b ^ 3 + c ^ 3 Then TextBox1.Text &= num & vbTab End If Next num
《VB程序设计》主题讲座
主题:循环结构
程序设计的三种基本结构
顺序结构 选择结构 循环结构

循环结构

计数型循环For…Next

知道循环次数

条件型循环Do…Loop

只知道循环条件,不知道循环次数
知己知彼,才能百战百胜
1. 2. 3. 4.
设置断点 选择【调试】→【窗口】 → 【自动窗口】 选择【调试】→【逐语句】或按F8 观察每一次自动窗口中的变化


用变量 t2 表示 x3,x5,x7,……


用变量 k 表示 3,5,7,……

初值为 3 , 计算下次循环的值 k = k + 2
初值为 3!, 计算下次循环的值 t3 = t3 * (k-1) * k

用变量 t3 表示 3!,5!,7!,……

item = f * t1 * t2 / t3


用变量 t2 表示 1,3,5,7,……

item = f * t1 / t2
Dim i, t2, f As Integer Dim x, s, item, t1 As Double x = Val(InputBox("x")) s = 0 : item = 1 f = -1 : t1 = x : t2 = 1 Do While Math.Abs(item) >= 0.0001 s = s + item item = f * t1 / t2 f = -f : t1 = t1 * x * x t2 = t2 + 2 Loop MsgBox(Format(s, "0.000000"))

5. 猴子摘了一堆桃子,第一天吃了一半,还嫌不过瘾 ,又吃了一个。第二天又将剩下的桃子中吃了一半零 一个。以后每天如此。到第十天清早,只剩下一只了 。问最初有多少只桃子。
循环初始条件 桃子数 s = 1 如何构成循环? For i = 9 To 1 Step -1 …… Next i 循环中反复做的是什么? s = (s + 1) * 2
8. 输入一个数,判断它是否是素数

定义:所谓素数是指只能被1和本身整除的正整数。
如何判断某一个数n是否为素数:
只需用2~n-1之间的数去除就可以了。为了提高效
率可以将2~n-1改为2~n/2,或2~Int(Sqrt(n))

如何判断n不能被2~n-1之间的数整除:
对于某一个数n,设置变量flag的初值为True; (循环)用2~n-1之间的数去除,如果n能被其中
主要解决的问题: 哪些数是三位数?100~999 For num = 100 To 999 …… Next num 已知 num 是一个三位数,请写出它的三位数字相应 的表达式 百位 a = num \ 100 十位 b = num \10 – a * 10 个位 c = num mod 10
相关文档
最新文档