《复习For循环语句.ppt》由会员分享,可在线阅读,更多相关《复习For循环语句.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、复习For循环语句,语句格式: for 循环变量=初值 to 终值 step 步长 循环体 next 循环变量 格式说明: 循环变量:被用作循环计数器的数值变量 初值、终值:都是数值型,可以是数值表达式 步长:是数值型,也可以是数值表达式。 循环体:在for和next之间的一条或多条语句,他们将被执行指定的次数。 Next后面的循环变量与for语句中的循环变量必须相同。,例题1:求s1+2+3+4.+n 变形:初值、Step循环变量增量 Dim i as integer,sum as integer n=text1.text sum = 0 For i = 1 To n step 1 sum
2、= sum + i Next i text2.text=sum,例题2:求s1*2*3*4.*n 变形:初值、Step循环变量增量 Dim i as integer,sum as integer n=text1.text sum = 1 For i = 1 To n step 1 sum = sum* i Next i text2.text=sum,二、DoLoop循环 For-Next循环的次数是确定的,但是有的问题只知道循环结束的条件,重复执行的次数事先并不知道,这是需要Do-Loop循环 格式一:Do While 条件 循环体 Loop,例2:,求1+1/2+1/3+1/n 当n值是多少
3、时,数列恰好大于2,Dim n as integer,s as single N=0 S=0 Do while s=2 n=n+1 s=s+1/n Loop Print n,S=1*2*3*n表达式不断的累乘,求使得s999时,并且让s累乘到最大,n的值是多少。并将n用文本框输出结果(提示用do while .loop语句实现)完成后保存为工程1.vbp,form1.frm,Private Sub Command1_Click() Dim sum As Single, n As Integer n = 1 循环变量初值 sum = 1 累乘和初值 Do While sum 999 n = n
4、+ 1 步长 sum = sum * I 累乘 Next i Text2.Text = n - 1 End Sub,循环的嵌套,通常,把循环体内不再包含其他循环的循环结构称为单层循环。在处理某些问题时,常常要在循环体内再进行循环操作,这种情况称为多重循环,又称为循环的嵌套。如二重循环、三重循环等。 多重循环的执行过程是:外层循环每执行一次,内层循环就要从头到尾执行一轮,窗体输出:对象名.Print 表达式列表 如果输出的内容是数、变量、表达式,则输出的是数、变量、表达式的值。如果是引号引起来的字符串,则原样输出。 (2)输出内容可以是一个或多个。如果是多个输出内容,则各输出内容之间可以用逗号(
5、,)或分号(;)分隔;如果用分号,则后面一个输出内容紧跟前一个输出;如果是逗号,则按照分区格式输出(一般空8个空格)。,dim i as integer,j as integer For i = 1 To 5 For j = 1 To 5 Print ; *; Next j Print Next i,打印矩形,dim i as integer,j as integer For i = 1 To 5 For j = 1 To i Print ; *; Next j Print Next i,直角三角形,修改等腰三角形代码,Private Sub Command1_Click() Dim i As
6、 Integer, j As Integer For i = 1 To 3 Print Tab(5 - i); For j = 1 To 2 * i - 1 Print *; Next j Next i End Sub,Print tab()语句对“*”的输出位置 进行定位并控制换行,修改菱形代码,Private Sub Command1_Click() Dim i As Integer, j As Integer For i = 1 To 3 Print Tab(5 - i); For j = 1 To 2 * i - 1 Print *; Next j Next i For i = 1 T
7、o 3 Print Tab(i + 1); For j = 1 To 7 - i * 2 Print *; Next j Next i End Sub,经典例题1,输入两个正整数,求它们的最大公约数并输出。,辗转相除法求两个数的最大公约数的步骤如下: 先用小的一个数除大的一个数,得第一个余数; 再用第一个余数除小的一个数,得第二个余数; 又用第二个余数除第一个余数,得第三个余数; 这样逐次用后一个数去除前一个余数,直到余数是0为止。那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。,例如求1515和600的最大公约数, 第一次:用600除1515,商2余3
8、15; 第二次:用315除600,商1余285; 第三次:用285除315,商1余30; 第四次:用30除285,商9余15; 第五次:用15除30,商2余0。 1515和600的最大公约数是15。,Private Sub Command1_Click() Dim a As Integer Dim b As Integer Dim r As Integer a = Val(Text1.Text) b = Val(Text2.Text) r = a Mod b Do While r 0 a = b b = r r = a Mod b Loop Text3.Text = Str(b) End Su
9、b,Textn.text是字符串类型 Val(表达式)将表达式转化为数值类型 Str(表达式)将表达式转化为字符串类型,经典例题2,求s=1-2+3-4+5.n的计算结果并输出,Dim i As Integer, sum As Single, n As Integer n = Text1.Text sum = 0 For i = 1 To n Step 1 If i Mod 2 = 0 Then sum = sum - i Else sum = sum + i End If Next i Text2.Text = sum,有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔,提示: 1、设i为鸡的数量,j为兔的数量 1=i=35 , 1j=23 ( 944=23) 2、i+j=35 i*2+j*4=94 以上两条件要同时满足即输出i,j 的值,Dim i As Integer, j As Integer For i = 1 To 35 For j = 1 To 23 If i + j = 35 And 2 * i + 4 * j = 94 Then Print i; j Exit For End If Next j,