《《VB程序设计》之循环结构讲解.ppt》由会员分享,可在线阅读,更多相关《《VB程序设计》之循环结构讲解.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、VB程序设计程序设计主题讲座主题讲座主题:循环结构主题:循环结构程序设计的三种基本结构顺序结构选择结构循环结构循环结构计数型循环ForNext知道循环次数条件型循环DoLoop只知道循环条件,不知道循环次数知己知彼,才能百战百胜1.设置断点2.选择【调试】【窗口】【自动窗口】3.选择【调试】【逐语句】或按F84.观察每一次自动窗口中的变化1下列程序段的循环结构执行过程中共循环了几 次。Dim i%,y%For i=1 To 10 Step 2 y=y+i Next i2.写出Dim i,c As Integerc=0For i=-12 To-33 Step-4 c=c+1Next i所进行的循
2、环后,i 的值是 。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 a And a b And a+b+c=a*b*c Then Label1.Text=小英家的门牌号是:&num End If Next num7.求出所有水仙花数的程序(如果一个三位整数等于其各位数字的立方和,则该数为水仙
3、花数。例如,371是水仙花数,因为37133+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 num8.输入一个数,判断它是否是素数定义:所谓素数是指只能被1和本身整除的正整数。如何判断某一个数n是否为素数:只需用2n-1之间的数去除就可以了。为了为
4、了提高效提高效率率可以可以将将2n-12n-1改为改为2 2n/2n/2,或或2Int(Sqrt(n)2Int(Sqrt(n)如何判断n不能被2n-1之间的数整除:对于某一个数n,设置变量flag的初值为True;(循环)用2n-1之间的数去除,如果n能被其中任何一个整数整除,则将flag设为False。在循环之后判别flag的值是否是True,若是,说明没有被2n-1中任何一个整数整除,就是素数。Dim n,i As Integer,flag As BooleanN=inputbox(“n:”)flag=TrueFor i=2 To n 1 If n Mod i=0 Then flag=Fa
5、lseNext iIf flag Then Label1.Text=n&“是素数“Else Label1.Text=n&“不是素数“End If输出3300之间所有素数For n=3 To 300 判断n是否是素数,若是则输出Next nFor n=3 To 300flag=TrueFor i=2 To n 1 If n Mod i=0 Then flag=FalseNext iIf flag Then Label1.Text=n&“是素数“Else Label1.Text=n&“不是素数“End IfNext nDim n,i As Integer,flag As BooleanFor n=
6、3 To 300 flag=TrueFor i=2 To n 1 If n Mod i=0 Then flag=FalseNext iIf flag Then TextBox1.Text&=n&vbTabEnd IfNext n9.计算 要求:1)使用InputBox()函数输入x和项数n。2)输出前n项的计算结果。循环初始条件s=1 以及 为计算第2项 item 准备如何构成循环?For i=2 To n Next i循环中反复做的是什么?计算items=s+item为下一项 item 做准备用变量 f 表示符号-1,1,-1,1,初值为-1,计算下次循环的值 f=-f用变量 t1 表示 2
7、,4,6,初值为 2,计算下次循环的值 t1=t1+2用变量 t2 表示 x3,x5,x7,初值为 x3,计算下次循环的值 t2=t2*x*x用变量 k 表示 3,5,7,初值为 3,计算下次循环的值 k=k+2用变量 t3 表示 3!,5!,7!,初值为 3!,计算下次循环的值 t3=t3*(k-1)*kitem=f*t1*t2/t3 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
8、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)10.计算下列公式的近似值。(0X=0.0001 Loop循环中反复做的是什么?s=s+item计算item为下一项 item 做准备用变量 f 表示符号-1,1,-1,1,初值为-1,计算下次循环的值 f=-f用变量 t1 表示 x,x3,x5,x7,初值为 x,计算下次循环的值 t2=t2*x*x用变量 t2 表示 1,3,5,7,初值为 1,计算下次循环的值 t2=t2+2item=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)