循环结构do循环嵌套.ppt_第1页
循环结构do循环嵌套.ppt_第2页
循环结构do循环嵌套.ppt_第3页
循环结构do循环嵌套.ppt_第4页
循环结构do循环嵌套.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上节课内容回顾,WhileWend语句 注意: 如果循环次数未知,则最好采用 whilewend语句,循环结构程序设计,for 循环结构 While循环结构 Dowhile循环结构 多重循环结构,重点:理解循环的执行过程 编写循环结构程序 难点:多重循环结构,循环结构,循环结构依据某一条件(循环条件)反复执行某段程序(即循环体)。 三种循环结构:for 、while、do,循环三要素,循环三要素: (1) 初始化:决定循环的初始状态,即与循环相关的变量的初始值。 (2) 循环体:循环中反复执行的部分。 (3) 循环的条件:决定循环结束的条件。,Do循环,当型循环 当循环条件成立时执行循环,否则退出循环。,Do循环结构,先判断后执行,先执行后判断,特点:条件表达式成立执行循环体,例:求1100之间所有整数的和,用WhileWend语句实现。 sum=0 : i=1 While i=100 sum=sum+i i=i+1 Wend,i=1 : s=0 While i=100 s=s+i i=i+1 wend,i=1 : s=0 Do While i=100 s=s+i i=i+1 Loop,i=1 : s=0 Do s=s+i i=i+1 Loop While i=100,2. 直到型循环,直到循环条件成立时退出循环,否则执行循环。,特点:条件表达式不成立执行循环体,求1100之间所有整数的和,i=1 : s=0 Do While i=100 s=s+i i=i+1 Loop,i=1 : s=0 Do s=s+i i=i+1 Loop While i=100,i=1 : s=0 Do Until i100 s=s+i i=i+1 Loop,i=1 : s=0 Do s=s+i i=i+1 Loop Until i100,例4.20 求某同学的平均分,Private Sub Command1_Click() Dim Sum%, i%, n%, num%, avg# Sum = 0: i = 1: n = Val(Text1.Text) Do While i = n num = Val(InputBox(“输入第“ & i & “位_同学的成绩“, “成绩输入“) Sum = Sum + num i = i + 1 Loop avg = Sum / n MsgBox “该生“ & n & “门课程的平均分为“ & avg, , “求平均成绩“ End Sub,例4.25 分析程序,Private Sub Form_click() Dim s%, i% s = 0: i = 1 Do While i = 4 Then Exit Do End If i = i + 1 Loop Print “第“; i - 1; “项“ End Sub 输出结果: 第2项,Goto语句,前面介绍的循环结构都是根据某个条件进行循环,称 为有条件跳转语句。 Goto语句和On-Goto语句,称为无条件跳转语句。 格式:Goto 语句标号|行号 注意: (1)“语句|标号”是一个英文单词或整数,位于一行语句 的开头,用于指示语句的位置,以冒号结尾。 (2)Goto语句与If语句构成循环结构。,循环的嵌套,在一个循环结构的循环体内含有另一个完整的 循环结构,称为循环的结构(多重循环)。 说明: 内外循环之间必须完整包含,不得交叉。 内循环变量与外循环变量不能同名 。 如:for i=1 to 10 for j=1 to 10 next j next i,内循环 j,外循环 i,例4.26:打印循环变量的值。,Private Sub Form_click() Dim i%, j% For i = 1 To 3 外循环变化为1、2、3 Print “i=“; i; “, “; 打印外循环变量i的值 Print “j=“; For j = 1 To 4 内循环变化为1、2、3、4 Print j; 打印内循环变量j的值 Next j Print Next i End Sub,例4.27 求100-200之间的素数。,质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。,分析: 穷举法:把所有的值一一列举出来,然后依次进行筛选。 (1)For m=100 to 200 判断m是否为素数,若是则打印 Next j (2)因为所有的偶数都不是素数,故设步长为2,从101开始判断,以提高程序的执行效率。 For m=101 to 200 step 2 判断m是否为素数,若是则打印 Next j,素数的判断: 1:只能被1和本身整除。 或2:不能被小于它的平方根的所有素数整除就是素数。 但是从算法上考虑,为了减少重复量,开平方后面的数就不用相除了。,Private Sub Form_click() Dim m%, i%, n% For m = 101 To 200 Step 2 外循环测试奇数 For i = 2 To Sqr(m) 内循环构造测试条件 If m Mod i = 0 Then 能够整除,不是素数 Exit For 结束内循环 End If Next i If i Sqr(m) Then 正常结束内循环,是素数 n = n + 1 统计素数个数 Print m; If n Mod 5 = 0 Then Print 控制每行输出5个 End If Next m Print Print “素数的个数为“; n 输出素数个数 End Sub,另一方法: 素数与1到素数本身中间的所有整数都相除,看是否有整除的数,如果有,那肯定不是素数了。,另一方法 求素数,Private Sub Form_click() Dim m%, i%, n% For m = 101 To 200 Step 2 外循环测试奇数 For i = 2 To m - 1 Sqr(m) 内循环构造测试条件 If m Mod i = 0 Then 能够整除,不是素数 Exit For 结束内循环 End If Next i If i m - 1 Then Sqr(m) Then 正常结束内循环,是素数 n = n + 1 统计素数个数 Print m; If n Mod 5 = 0 Then Print 控制每行输出5个 End If Next m Print Print “素数的个数为“; n 输出素数个数 End Sub,例4.28 打印以下图形。,Private Sub form_click() Dim i%, j% For i = 1 To 5 For j = 1 To 5 Print “*“; Next j Print Next i End Sub,例4.29 打印图形。,Private Sub Form_Click() Dim i%, j% Cls For i = 1 To 5 Print Space(i); For j = 1 To 10 - 2 * i + 1 Print “*“; Next j Print Next i End Sub,思考:如何打印以下图形。,Private Sub Form_Click() Font.Size = 20 Dim i%, j% Cls For i = 1 To 5 Print Space(i - 1); For j = 1 To 10 - 2 * i + 1 Print “*“; Next j Print Next i End Sub,例4.30 打印九九乘法表,分析: (1)共9行,按行打印 For i=1 to 9 打印第i行 换行,准备输出下一行 Next i (2)每列的列号从1到9,行号固定不变。 For j=1 to 9 Print i 打印第i行 Next j,Private Sub

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论