当前位置:文档之家› 大学生程序设计visual basic第五讲笔记

大学生程序设计visual basic第五讲笔记

5.1 循环结构概述
循环结构:是指在一定条件控制下重 复执行一组指定的语句(程序中最能 发挥计算机特长的程序控制结构)
案例: 编写程序,求 1+2+3+…+10 的累加和。
设计要求:在标题为“累加求和”的窗 体 Form1 上,添加一个标题为“累加” 的命令按钮 Command1;然后再添加一 个文本内容为空的文本框 Text1。 运行要求:程序运行时,单击“累加” 按钮,求 1+2+3+…+10 的值,并将计算结 果显示 在 Text1 中。
程序运行时,在 Text1 和 Text2 中输入两 个正整数,单击“求解”按钮,在 Text3 中显示这两个整数的最大公约数。
试条件的当型循环。当条件成立 (True)时,执行循环体;知道条 件不成立(False)时结束循环。
语法格式: Do While 条件表达式 循环体 Loop
条件表达式:关系表达式、逻辑表 达式、算术表达式
语法格式: While 条件表达式 循环体 Wend
条件: 1、取值为 True 或 False,可以为关系 表达式、逻辑表达式或算术表达式。 若为算术表达式,则表达式的值非 0 时表示 True,为 0 时表示为 False。 2、循环体中要有使循环趋于结束的语 句
流程图:
案例: 编写程序,求 1+2+3+…+10 的累加和。
注: 循环变量是专门控制“循环体”执
行的次数 循环正常结束后,循环变量的值会
超过终值 循环次数表达式:Int((终值-初值)/
步长+1)取整
案例 2:输入一个正整数,判断该整数 是否为素数。 设计要求:在标题为“素数判断 ”
的窗体 Form1 上,添加一个标题为 “请输入正整数”的标签 Label1;然 后再添加一个标题为“判断”的命令
循环结构分类: 计数循环:是一种循环次数已知的
循环结构,通常用于事先已经知道 操作要重复的次数。 条件循环:是一种由条件控制的循 环结构,通常用于事先不知道操作 要重复的次数,但是知道重复结束 的条件。 循环结构语句: For....Next 语句:称为计数循环, 一般用于循环次数事先可预知的 情况 While....Wend 语句:称为条件循 环,一般用于循环次数事先不可预 知的情况 Do....Loop 语句:与 While....Wend 语句一样
形式 1:
For i =… … For j =… … Next j … Next i
形式 4:
Do While|Until… … For j =… … Next j … Loop
形式 2:
For i =… … Do While|Until… … Loop … N ti
形式 5:
Do While|Until… … While… … Wend … Loop
案例 1:输入一个正整数 n,计算 n 的阶乘。 设计要求:在标题为“计算阶乘 ”的窗体
Form1 上,添加一个标题为“请输入 n 的值” 的标签 Label1;然后再添加一个标题为“计 算”的命令按钮 Command1;接着再添加一 个文本内容为空的文本框 Text1;最后添加 一个标题为空、有边框的标签 Label2。 运行要求:程序运行时,在 Text1 中输入一 个正整数 n,单击“计算”按钮,求 1×2 ×3×…×n 的值,并将计算结果显示在 Label2 中。
语法结构: For 循环变量=初值 To 终值[Step 步 长] 循环体 Next [循环变量]
注: For、To、Next 和 Step 都是关键字,
不可以作为标识符使用 循环变量是用于控制循环的变量,
必须是数值型变量,常用字母表 示。 初值、终值、步长可是数值型常量、 变量或表达式 初值是循环变量的初始值,是赋予 给循环变量的第一个值 终值是循环变量的结束值,当循环
5.3 循环结构嵌套
循环结构嵌套:就是在一个循环语句 的循环体中又包含另一个完整的循环 语句。 例:求 100~200 之间的素数和
案例:
设计要求:在标题为“阶乘累加 ”的窗体 Form1 上,添加一个标题为“请输入 n 的值”的标签 Label1;然后再添加一个标题为“累加和”的 命令按钮 Command1;最后添加两个文本内容 为空的文本框 Text1 和 Text2。 运行要求:程序运行时,在 Text1 中输入一个 正整数 n,单击“累加和”按钮,计算上面表 达式的值,并将计算结果显示在 Text2 中。
语法格式 Do 循环体 Loop While 条件表达式
流程图:
【对于 Do…Loop Until 语句,不管条件 是否成立,循环体至少执行一次】
案例:编写程序,求 1+2+3+…+10 的累加和。 Do…Loop While 语句: Private Sub Command1_Click() Dim sum As Integer, i As Integer sum = 0 i=1 Do sum = sum + i i=i+1 Loop While i<=10 Text1.Text = Str(sum) End Sub Do…Loop Until 语句: Private Sub Command1_Click() Dim sum As Integer, i As Integer sum = 0 i=1 Do sum = sum + i i=i+1 Loop Until i>10 Text1.Text = Str(sum) End Sub
变量不超过终值时,会一直循环。 步长是循环变量的增量,可以是正
数也可以是负数。当步长为+1, “Step 1”可以省略。 循环变量是需要重复执行的程序 代码,可以是一条或多条语句。 Next[循环变量]用于结束一次 For 循环,并修改循环变量的值,就是
将“循环变量+步长”的值赋值给 “循环变量”【Next 后面的循环变 量和 For 后面的循环变量必须相 同,但 Next 后面的循环变量可以 省略】
强制退出 Do 循环: If 退出条件 Exit Do End If
“Exit Do”可以 在循环体的任 何位置出现,一 般与条件语句 配合使用
Do Until…Loop 循环:是一种先测 试条件的直到型循环。当条件不成 立(False)时,执行循环体;知道 条件成立(True)时结束循环。
语法格式 Do Until 条件表达式 循环体 Loop
5.2.2 While 循环
例:2018 年人口约 70 亿,如果每年 增长率约为 1.7%,那么多少年后世界 人口将达到 100 亿。
案例: 已知两个正整数 m 和 n,用“辗转相 除法”求它们的最大公约数。
设计要求 :
在标题为“最大公约数 ”的窗体 Form1 上,添加两个标题分别为“整数 m”和“整 数 n”的标签 Label1 和 Label2;然后再添 加 3 个文本内容为空的文本框 Text1、 Text2 和 Text3,其中 Text3 不可编辑;最 后添加 1 个标题为“求解”的命令按钮 Command1 运行要求:
流程图:
【对于 Do…Loop While 语句,不管条 件是否成立,循环体至少执行一次】 Do…Loop Until 循环语句: Do…Loop Until 循环是一种后测试条件 的直到型循环。先执行循环体,当循 环体不成立(False)时,继续执行循 环体,知道条件成立(True)时,结束 循环。
前测型 Do 循环又分为 Do While…Loop 循环和 Do Until…Loop 循环 Do While…Loop 循环:是一种先测
【如果初始循环条件不成立,那么循 环体一次也不执行。】
案例:编写程序,求 1+2+3+…+10 的累加和,使用 Do While…Loop 循 环语句实现。
Private Sub Command1_Click() Dim sum As Integer, i As Integer sum = 0 i=1 Do While i<=10 sum = sum + i i=i+1 Loop Text1.Text = Str(sum) End Sub
属性
Interval 属性
Interval(时间间隔)属性用于设定计 时器触发事件的时间间隔,单位为 ms (0.001s),取值范围为 0~65535ms, 默认值为 0.
顺序结构
循环结构程序代码:
Private Sub Command1_Click( ) Dim sum As Integer, i As Integer sum = 0 For i = 1 To 10 Step 1 sum = sum + i Next i Text1.Text = Str(sum) End Sub
循环体:被重复执行的一组语句,例 如“sum = sum + i”
循环结构流程图:
5.2.1 For 循环
For 循环语句:是一种计数循环,一般 用于循环次数已知的循环结构,也称 为 For…Next 循环。 【在前面累加 1 到 10 的例子,在这个 For 循环语句中使用了一个有计数器 作用的循环变量 i 来控制循环体的执 行次数,每执行一次后,i 的值会自动 加上步长,直到 i 超过 10 循环结束】
循环体: 循环体中要有使循环趋于结束的语句 Exit Do 语句用于无条件退出 Do 循环 流程图:
5.2.3 Do 循环
Do 循环语句:是一种条件循环,是根 据条件来决定是否执行循环体,一般 用于循环次数事先不可预知的情况。 Do 循环语句分类:区别在于判断循环 条件先后顺序不同
前测型 Do 循环:是一种先判断条 件、再执行循环体的循环结构,它 的特点是循环体有可能一次也不 被执行。
相关主题