




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
循环结构 循环:是在指定的条件下多次重复执行一组语句 For-Next循环结构语句 循环嵌套 其他辅助控制语句 Do-Loop循环结构语句 For循环结构示例: For i=1 TO 10 STEP 2 PRINT i Next i 执行过程说明如下: 循环变量i取初值1; 将循环变量i的值与终值10比较,如果i的值未超过终 值10,则执行步骤、和,否则结束循环, 接着执行Next i后的语句; 执行循环体,即执行语句 PRINT i ; 循环变量i增加一个步长值,即执行 i=i+2 ; 返回执行步骤 FOR循环结构语句 For循环结构语句 循环变量=循环变量+步长 语句块 F Exit For 语句块 T 循环变量0 then S1 = S1 + I Else S2 = S2 + I End If Next I Print S1,S2 例4.3.2输入十个整数,输出其中的最大数和最小数。 Private Sub Form_Click() Dim x%, Max%, Min%, i% Max = -32768 Min = 32767 For i = 1 To 10 x = val(InputBox(“输入第“ Max, “min=“; Min End Sub 注意那些语句应该作为循环体,写在For语句和next 语句之间,哪些语句应写在for语句之前,哪些语句 应写在next语句之后。 FOR循环结构语句 Max的初值是多少? Private Sub Form_Click() Dim x%, Max%, Min%, i% x = Val(InputBox(“输入第1个整数“) Max = x: Min = x For i = 2 To 10 x = Val(InputBox(“输入第“ Max, “min=“; Min End Sub 例4.3.3输入一批整数,分别求其中正数个数及所有正数之和,负数个数及所有 负数之和。假设数据不超过10个。 Private Sub Form_Click() Dim x%, i%, NCount%, PCount%, NSum%, PSum% For i = 1 To 10 x = InputBox(“请输入第“ NCount, “正数之和:“; NSum Print “负数个数:“; PCount, “负数之和:“; PSum End Sub 本程序的for循环有两个出口。 FOR循环结构语句 例4.3.4找出100999之间的所有梅花数。 Private Sub Form_Click() Dim i%,j%,k%,n% For n = 100 To 999 i = n Mod 10: Rem 取N的个位数 j = n 10 Mod 10: Rem 取N的十位数 k = n 100 : Rem 取N的百位数 If n = i 3 + j 3 + k 3 Then Print n; “=“; k; “3+“; j; “3+“; i; “3=“; k 3; “+“; j 3; “+“; i 3 End If Next n End Sub (1)本程序使用的算法称为“穷举法”或“枚举法”。 (2)程序中使用了Rem注释。Rem注释是一个独立的语句,当它和 被注释的语句同一行时,两语句之间必须加冒号;而注释和被 注释语句之间可加冒号,也可不加冒号。 FOR循环结构语句 “是素数“ Else Print n; “不是素数“ End Sub (1)本程序采用“反证法“。 (2)程序中循环变量i的终值取Sqr(n)而不取n-1,是基于数学知识。 (3)循环体中的Exit For语句可以不要,但有了该语句,将提高程序的 运行效率。 FOR循环结构语句 例4.3.6输出Fibonacci数列前30项。每行输出5个数据。 Option Explicit :rem 要求所有变量必须显式定义 Private Sub Form_Click() Dim f1 Sum End Sub 语句 While a 0为循环条件和以数值型变量a为循环条 件效果相同。 WHILE-WEND循环结构语句 例4.3.9输入某同学的各科考试成绩,求该同学的平均成绩。 Private Sub Form_Click() Dim x As Single, n As Integer, sum As Single n = 0: sum = 0 x = InputBox(“请输入第1科成绩:“) While x 0)个数求平均值。当输入完所有数据后,输入 非正常数据-1(成绩不可能为负数),称-1为循环的终止标志 。 WHILE-WEND循环结构语句 例4.3.10猜数游戏。 Option Explicit Private Sub Form_Click() Dim guess As Integer, magic As Integer, i As Integer Dim str As String * 10 str = “请输入“ Randomize 初始化随机函数 magic = Int(Rnd() * 100)+1 随机产生一个1至100之间的整数 While guess magic Then str = “大了!请再输入“ If guess 0 Or b Mod c = 2 Then Exit Do Loop Print “N=“; n, “P=“; P End Sub 程序6: Private Sub Form_Click() P = 1: n = 0 While P = 0.00001 PI = PI + T n = n + 2 s = -s T = s / n Loop PI = PI * 4 Print “P =“; PI End Sub 循环嵌套 循环的嵌套:循环的嵌套:在一个循环体内又包含了一个完整的循环结构 For I = 1 To 9 For J = 1 To I s = I s; Next J Picture1.Print Next I 注意: 内、外循环变量不能同名 外循环必须完全包含内循环,不能出现交叉 ExitExit语句语句 满足循环条件的情况下,提前跳出循环体,结束循环 。 两种形式:Exit For、Exit Do 一般情况: 在DoLoop循环中,有: If e Then Exit Do 在ForNext循环中,有: If e Then Exit For 循环嵌套 循环结构的循环体又包含另一个循环结构,就称为循环的 嵌套 。 内嵌的循环结构还可以再内嵌循环结构,这就是多重循环 。 例4.3.14 打印三角形图形,图形行数n是已知变量。 Private Sub Form_Click() Dim n As Integer n = InputBox(“请输入三角形行数:“) For i = 1 To n Print Tab(20 - i); For j = 1 To 2 * i - 1 Print “*“; Next j Print Next i End Sub 循环嵌套 例4.3.15打印如图4-3-7所示的九九乘法口诀表。 九九乘法表由9行9列共81个公式组成,每个公式由如下输出语句输出 : Print i Private Sub Form_Click() Dim i%, j% Print Tab(35); “九九乘法表“ Print Tab(30); “-“ For i = 1 To 9 For j = 1 To 9 Print Tab(j - 1) * 8 + 2); Print i Next j Print Next i End Sub 九九乘法表由9行9列共81个公式组成,每个公式由如下输出语句 输出:Print i 循环嵌套 例4.3.16 三百元买百鸡的问题。 Private Sub Form_Click() Dim i%, j%, k% Print Tab(10); “公鸡“; Tab(20); “母鸡“; Tab(30); “小鸡“ For i = 0 To 100 For j = 0 To 100 For k = 0 To 100 If (i + j + k = 100) And (15 * i + 9 * j + k = 300) Then Print Tab(10); i; Tab(20); j; Tab(30); k End If Next k Next j Next i End Sub 循环嵌套 例4.3.16 三百元买百鸡的问题。 Private Sub Form_Click() Dim i%, j%, k% Print Tab(10); “公鸡“; Tab(20); “母鸡“; Tab(30); “小鸡“ For i = 0 To 20 For j = 0 To (100 - 5 * i) 3 k = 100 - i - j If 15 * i + 9 * j + k = 300 Then Print Tab(10); i; Tab(20); j; Tab(30); k End If Next j Next i End Sub 循环嵌套 例4.3.17求500以内的所有素数。 Private Sub Form_Click() Dim i%, k%, f% ,n% For i = 2 To 500 f = 1 For k = 2 To Sqr(i) 内循环判定i能否被某数除尽 If i Mod k = 0 Then f = 0 Exit For End If Next k If f Then 如果i是素数 Print Tab(n * 10); i; n = n + 1 If n = 8 Then n = 0 : Print 每输出8个素数换行 End If Next i End Sub 循环嵌套 循环体中不仅可以内嵌循环结构,也可以内嵌 选择结构。 同样选择结构不仅可以内嵌选择结构,也可以 内嵌循环结构。 所谓内嵌是一个控制结构完全被另一个控制结 构包含在其中。 VB语言规定,控制结构可以相互包含,但不能 相交。例如下面程序段是错误的(语法错误) : 程序段1(内外循环交叉): For i = 1 To 9 For j = 1 To 9 Print Tab(j * 12 - 10); i; “*“; j; “=“; i * j; Next i Next j 其他辅助控制语句 程序段2(循环结构和选择结构交叉) : For i = 1 To 9 If i Mod 2 = 0 Then Print i, Next i End If 其他辅助控制语句 Dim I As Integer If I mod 17 =0 then print I end If For I=100 to 200 Next I Exit for 分析: 重复工作:判断每个数 除17的余数是否为0 初值、终值和增量: 求出100200之间的第一个能被17整除的整数。 循环与分支的嵌套循环与分支的嵌套 通过测试,检验程序的功能; 通过调试发现和改正程序中的错误。 错误类型 1编辑时错误:用户在代码窗口编辑代码时,每按回车键,VB自动进 行语法检查。当发现语法错误时,会弹出错误提示对话框。如果 你输入了一个明显的错误语句,系统没有弹出出错提示框,说明“ 自动语法检查”功能没有启用。可执行“工具”菜单的“选项”命令, 在“编辑器”选项卡中选定相应的选项。 2编译时错误:执行“启动”命令后,VB继续对程序进行语法检查,如 果发现语法错误,则中断编译并弹出错误信息提示框。用户修改 程序中的错误之后,可以执行“继续”命令或执行“结束程序”命令 。在编译时发现的错误一般包括结构性错误,如For和next 不配对 等。 3运行时错误:运行时发现的错误不是语法错误,一般是执行了非法 操作引起的错误,如数据类型不匹配,试图打开一个不存在的文 件等。 4逻辑错误:程序运行后得不到预想的结果,程序可能存在逻辑错误 。逻辑错误不会产生错误提示信息,需要程序员自己分析判断。 程序调试 对语法错误,可根据系统提示信息修改。 对逻辑错误,以借助于VB环境提供的各种调试 手段查找和改正。 调试方法 1. 设置断点 2. 逐语句执行 3. 立即窗口 程序调试 通过测试,检验程序的功能; 通过调试发现和改正程序中的错误。 错误类型 1编辑时错误:用户在代码窗口编辑代码时,每按回车键,VB自动进 行语法检查。当发现语法错误时,会弹出错误提示对话框。如果 你输入了一个明显的错误语句,系统没有弹出出错提示框,说明“ 自动语法检查”功能没有启用。可执行“工具”菜单的“选项”命令, 在“编辑器”选项卡中选定相应的选项。 2编译时错误:执行“启动”命令后,VB继续对程序进行语法检查,如 果发现语法错误,则中断编译并弹出错误信息提示框。用户修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.3计算机程序和程序设计语言-粤教版(2019)高中信息技术必修一教学设计
- 2025年高中地理《4.1自然资源与人类》说课稿 鲁教版必修1
- 线缆厂请假记录管理细则
- 化肥厂高温作业防护制度
- 2025年国内戏曲表演合同范本
- 居民有线电视服务合同协议
- 人教版物理 选修3─2 第六章 传感器 第2节 传感器的应用 教学设计
- 化肥市场推广合同
- 第9课 三点水说课稿-2025-2026学年小学书法湘美版四年级下册-湘美版
- 三年级信息技术上册 2 初识电脑朋友说课稿3 闽教版
- 冷库维保合同(2025版)
- 2025国核示范电站有限责任公司校园招聘笔试历年参考题库附带答案详解
- 2025年护士资格证考试试题(附答案)
- 医院实验室生物安全管理体系文件
- 生活垃圾清运工安全教育培训手册
- 普通诊所污水、污物、粪便处理方案及周边环境情况说明
- 防诈骗班会课件
- 老年照护芳香疗法应用规范
- 2025年高考语文真题全国一、二卷古诗词鉴赏
- 法拉利课件介绍
- 2025-2030年中国汽车电源管理IC行业市场现状供需分析及投资评估规划分析研究报告
评论
0/150
提交评论