《VB编程循环结构-ppt课件.ppt》由会员分享,可在线阅读,更多相关《VB编程循环结构-ppt课件.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、VB程序设计循环结构名茂院1 1学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益循环结构程序设计循环结构程序设计本章要点本章要点:While.Wend循环循环For.Next循环循环Do.Loop循环循环特点特点:重复重复相同或相似的操作步骤相同或相似的操作步骤结构结构:循环体循环体要重复执行的语句序列。要重复执行的语句序列。循环控制部分循环控制部分规定循环的重复条件或重复次数,确规定循环的重复条件或重复次数,确定循环范围的语句定循环范围的语句VB程序设计循环结构名茂院2 2学为了规范事业单位聘用关系,建立和完善适应社会主义
2、市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益语句块语句块T循环条件循环条件 While 循环条件循环条件 语句块语句块 Wend当循环格式:当循环格式:当循环格式:当循环格式:执行过程执行过程:(1)判断循环条件是否判断循环条件是否为真为真 (2)若是若是,执行循环体(语句块)执行循环体(语句块)(3)然后返回然后返回While语句语句 再次判断循环条件是否再次判断循环条件是否为真为真 (4)重复重复13步骤。步骤。(5)否则,结束循环否则,结束循环1 While循环结构循环结构(循环次数未知循环次数未知)FVB程序设计循环结构名茂院3 3学为了规范事业单位聘用关系,建
3、立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益累加分析累加分析:累加器累加器(变量变量)初值初值 Sum=0 循环体循环体(重复执行重复执行)Sum=Sum+i(i=1,2,N)【例【例1】求求1+2+3+4+N Text1 Label3VB程序设计循环结构名茂院4 4学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益Private Sub Command1_Click()N=Val(Text1.Text):Sum=0 i=1 While i=100 Sum=Sum+i i=i+1We
4、nd Label3.Caption=SumEnd Sub循环初值循环初值循环条件循环条件循环终值循环终值循环体循环体循环变量增值循环变量增值VB程序设计循环结构名茂院5 5学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益v特点特点:先判断表达式,后执行循环体先判断表达式,后执行循环体v说明说明:l循环体有可能一次也不执行循环体有可能一次也不执行l循环体可为任意类型语句循环体可为任意类型语句l退出退出while循环循环u条件表达式不成立,值为条件表达式不成立,值为.F.l无限循环无限循环:While(.T.)循环体循环体 We
5、ndVB程序设计循环结构名茂院6 6学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益【例【例2】显示显示110的平方的平方 Private Sub Form_Click()k=1 While k=10Print str(k)+”*”+str(k)+”=“+str(k*k)k=k+1WendEnd Sub运行结果:运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100VB程序设计循环结构名茂院7 7学为了规范事业单位聘用关系,建立和完善适应社会主义市场
6、经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2 For循环结构循环结构(循环次数为已知循环次数为已知)1.格式格式(For循环语句循环语句)For=To Step Exit For Next 循循环环体体VB程序设计循环结构名茂院8 8学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.功能功能:执行过程如流程图所示执行过程如流程图所示例例:求求11000的和的和,但当但当和超过和超过3000时停止。时停止。s=0For k=1 to 1000 s=s+k if s3000 then Exit For E
7、nd ifNexta=0NextNext循环变量循环变量=循环变量循环变量+步长步长k=k+1k=k+1语句块语句块FExit ForExit For语句块语句块T循环变量循环变量=终值终值K=10K 0,初值,初值 终值(终值(=1 时时,可省略)可省略)终值终值=0 ,死循环,死循环(4)循环次数循环次数=Max Int(终值终值-初值初值)/步长步长+1),0 (5)Exit For退出循环,常放在条件语句中退出循环,常放在条件语句中,又称又称 “非非正常出口正常出口”(6)Next之后的循环变量应与之后的循环变量应与For语句中的循环变量应一致,语句中的循环变量应一致,也可以省略也可以
8、省略a=0For k=1 to 10 a=a+kNextVB程序设计循环结构名茂院10 10学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益累加分析累加分析:已知量:累加器已知量:累加器(变量变量)初值初值 Sum=0 N(输入)(输入)初值、终值和增量初值、终值和增量:1、N、1 重复执行重复执行(循环体循环体)Sum=Sum+i(i=1,2,N)Private Sub Command1_Click()Dim N%,i As Integer,Sum%N=Val(Text1.Text)Sum=0 For i=1 To N S
9、um=Sum+i Next i Label3.Caption=SumEnd SubText1 Label3【例【例1】求求1+2+3+4+N 初值与终值换位初值与终值换位 可以吗?可以吗?循环体的执行次数是多少循环体的执行次数是多少?i=1执行多少次?执行多少次?i=N执行多少次?执行多少次?最后最后 i 的值是多少的值是多少?VB程序设计循环结构名茂院11 11学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益 i=1 While i=100 Sum=Sum+i i=i+1WendFor i=1 To N Sum=Sum+i
10、 Next 与前面所学与前面所学While 循环的不同循环的不同Private Sub Command1_Click()End SubN=Val(Text1.Text)Sum=0 Label3.Caption=SumVB程序设计循环结构名茂院12 12学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益 【例【例2】求求 N!(N!=123N)累乘分析累乘分析:初始化初始化:F=i 循环体循环体:F=F i (i=1,2,3N)程序程序:Private Sub Command1_Click()Dim N%,i As Intege
11、r,F!F AS Long N=Val(Text1.Text)F=1 For i=1 To N F=F*i Next i label3.caption=F End Sub label3text1VB程序设计循环结构名茂院13 13学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益【例【例3】从键盘输入从键盘输入10个数,输出其中的最大值与最小值。个数,输出其中的最大值与最小值。Private Sub Command1_Click()N=Val(inputbox(“请输入一个数:请输入一个数:”)max=N :min=NFor
12、i=1 to 9N=Val(inputbox(“请输入一个数:请输入一个数:”)if maxN then min=NNextPrint max ,minEnd SubVB程序设计循环结构名茂院14 14学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益例例:判断以下程序段的执行结果判断以下程序段的执行结果:For i=5 To 1 Step-1 Print i*i;Next i Print Print i例例:判断以下程序段的执行结果判断以下程序段的执行结果 X=6 For K=1 To 10 Step-2 X=X+K Nex
13、t K Print K,X将将初值初值赋给循环变量赋给循环变量判断判断循环变量是否超过循环变量是否超过终值终值修改修改循环变量,循环变量,继续判断继续判断循循环变量是否大于环变量是否大于终值终值VB程序设计循环结构名茂院15 15学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益思考思考1:1.求求13 5 7(共共N项项)。F=F*(2*I-1);循环变量;循环变量I,循环终值,循环终值N2.求求:3.求求:F=F*4*I*I/(2*I-1)/(2*I+1);循环变量;循环变量I,循环终值,循环终值KVB程序设计循环结构名茂
14、院16 16学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益思考思考2:1.求求12+22+32+42+10022.求求13+33+53+n33.求求1-3+5-7+(-1)n+1(2n-1)1.Sum=Sum+I*I;3.Sum=Sum+(-1)(I+1)*(2*I-1);4.求求5.求求4.Sum=Sum+(-1)(I+1)/(2*I-1);I=2,VB程序设计循环结构名茂院17 17学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益要注意:要注意:v
15、出了循环,循环控制变量值的问题。出了循环,循环控制变量值的问题。例程序段例程序段:For i=2 To 13 Step 3 Print i,Next iPrint“i=“,i 循环执行次数循环执行次数输出输出 i的值分别为的值分别为:2 5 8 11出了循环输出为出了循环输出为:i=14i=2i13执行循环体执行循环体(Print i)i=i+3后续语句后续语句 Print“i=“,iyesnoVB程序设计循环结构名茂院18 18学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益例例 改变循环控制变量对循环的影响。改变循环控制
16、变量对循环的影响。Private Sub Command1_Click()j=0 For i=1 To 20 Step 2 i=i+3 j=j+1 Print 第第;j;次循环次循环i=;i Next i Print 退出循环后退出循环后i=;i End Sub正常情况:正常情况:i=1,3,5,7,9,11,13,15,17,19现在:现在:i=4,9,14,19v 在循环体内对循环控制变量可多次引用;但最好不要在循环体内对循环控制变量可多次引用;但最好不要对其赋值,否则影响原来的循环控制规律。对其赋值,否则影响原来的循环控制规律。VB程序设计循环结构名茂院19 19学为了规范事业单位聘用关
17、系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益应用举例:应用举例:应用举例:应用举例:1:用:用For循环编程循环编程5+5+.+5(20个个5之和之和)2:用:用For循环编程计算循环编程计算s=1+2+3+1003:用:用For循环编程同行输出循环编程同行输出10个个“*”4:用:用For循环编程输出循环编程输出10行行“*”VB程序设计循环结构名茂院2020学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益【例【例3】打印斐波那契打印斐波那契(Fibonacci)数列的前数
18、列的前20项项 斐波那契数列如下斐波那契数列如下:0,1,1,2,3,5,8,13,分析分析:即从第三项起每一项是其前两项之和。即从第三项起每一项是其前两项之和。VB程序设计循环结构名茂院21 21学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益斐波那契数列斐波那契数列:0,1,1,2,3,5,8,13,即满足递推关系即满足递推关系 Fn=Fn-1+Fn-2,(n1)F0=0,F1=1算法:算法:已知已知F0=0:F1=1F2=F1+F0F3=F2+F1F4=F3+F2F5=F4+F3已知已知F0=0:F1=1F0=F1+F
19、0F1=F0+F1F0=F1+F0F1=F0+F1VB程序设计循环结构名茂院2222学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益打印斐波那契打印斐波那契(Fibonacci)数列的前数列的前20项项 斐波那契数列如下斐波那契数列如下:0,1,1,2,3,5,8,13,即从第三项起每一项是其前两项之和。即从第三项起每一项是其前两项之和。分析分析:Private Sub Form_Click()F0=0:F1=1 Print F0 ,F1For i=1 To 9 F0=F0+F1 F1=F1+F0 Print F0,F1Ne
20、xtEnd SubVB程序设计循环结构名茂院2323学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益*遍历法遍历法Cleara=Val(inputbox(“请输入一自然数请输入一自然数:”)For i=2 to a-1 iF a mod i=0then Exit For EndifNextiF ia-1 then Print a,”是素数。是素数。”Endif【例例4】判断一自然数其是否为素数。判断一自然数其是否为素数。正常出口正常出口ia-1 素数素数非非正正常常出出口口i=a-1 不是素数不是素数VB程序设计循环结构名茂
21、院2424学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益思考思考:1.在窗体上打印在窗体上打印1、3、5、7、9、N。2.在窗体上显示在窗体上显示1到到500之间所有能被之间所有能被3整除的数,每行整除的数,每行10个数。个数。j=0For i=3 To 500 If(i Mod 3=0)Then Print i;j=j+1 If j=10 Then j=0:Print End IfNext i3.在带水平滚动条文本框中显示在带水平滚动条文本框中显示1到指定到指定N之间所有能被之间所有能被3和和7同时整除的数。同时整除的数
22、。For i=21 to n step 1?(If(i mod 21=0)print i;)及显示前边的内容及显示前边的内容VB程序设计循环结构名茂院2525学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益问题问题:求求12+22+32+42+小于某数小于某数N的最大值,的最大值,N由用户由用户 指定。指定。特点特点:已知循环条件、未知循环次数,用已知循环条件、未知循环次数,用Do Loop循环循环 结构实现结构实现 3 DoLoop循环结构循环结构(循环次数未知循环次数未知)VB程序设计循环结构名茂院2626学为了规范事业
23、单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益1.格式格式格式一格式一:Do While Exit Do Loop格式二格式二:Do Until Exit Do Loop格式三格式三:Do Exit Do Loop While 格式四格式四:Do Exit Do Loop UntilVB程序设计循环结构名茂院2727学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.功能功能 使用使用While:条件为条件为True时,执行循环体时,执行循环体 条件为条件为False
24、时,退出循环时,退出循环 使用使用Until:条件为条件为False时,执行循环体时,执行循环体 条件为条件为True时,退出循环时,退出循环 格式一、二格式一、二:在循环起始处判断条件在循环起始处判断条件,为当型循环为当型循环 格式三、四格式三、四:在循环终止处判断条件在循环终止处判断条件,为直到型循环为直到型循环VB程序设计循环结构名茂院2828学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益格式一格式一:Do While Exit Do Loop格式二格式二:Do Until Exit Do LoopVB程序设计循环结
25、构名茂院2929学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益格式三格式三:Do Exit Do Loop While 格式四格式四:Do Exit Do Loop UntilVB程序设计循环结构名茂院3030学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.说明说明(1)Exit Do语句用于退出循环体语句用于退出循环体(即非正常出口即非正常出口)(2)也可以在也可以在Do语句和语句和Loop语句之后都没有条件语句之后都没有条件,这时在循环这时在循环
26、体内必须有强行退出循环的语句如体内必须有强行退出循环的语句如:Goto语句语句(3)多数情况下,当型循环和直到型循环可互相代替多数情况下,当型循环和直到型循环可互相代替【例【例4】求】求12+22+32+42+小于某数小于某数N的最大值,的最大值,N由用户指由用户指定。设计界面定。设计界面:Text1Text2Command1VB程序设计循环结构名茂院31 31学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益 Private Sub Command1_Click()Dim n&,S&n As Long,S As Long N
27、=Val(Text1.Text)i=0 S=0 Do While S=N(格式二格式二)While S=N(格式四格式四)VB程序设计循环结构名茂院3232学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益Do Until S=N I=I+1 S=S+I*I LoopPrivate Sub Command1_Click()Dim N As Long,S As Long N=Val(Text1.Text)i=0 S=0 Do While S N i=i+1 S=S+i*i Loop Text2.Text=S i*iEnd Sub
28、【例【例4】求求12+22+32+小于某数小于某数N的最大值,的最大值,N由用户指定由用户指定Text1Text2Command1求求12+22+32+42+大于或等于某数大于或等于某数N的最小值的最小值注意:两种格式中注意:两种格式中条件是互斥的条件是互斥的VB程序设计循环结构名茂院3333学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益【例【例5】求求直至最后一项的值直至最后一项的值10-4为止。为止。分析分析:用用N表示表示1、3、5 用用T表示每一项的值表示每一项的值,则则T=1/N2 用用Sum表示累加之和表示累加
29、之和 循环初始条件循环初始条件:N=1,Sum=0 循环终止条件循环终止条件:T=0.0001VB程序设计循环结构名茂院3434学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益Private Sub Form_Click()N=1:Sum=0 Do T=1/(N*N)Sum=Sum+T N=N+2 Loop Until T n;(2)被除数被除数 m除以除数除以除数n 得余数得余数 r;(3)若若r=0,则则 n 为最大公约数结束为最大公约数结束;否则执行;否则执行(4);(4)m n,n=r,再重复执行再重复执行(2)。最
30、小公倍数为两个最小公倍数为两个数的积除以它们的数的积除以它们的最大公约数最大公约数设计界面如右图所示设计界面如右图所示:Tt1Tt2Lab3Lab4VB程序设计循环结构名茂院3636学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益Dim a As Integer,b%,m%,n%,r%Private Sub Command1_Click()m=Val(Tt1.Text):N=Val(Tt2.Text)IF m n a=m:b=n r=m Mod n 被除数被除数 m除以除数除以除数n 得余数得余数 r Do While r
31、0 m=n n=r r=m Mod n Loop Lab3.Caption=N 最大公约数最大公约数N End SubPrivate Sub Command2_Click()Lab4.Caption=a*b/n 最小公倍数最小公倍数End Sub m n r14 6 2 6 2 0VB程序设计循环结构名茂院3737学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益?【例例7】给一个整数给一个整数n(n=3),判断它是否是素数判断它是否是素数 分析分析:将数将数N 被被2 SQR(N)间全部整数除,如果间全部整数除,如果都除不尽
32、,则都除不尽,则N是素数是素数;否则否则N不是素数。不是素数。设设标志变量标志变量Flag,只要有一个被整除,就置为只要有一个被整除,就置为1。VB程序设计循环结构名茂院3838学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益Private Sub Command1_Click()N=Val(Text1.Text):K=Int(Sqr(N):I=2 Flag=0 设标志变量设标志变量Flag 只要有一个被整除就置为只要有一个被整除就置为1 Do While I=K And Flag=0 If N Mod I=0 Then F
33、lag=1 Else I=I+1 Loop If Flag=0 Then Label1.Caption=是素数是素数 Else Label1.Caption=不是素数不是素数 End IfEnd SubVB程序设计循环结构名茂院3939学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益 含义:一个循环体内又包含了一个完整的循环结构。含义:一个循环体内又包含了一个完整的循环结构。例例打印九九乘法表打印九九乘法表(两重循环两重循环).4 循环的嵌套循环的嵌套VB程序设计循环结构名茂院4040学为了规范事业单位聘用关系,建立和完善适
34、应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益 例例打印九九乘法表打印九九乘法表(两重循环两重循环).For i=1 To 9 行行 For j=1 To 9 列列 se=i&j&=&i*j Print se;Next j Print Next i思考:打印下三角或上三角程序如何改动?思考:打印下三角或上三角程序如何改动?For j =1 To iVB程序设计循环结构名茂院41 41学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益对于循环的嵌套,要注意以下事项:对于循环的嵌套,要注意以下事项:
35、内循环变量与外循环变量不能同名;内循环变量与外循环变量不能同名;外循环必须完全包含内循环,不能交叉;外循环必须完全包含内循环,不能交叉;不能从循环体外转向循环体内,反之则可以。不能从循环体外转向循环体内,反之则可以。正确正确 错误错误 For ii=1 To 10 For jj=1 To 20 Next ii Next jj For ii=1 To 10 For ii=1 To 20 Next ii Next ii For ii=1 To 10 For jj=1 To 20 Next jj Next ii For ii=1 To 10 Next ii For ii=1 To 10 Next i
36、i VB程序设计循环结构名茂院4242学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益FOR循环有一个公共端点循环有一个公共端点,可使用一个可使用一个NEXT语句,循环变语句,循环变量按从内到外排列量按从内到外排列For I=1 To 3 For J=5 To 7 Print I,JNext J,IFor I=1 To 3 For J=5 To 7 Print I,J Next JNext I例例:n不能从循环体外转向循环体内,反之则可以。任何一层循不能从循环体外转向循环体内,反之则可以。任何一层循环都可以用环都可以用Exi
37、t Do或或Exit For 退出本层的循环。退出本层的循环。VB程序设计循环结构名茂院4343学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益【例【例8】求求1+(1+2)+(1+2+3)+(1+2+3+n),n由用户输入。由用户输入。分析分析:Private Sub Form_Click()N=Val(Text1.Text)Sum=0 For I=1 To N Sum1=0 For J=1 To I Sum1=Sum1+J 计算计算(1+2+3+i)Next J Sum=Sum+Sum1 计算总和计算总和 Next I
38、Text2.Text=SumEnd Sub思考思考:1!+2!+N!VB程序设计循环结构名茂院4444学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益【例【例9】“百鸡问题百鸡问题”:公鸡:公鸡5个钱一只,母鸡三个钱一只、小个钱一只,母鸡三个钱一只、小鸡一个钱三只,要用鸡一个钱三只,要用100个钱买个钱买100只鸡,问公鸡、母鸡、和只鸡,问公鸡、母鸡、和小鸡各买几只?小鸡各买几只?分析分析:设公鸡、母鸡、小鸡各为设公鸡、母鸡、小鸡各为x、y、z只,列方程:只,列方程:x+y+z=100 5x+3y+z/3=100三个未知数,
39、两个方程,有若干个解。解决此类问题采用三个未知数,两个方程,有若干个解。解决此类问题采用“穷穷举法举法”也称为也称为“枚举法枚举法”或或“试凑法试凑法”,把每一种情况都考虑,把每一种情况都考虑到。到。方法一方法一:最简单三个未知数利用三重循环来实现。最简单三个未知数利用三重循环来实现。方法二方法二:从三个未知数的关系,利用两重循环来实现。从三个未知数的关系,利用两重循环来实现。VB程序设计循环结构名茂院4545学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益方法一方法一:Private Sub Form_Click()Dim
40、 x%,y%,z%For x=0 To 20 公鸡公鸡 For y=0 To 33 母鸡母鸡 For z=0 To 100 Step 3 小鸡小鸡 If x*5+y*3+z3=100 And x+y+z=100 Then Print x,y,z End If Next z,y,xEnd SubVB程序设计循环结构名茂院4646学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益方法二方法二:x+y +z=100 鸡数满足的方程鸡数满足的方程Private Sub Form_Click()Dim x%,y%,z%For x=0 T
41、o 19 公鸡公鸡 For y=0 To 33 母鸡母鸡 z=100-x y 小鸡的个数小鸡的个数 If x*5+y*3+z3=100 Then 钱数的方程钱数的方程 Print x,y,z End If Next y,xEnd SubVB程序设计循环结构名茂院4747学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益课堂练习课堂练习:求水仙花数求水仙花数 水仙花数是指一个水仙花数是指一个3位数,其各个数字的立方和等于数字位数,其各个数字的立方和等于数字本身。本身。VB程序设计循环结构名茂院4848学为了规范事业单位聘用关系,
42、建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益练习:输出下面形状练习:输出下面形状*图图1*图图2*图图3*图图4VB程序设计循环结构名茂院4949学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益5 其他辅助控制语句其他辅助控制语句 1.Go To 语句语句 形式形式:Go To 标号标号|行号行号 作用:无条件地转移到标号或行号指定的那行语句。作用:无条件地转移到标号或行号指定的那行语句。标号是一个字符序列标号是一个字符序列,行号是一个数字序列。例子见后行号是一个数字序列。例子见
43、后 2.Exit语句语句 多种形式:多种形式:Exit For、Exit Do、Exit Sub、Exit Function等等 作用:退出某种控制结构的执行。作用:退出某种控制结构的执行。3.End语句语句 多种形式:多种形式:End、End If、End Select、End With、End Type、End Sub、End Function 作用:作用:End结束一个程序的运行;其余表示某个结构的结束与对应的结构结束一个程序的运行;其余表示某个结构的结束与对应的结构语句配对出现。语句配对出现。VB程序设计循环结构名茂院5050学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体
44、制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益4.IF语句语句+GoTo语句构成循环语句构成循环 (循环结循环结 构补充构补充)【例】例】计算计算1100的奇数和。的奇数和。Dim i%,s%Dim i%,s%s=0 s=0:i=1 For i=1 To 100 step 2 re:If i=100 Then s=s+i i=s+i Next i i=i+2 GoTo re End If 循环变量 0.00001 e=e+t:i=i+1 累加、连乘累加、连乘 n=n*i:t=1/n Loop Print 计算了计算了;i;项的和是项的和是;eEnd SubVB程序设计循环结构名茂院
45、5353学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益2.求素数求素数素数是一个大于素数是一个大于2,且不能被,且不能被1和本身以外的整数整除的整数。和本身以外的整数整除的整数。判别某数判别某数m是否为素数最简单的方法是是否为素数最简单的方法是:对于对于m 从从 i=2,3,m-1判别判别m能否被能否被i整除,只要有一个能整除,整除,只要有一个能整除,m不是素数,否则不是素数,否则m是素数。是素数。例例 求求100以内素数的代码:以内素数的代码:For m=2 To 100 For i=2 To m-1 If(m Mod
46、i)=0 Then GoTo NotNextM Next i Print m;“是素数是素数”NotNextM:Next mm是否为素数是否为素数求求100以内的素数以内的素数思考思考:此例用此例用Go To语句对非素数不作判断,若不用语句对非素数不作判断,若不用GoTo语语句,如何修改程序?句,如何修改程序?VB程序设计循环结构名茂院5454学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.穷举法穷举法 “穷举法穷举法”也称为也称为“枚举法枚举法”或或“试凑法试凑法”,即将可能出现的各种情况一一,即将可能出现的各种情况一
47、一测试,判断是否满足条件,一般采用循环来实现。测试,判断是否满足条件,一般采用循环来实现。例例9 百元买百鸡问题。假定小鸡每只百元买百鸡问题。假定小鸡每只5角,公鸡每只角,公鸡每只2元,母鸡每元,母鸡每只只3元。现在有元。现在有100元钱要求买元钱要求买100只鸡,编程列出所有可能的购鸡只鸡,编程列出所有可能的购鸡方案。方案。设母鸡、公鸡、小鸡各为设母鸡、公鸡、小鸡各为x、y、z只,根据题目要求,列出方程为:只,根据题目要求,列出方程为:x+y+y=100 3x+2y+0.5z=100三个未知数,两个方程,此题有若干个解。三个未知数,两个方程,此题有若干个解。解决此类问题采用解决此类问题采用“
48、试凑法试凑法”,把每一种情况都考虑到。,把每一种情况都考虑到。方法一:最简单三个未知数利用三重循环来实现。方法一:最简单三个未知数利用三重循环来实现。方法二:从三个未知数的关系,利用两重循环来实现。方法二:从三个未知数的关系,利用两重循环来实现。VB程序设计循环结构名茂院5555学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益4.递推法递推法 “递推法递推法”又称为又称为“迭代法迭代法”,其基本思想是把一个复杂的计,其基本思想是把一个复杂的计算过程转化为简单过程的多次重复。每次重复都从旧值的基础上递推出新算过程转化为简单过程
49、的多次重复。每次重复都从旧值的基础上递推出新值,并由新值代替旧值。值,并由新值代替旧值。例例 猴子吃桃子。小猴在某天摘桃若干个,当天吃掉一半多一个;第二天吃猴子吃桃子。小猴在某天摘桃若干个,当天吃掉一半多一个;第二天吃了剩下的桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第了剩下的桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天要吃时只剩下一个,问小猴共摘下了多少个桃子?天要吃时只剩下一个,问小猴共摘下了多少个桃子?分析:这是一个分析:这是一个“递推递推”问题,先从最后一天推出倒数第二天的桃子,再问题,先从最后一天推出倒数第二天的桃子,再从倒数第二天的桃子推出倒数第三天的桃
50、子从倒数第二天的桃子推出倒数第三天的桃子。设第。设第n天的桃子为天的桃子为xn,那那么它是前一天的桃子数的么它是前一天的桃子数的xn-1 的一半减的一半减1,即,即x n=xn-1/2-1 ,也即也即:xn-1=(x n+1)2For i=6 to 1 step-1 x=(x+1)*2 print “第第”&i&”天的桃子数为天的桃子数为:”;x;”只只”Next VB程序设计循环结构名茂院5656学为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益5.最小、最大值最小、最大值在在若若干干个个数数中中求求最最大大值值,一一般般先