VBNET程序设计教程基本的控制结构课件_第1页
VBNET程序设计教程基本的控制结构课件_第2页
VBNET程序设计教程基本的控制结构课件_第3页
VBNET程序设计教程基本的控制结构课件_第4页
VBNET程序设计教程基本的控制结构课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、 VB.NET程序设计教程程序设计教程本书目录本书目录1 1VisuaVisua程序设计教程程序设计教程 VB.NET程序设计教程程序设计教程本书目录本书目录2 2第四章第四章 基本的控制结构基本的控制结构4.1 4.1 顺序结构顺序结构4.2 4.2 选择结构选择结构4.3 4.3 循环结构循环结构4.4 4.4 其它控制语句和控件其它控制语句和控件4.5 4.5 综合应用综合应用4.6 4.6 程序调试程序调试本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录3 34.1 4.1 顺序结构顺序结构 VB具有结构化程序设计的三种程序控制结构,具有结构化程序设计的三种程序控

2、制结构,即即顺序结构、选择结构顺序结构、选择结构、循环结构循环结构,是程序设计,是程序设计的基础。的基础。本章目录本章目录(1)顺序结构)顺序结构 各语句按出现的先后次序执行各语句按出现的先后次序执行bABa用传统流程用传统流程图表示为图表示为 VB.NET程序设计教程程序设计教程本书目录本书目录4 4(2 2)选择结构)选择结构传统流程图传统流程图:b ba a条件?条件?A AB B不成立不成立成立成立根据条件决定执行的语句根据条件决定执行的语句 VB.NET程序设计教程程序设计教程本书目录本书目录5 5(3 3)循环结构)循环结构I 、 当型循环结构当型循环结构 a a 条件条件?成立成

3、立循环体循环体b b不成立不成立a aa a循环体循环体b b不成立不成立成立成立条件?条件?II 、直到型循环结构直到型循环结构 根据条件重复执行语句根据条件重复执行语句(称为循环体称为循环体) VB.NET程序设计教程程序设计教程本书目录本书目录6 64.1 4.1 顺序结构顺序结构u 一般程序设计语言中顺序结构的语句主要一般程序设计语言中顺序结构的语句主要: 赋值语句赋值语句和和 输入输入/输出语句输出语句等。等。u 在在VB.net中中 赋值语句赋值语句 输入输入/输出通过输出通过:l 文本框控件、标签控件、文本框控件、标签控件、l InputBox函数、函数、MsgBox函数函数l

4、Write方法方法 VB.NET程序设计教程程序设计教程本书目录本书目录7 74.1.1 4.1.1 引例引例温度转换温度转换本章目录本章目录例例4.1 4.1 华氏温度与摄氏温度之间转换。华氏温度与摄氏温度之间转换。要求要求: : 已知华氏温度,转换成摄氏温度;已知华氏温度,转换成摄氏温度; 同样,已知摄氏温度,转换成华氏温度同样,已知摄氏温度,转换成华氏温度; ; 换显示保留两位小数。换显示保留两位小数。华氏温度与摄氏温度之间转换的公式是:华氏温度与摄氏温度之间转换的公式是: 3259CF)32(95FC程序运行不管输入摄氏温度程序运行不管输入摄氏温度C C多少多少,显示结显示结果华氏温度

5、始终不变果华氏温度始终不变, ,原因原因? ? VB.NET程序设计教程程序设计教程本书目录本书目录8 84.1.2 4.1.2 赋值语句赋值语句 形式:形式: 变量名表达式变量名表达式 对象名对象名. 属性名属性名=表达式表达式 功能:计算表达式的值,再将此值赋给变量或对象功能:计算表达式的值,再将此值赋给变量或对象属性。属性。给给变量赋值变量赋值和和设定属性设定属性是是VB编程中常见的两个任务编程中常见的两个任务.例如:例如:x!=0.1 x为单精度变量,赋值为单精度变量,赋值0.1TextBox1.Text 清除文本框的内容清除文本框的内容TextBox1.Text 欢迎使用欢迎使用VB

6、.Net 本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录9 9复合赋值语句复合赋值语句 复合赋值运算符,其作用简化程序代码,提高复合赋值运算符,其作用简化程序代码,提高程序编编译的效果。语句形式:程序编编译的效果。语句形式: 变量名变量名 复合赋值运算符复合赋值运算符 表达式表达式首先首先计算右边表达式的值,计算右边表达式的值,然后然后与左边的变量与左边的变量进行相应的运算,进行相应的运算,最后最后赋值给变量。赋值给变量。复合赋值运算符:复合赋值运算符:+=+=、- =- =、* *= =、=、/=/=、=、&=&=本章目录本章目录例如:例如:a *=

7、b+4 等价于等价于 a = a*(b+4) VB.NET程序设计教程程序设计教程本书目录本书目录1010常用复合赋值语句常用复合赋值语句 v累加累加 sum +=x 等价于等价于 sum = sum+xv计数计数 n += 1 等价于等价于 n = n+1v显示多行信息显示多行信息 利用利用 &= 来实现来实现本章目录本章目录如下语句,如下语句,TextBox1显示结果?显示结果?TextBox1.Text = VB.NET & vbCrLfTextBox1.Text &= 程序设计教程程序设计教程 VB.NET程序设计教程程序设计教程本书目录本书目录1111赋值语句

8、注意点赋值语句注意点 “=”符号有两个意义符号有两个意义 赋值号赋值号、关系运算符等号关系运算符等号 形式相同形式相同,系统会根据所处的位置判断符号意义。系统会根据所处的位置判断符号意义。v 赋值号左边只能是赋值号左边只能是变量变量,不能是常量、常数符,不能是常量、常数符 号、表达式。下面均为号、表达式。下面均为错误的错误的赋值语句:赋值语句:Now()=x+y Now()=x+y 左边是表达式左边是表达式(函数函数)5=sqrt (s)+x+y 5=sqrt (s)+x+y 左边是常量左边是常量X+y=z X+y=z 左边是表达式左边是表达式本章目录本章目录 VB.NET程序设计教程程序设计

9、教程本书目录本书目录12121. InputBox1. InputBox函数函数 打开一个对话框,等待用户输入,返回字符串打开一个对话框,等待用户输入,返回字符串类型的输入值。类型的输入值。形式:形式:InputBoxInputBox(提示提示,标题标题,默认值默认值,x坐标坐标位置位置,y坐标位置坐标位置)4.1.3 4.1.3 数据输出和输入数据输出和输入本章目录本章目录 注意注意:提示项提示项不能省略。不能省略。若要多行提示,可在每行若要多行提示,可在每行行末加回车换行行末加回车换行vbCrLfvbCrLf。例例4.24.2利用利用InputBoxInputBox输入基本工资和营业额,按

10、输入基本工资和营业额,按营业额的营业额的5%5%提成,计算实发工资并显示。提成,计算实发工资并显示。 VB.NET程序设计教程程序设计教程本书目录本书目录1313打开一个信息框,等待用户选择一个按按钮。打开一个信息框,等待用户选择一个按按钮。 MsgBox函数返回所选函数返回所选按钮的值按钮的值, 变量变量% = MsgBox MsgBox(提示提示,按钮按钮,标题标题) MsgBox函数无独立的语句:函数无独立的语句: MsgBoxMsgBox 提示提示,按钮按钮,标题标题 2.MsgBox 2.MsgBox函数函数本章目录本章目录按钮:按钮:决定信息框按钮的数目、名称及(图标)。决定信息框

11、按钮的数目、名称及(图标)。返回结果:返回结果:返回所按的按钮值返回所按的按钮值此两项均为整型表达式或枚举值,枚举名分别为此两项均为整型表达式或枚举值,枚举名分别为MsgBoxStyle 、MsgBoxResult VB.NET程序设计教程程序设计教程本书目录本书目录1414MsgBoxMsgBox按钮设置按钮设置 第第3个按钮为默认个按钮为默认512DefaultButton3第第2个按钮为默认个按钮为默认 56DefaultButton2第第1个按钮为默认个按钮为默认 0DefaultButton1默认默认按钮按钮 信息图标信息图标 64Information警告信息图标警告信息图标 48

12、Exclamation询问信息图标询问信息图标 32Question关键信息图标关键信息图标 16Critical图标图标类型类型 重试、取消按钮重试、取消按钮 5RetryCancel是、否按钮是、否按钮 4YesNo是、否、取消按钮是、否、取消按钮 3YesNoCancel终止、重试、忽略按钮终止、重试、忽略按钮 2AboutRetryIgnore确定、取消按钮确定、取消按钮 1OkCancel确定按钮确定按钮 0OkOnly按钮按钮数目数目 描描 述述值值枚举值枚举值分组分组 本章目录本章目录枚举枚举 MsgBoxStyle VB.NET程序设计教程程序设计教程本书目录本书目录1515

13、VB.NET程序设计教程程序设计教程本书目录本书目录1616MsgBoxMsgBox所选按钮返回值所选按钮返回值 例例4.3 编一账号和密码输入的检验程序,当输入不正编一账号和密码输入的检验程序,当输入不正确,如账号为非数字字符,密码不正确等,显示有关确,如账号为非数字字符,密码不正确等,显示有关信息,再输入。信息,再输入。VBNo7否否VBYes6是是VBIgnore5忽略忽略VBRetry4重试重试VBAbort3终止终止VBCancel2取消取消VBOk1确定确定内部常数内部常数返回值返回值被单击按钮被单击按钮NoYesIgnoreRetryAbortCancelOk枚举值枚举值 本章目

14、录本章目录代码说明代码说明枚举名枚举名 MsgBoxRetry VB.NET程序设计教程程序设计教程本书目录本书目录1717 Write Write、WriteLineWriteLine方法方法 在调试窗口输出信息。在调试窗口输出信息。Write输出时不换行、输出时不换行、WriteLine输出时换行。输出方法:输出时换行。输出方法: Debug. WriteLineDebug. WriteLine(表达式表达式) Debug. WriteDebug. Write (表达式表达式)例例 将例将例4.14.1输出改为如下语句:输出改为如下语句:Debug.WriteLine(本月营业额为:本月营

15、业额为: & x & 基本工资为:基本工资为: & jbgz)Debug.Write(本月实发工资为:本月实发工资为: & sfgz)选择选择“视图视图| |其它窗口其它窗口| |输出输出”显示输出窗口显示输出窗口本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录18184.2 4.2 选择结构选择结构 u计算机要处理的问题往往是复杂多变的,计算机要处理的问题往往是复杂多变的,仅采用顺序结构是不够的。仅采用顺序结构是不够的。u必须利用选择结构等来解决实际应用中的必须利用选择结构等来解决实际应用中的各种问题。各种问题。uVB中主要通过中主要通过

16、If If条件语句和条件语句和SelectSelect情况语情况语句来实现。它们都是对条件进行判断,根据句来实现。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。判断结果,选择执行不同的分支。 本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录19194.2.1 If4.2.1 If条件语句条件语句 1. IfThen语句语句(单分支结构单分支结构) If If Then Then 语句块语句块(可以是一句或多句语句)(可以是一句或多句语句) End IfEnd If或或 If If Then Then 表表 达达 式:式: 算术、关系和逻辑表达式。算术、关系和逻

17、辑表达式。表达式值:表达式值:按非零为按非零为True,零为,零为False进行判断。进行判断。作作 用:用: 当表达式值为当表达式值为True,执行,执行Then后面的后面的 语句块,否则不做任何操作。语句块,否则不做任何操作。表达式 语句块 T F 本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录2020单分支结构单分支结构 例:例:已知两个数已知两个数x x和和y y,比较它们的大小,使得,比较它们的大小,使得x x大于大于y y。 If xy Then t=x x=y y=t End If 或或 If xy Then t=x: x=y: y=t t y x 本章目

18、录本章目录注意:简单注意:简单If形式无形式无End If时,只能是一句语句时,只能是一句语句或语句间用冒号分隔,而且必须在一行上书写。或语句间用冒号分隔,而且必须在一行上书写。 VB.NET程序设计教程程序设计教程本书目录本书目录2121双分支结构双分支结构2. IfThenElse语句语句If If 表达式表达式 ThenThen语句块语句块1ElseElse语句块语句块2End IfEnd If或或 If If 表达式表达式 ThenThen 语句语句1 ElseElse 语句语句2 表达式 F 语句块 1 T 语句块 2 本章目录本章目录作用:当表达式的值为作用:当表达式的值为True

19、时,执行时,执行Then后面后面的语句块的语句块1,否则执行,否则执行Else后面的语句块后面的语句块2 VB.NET程序设计教程程序设计教程本书目录本书目录2222双分支结构例双分支结构例计算分段函数计算分段函数yxxxxxxxsincos231030 单分支单分支 y=cos(x)x3+3*x 结构实现结构实现 If x0 Then y=sin(x)+sqrt (x*x+1) If x0 Then 双分支双分支 y=sin(x)+sqrt (x*x+1) Else结构实现结构实现 y=cos(x)x3+3*x End If本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目

20、录2323多分支结构多分支结构 3. IfThenElseIf 语句语句 If If 表达式表达式1 Then Then 语句块语句块1 ElseIf ElseIf 表达式表达式2 Then Then 语句块语句块2 Else 语句块语句块 n+1 End IfEnd If 表 达 式 2 表 达 式n T F T F 语 句 块 n+ 1 语 句 块 2 语 句 块 1 F T 表 达 式 1 语 句 块 n 作用:根据不同的表达式值确定执行哪个语句块作用:根据不同的表达式值确定执行哪个语句块 本章目录本章目录说明:说明:u 不管有几个分支,依次判断,当某条件满不管有几个分支,依次判断,当某

21、条件满足,执行相应的语句,其余分支不再执行;足,执行相应的语句,其余分支不再执行;若条件都不满足,且有若条件都不满足,且有Else子句,则执行该子句,则执行该语句块,否则什么也不执行。语句块,否则什么也不执行。u ElseIf不能写成不能写成 Else If VB.NET程序设计教程程序设计教程本书目录本书目录2424例例4.64.6 已知变量已知变量chch中存放了一个字符,判断该字符是中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。字母字符、数字字符还是其他字符。 If UCase(ch) = A And UCase(ch) = 0 And ch = 9 Then 数字字符数

22、字字符 MsgBox(ch + 是数字字符是数字字符) Else 除上述字符以外的字符除上述字符以外的字符 MsgBox(ch + 是其他字符是其他字符) End If多分支结构例多分支结构例本章目录本章目录注意问题注意问题 VB.NET程序设计教程程序设计教程本书目录本书目录25254.2.2 Select Case4.2.2 Select Case语句语句 Select CaseSelect Case 变量或表达式变量或表达式 Case 表达式列表表达式列表1 1 语句块语句块1 Case 表达式列表表达式列表2 2 语句块语句块2 Case Else 语句块语句块n+1End Selec

23、tEnd Select表达式列表表达式列表与与变量或表达式变量或表达式的类型必的类型必须相同,是下面须相同,是下面4 4种形式之一种形式之一 :表达式表达式 例例: A一组用逗号分隔的枚举一组用逗号分隔的枚举值值 2,4,6,8 表达式表达式1 To 表达式表达式2 60 To 100Is 关系运算符表达式关系运算符表达式 Is 0 And y 0 Then MsgBox(在第一象限在第一象限) ElseIf x 0 Then MsgBox(在第二象限在第二象限)ElseIf x 0 And y 0 And y 0 And y 0 MsgBox(“在第一象限在第一象限”) Case x 0 M

24、sgBox(“在第二象限在第二象限”) Case x 0 And y 0 And y 0 MsgBox(“在第四象限在第四象限”)End Select代码二错误:代码二错误:1. Select Case 后不能出现多个变量;后不能出现多个变量;2. Case后不能出现变量及有关运算符。后不能出现变量及有关运算符。本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录2828If语句的嵌套是指语句的嵌套是指If或或Else后面的语句块中又包含后面的语句块中又包含If语语If 表达式表达式1 Then If 表达式表达式2 Then End If End IfIf xy Then

25、t=x: x=y: y=t If yz Then t=y: y=z: z=t If xyz用一个用一个IF语句和一个嵌套语句和一个嵌套的的IF语句实现语句实现本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录29294.2.3 4.2.3 条件函数条件函数 (1) IIf函数函数 IIfIIf(表达式,表达式为真时的值,表达式为假时的值表达式,表达式为真时的值,表达式为假时的值)IIf函数是函数是If Then Else 结构的简洁表示结构的简洁表示例如,将例如,将x,y中大的数,放入中大的数,放入Tmax变量中:变量中: Tmax = IIf(x y,x,y) 该语句与如

26、下语句等价该语句与如下语句等价 : If x y Then Tmax = x Else Tmax = y 本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录30304.2.3 4.2.3 条件函数条件函数 (2) Choose函数函数 ChooseChoose(整数表达式,选项列表整数表达式,选项列表)根据表达式的值根据表达式的值i,i,返回选项列表中第返回选项列表中第i个选项。如个选项。如果整数表达式的值越出选项范围时,返回果整数表达式的值越出选项范围时,返回Null。例例 根据根据NopNop的值,得到的值,得到+ +、- -、中的某运算符中的某运算符:Op= Choo

27、se(Nop,+,- -,) 例例4.11 4.11 根据当前日期,显示今日是星期几根据当前日期,显示今日是星期几。t = Choose(Weekday(Now), “t = Choose(Weekday(Now), “星期日星期日”, “, “星期一星期一”, , “星期二星期二”, “, “星期三星期三”, “, “星期四星期四”, “, “星期五星期五”, , “星期六星期六”) )MsgBox(今天是:今天是: & Now & t) 本章目录本章目录Dim nop As Integer, op As CharRandomize()nop = Int(Rnd() * 4

28、+ 1)op = Choose(nop, +, -, , )MsgBox(nop= & nop & op= & op) VB.NET程序设计教程程序设计教程本书目录本书目录31314.2.5 4.2.5 选择控件与分组控件选择控件与分组控件 1.1.单选按钮单选按钮( (RadioButtonRadioButton) ) 例单选题测试例单选题测试(1 1)主要属性)主要属性 TextText属性属性 按钮上显示的文本按钮上显示的文本 CheckedChecked属性属性 表示单选按钮的状态:表示单选按钮的状态: True True 被选定被选定 False False

29、未被选定未被选定本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录32327.1.1 7.1.1 单选按钮单选按钮 (2 2)主要事件)主要事件 ClickClick 单击后使单击后使CheckedChecked属性为属性为TrueTrue CheckedChanged CheckedChanged 当某个单选按钮的当某个单选按钮的状态被发生变化,该事件随之被触发。状态被发生变化,该事件随之被触发。本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录3333例多选题测试例多选题测试(1 1)主要属性和事件)主要属性和事件 与单选有相同的属性和事件,增加了:

30、与单选有相同的属性和事件,增加了: CheckState CheckState 属性属性 表示复选框状态表示复选框状态Unchecked Unchecked 未选定未选定Checked Checked 被选定被选定Indeterminate Indeterminate 灰色,灰色,2.2.复选框复选框( (CheckBoxCheckBox) ) 代码说明代码说明本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录34343.3.分组分组 ( (GroupBoxGroupBox) ) 建立:建立分组,然后将各控件放置其中。建立:建立分组,然后将各控件放置其中。属性属性TextT

31、ext属性属性 框架上的标题文本框架上的标题文本框架可以响应框架可以响应ClickClick和和DoubleClickDoubleClick事事TextText属性属性 分组的标题,无则封闭框线分组的标题,无则封闭框线一般不需要编写事件过程。一般不需要编写事件过程。本章目录本章目录特性:移动、复制、删除特性:移动、复制、删除框架框架,或对该控件进行,或对该控件进行Enabled、Visible属性设置时,也同样作用于该组属性设置时,也同样作用于该组内的其他控件。内的其他控件。 VB.NET程序设计教程程序设计教程本书目录本书目录3535例4.12 通过单选按钮和分组控件设置文本框的Font属性

32、。带来问题:带来问题:分组上的六个单选按分组上的六个单选按钮,编写钮,编写6个事件过程个事件过程解决的方法:解决的方法: 共享事件处理过程共享事件处理过程 VB.NET程序设计教程程序设计教程本书目录本书目录3636例例4.13 对上例进行改变,再增加字型复选框,用对上例进行改变,再增加字型复选框,用一个事件过程实现。一个事件过程实现。实现思想:实现思想:对每个按钮要进行状态判断对每个按钮要进行状态判断何为共享事件处理过程?共享事件处理过程?即多个控件共享事件处理过程 ,形式:对象对象_事件(参数)事件(参数)Handles 对象对象.事件,对象事件,对象2.事件,事件, VB.NET程序设计

33、教程程序设计教程本书目录本书目录3737例例4.14 通过单选按钮和复选框选修课程。通过单选按钮和复选框选修课程。关键处理关键处理:u只要有一个选择按钮触发只要有一个选择按钮触发;u就要逐一检查选择按钮的状态就要逐一检查选择按钮的状态;u并更新文本框内容。并更新文本框内容。 VB.NET程序设计教程程序设计教程本书目录本书目录38384.3 4.3 循环结构循环结构 计算机最擅长的功能之一就是按规定的条件,计算机最擅长的功能之一就是按规定的条件,重复执行重复执行某些操作。某些操作。4.3.1引例引例求的近似值u 祖冲之用了祖冲之用了15年算出年算出值到小数点后面值到小数点后面7位;位;u 第一

34、台计算机计算到第一台计算机计算到2000多位多位u 1999年东京大学年东京大学2061.5843亿亿例例4.15 验证祖冲之有效位验证祖冲之有效位7位的计算位的计算 本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录3939VB中提供了主要的两类循环语句:中提供了主要的两类循环语句:u For循环语句循环语句(一般已知循环次数);一般已知循环次数);u Do条件型循环语句条件型循环语句(一般未知循环次数一般未知循环次数). VB.NET程序设计教程程序设计教程本书目录本书目录40404.3.2 For4.3.2 For循环语句循环语句 For循环语句用于控制循环次数预知的

35、循环结构。循环语句用于控制循环次数预知的循环结构。For For 循环变量循环变量 初值初值 To To 终值终值 Step 步长步长语句块语句块Exit For语句块语句块Next Next 循环变量循环变量循环变量必须为数值型。循环变量必须为数值型。循环次数循环次数) 1(步长初值终值Int 0 初值初值终值终值 =1 时,可省略时,可省略终值终值=0 死循环死循环步长步长例例4.16 计算计算1100的奇数和 本章目录本章目录Dim i%, sum%For i = 1 To 100 Step 2 sum = sum + iNext iMsgBox(sum) VB.NET程序设计教程程序设

36、计教程本书目录本书目录4141分别用For、If语句实现循环,理解For语句执行过程Dim i%, sum%Sum=0For i = 1 To 100 Step 2 sum = sum + iNext iMsgBox(sum) Sum=0 i=2Re: If i = 100 Then sum = sum + I i=i+2 GoTo Re End If VB.NET程序设计教程程序设计教程本书目录本书目录4242ForFor循环语句循环语句 循环流程:循环流程:(1) 循环变量被赋初值,它循环变量被赋初值,它仅被赋值一次。仅被赋值一次。(2) 判断循环变量是否在终判断循环变量是否在终值内,如果

37、是,执行循环体;值内,如果是,执行循环体;如果否,结束循环,执行如果否,结束循环,执行Next的下一语句。的下一语句。(3) 循环变量加步长,转循环变量加步长,转(2),继续循环继续循环 T T 循环变量终值 语句块 语句块 循环变量=循环变量+步长 F 循环变量=初值 有 Exit For F Next 的下一语句 例例4.17 4.17 将可打印的将可打印的ASCIIASCII码码制成表格输出制成表格输出 本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录43434.3.3 DoLoop4.3.3 DoLoop循环语句循环语句 Do循环用于控制循环次数未知的循环结构。循

38、环用于控制循环次数未知的循环结构。形式形式1: Do Do While|UntilWhile|Until 语句块语句块 Exit Do 语句块语句块LoopLoop形式形式1为先判断后执行,有可能一次也不执行;为先判断后执行,有可能一次也不执行;形式形式2为先执行后判断,至少执行一次。为先执行后判断,至少执行一次。 形式形式2:Do 语句块语句块 Exit Do 语句块语句块Loop While|Until 本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录4444DoLoopDoLoop流程流程 F T 语句块 语句块 Do WhileLoop 表达式列表 1 有 Exi

39、t Do F T T F 语句块 语句块 表达式列表 1 Do Loop While 有 Exit Do F T 本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录4545循环例题循环例题例例4.18 4.18 我国有我国有1313亿人口,按人口年增长亿人口,按人口年增长0.8%0.8%计算,多少年后我国人口超过计算,多少年后我国人口超过2626亿。亿。解此问题两种方法解此问题两种方法:u 直接利用标准函数直接利用标准函数 问题问题:1)但求得的年数不为整数但求得的年数不为整数 2) 得不到实际人数得不到实际人数)008. 1log()2log(n 0.008)13(126

40、nu 利用循环求得利用循环求得 上述两个问题解决了上述两个问题解决了本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录4646循环例题循环例题例例4.194.19用辗转相除法求两自然数的最大公约数。用辗转相除法求两自然数的最大公约数。求最大公约数的算法思想:求最大公约数的算法思想:(1)对于两数对于两数m,n,使得使得mn(2) m除以除以n得余数得余数r例例 m=14 ,n=6 的最大公约数的最大公约数If m n Then t = m: m = n: n = tr=m mod nDo While (r 0) m=n n=r r= m mod nLoopMsgBox “最

41、大公约数最大公约数=” & n辗转相减法辗转相减法 m=m-n mn n=n-m nm m、n为公约数为公约数 m=nDo While m n m n If m n Then 14 6 m = m n 8 6 Else 2 6 n = n m 2 4 End If 2 2Loop(3)若若r=0,则,则n为最大公约数,为最大公约数,结束;否则执行结束;否则执行(4)(4)mn,nr,再重复执行,再重复执行(2)本章目录本章目录流程图流程图 VB.NET程序设计教程程序设计教程本书目录本书目录47474.3.4 4.3.4 循环的嵌套循环的嵌套 在一个循环体内又包含了一个完整的循环结在一

42、个循环体内又包含了一个完整的循环结构称为循环的嵌套。构称为循环的嵌套。 循环嵌套对循环嵌套对For循环语句和循环语句和DoLoop语句均适用。语句均适用。例例4.204.20 打印九九乘法表打印九九乘法表本章目录本章目录思考:思考:打印上三角或下三角程序如何改动?打印上三角或下三角程序如何改动? VB.NET程序设计教程程序设计教程本书目录本书目录48484.4 4.4 其他控制语句和控件其他控制语句和控件 4.4.1 Go To 语句语句 无条件地转移到标号或行号指定的那行语句。无条件地转移到标号或行号指定的那行语句。 Go To Go To 标号标号| |行号行号 本章目录本章目录代码说明

43、代码说明注意:标号符合标识符规定注意:标号符合标识符规定,后应有冒号;后应有冒号; 行号是一个行号是一个 数字序列;数字序列; VB.NET程序设计教程程序设计教程本书目录本书目录4949例例4.4.2121判断输入的数是否为素数判断输入的数是否为素数 定义定义: : 素数就是除素数就是除1 1和本身以外,不能被其他任何整和本身以外,不能被其他任何整数整除的数。数整除的数。 算法算法: m : m 依次用依次用i=2m-1i=2m-1去除,只要有一个数能整除去除,只要有一个数能整除m m,m m就不是素数;否则就不是素数;否则m m是素数。是素数。 要求一定范围内的素数,只要将要求一定范围内的

44、素数,只要将m作为外循环体变量。作为外循环体变量。 本章目录本章目录代码说明代码说明注意:标号符合标识符规定注意:标号符合标识符规定,后应有冒号;后应有冒号; 行号是一个行号是一个 数字序列;数字序列;注意注意: Goto不符合结构化程序设计的规定不符合结构化程序设计的规定改进改进: 增加一个逻辑型变量增加一个逻辑型变量Tag,用以判断是否被整除过,用以判断是否被整除过例例4.22 VB.NET程序设计教程程序设计教程本书目录本书目录50504.4.2 Continue4.4.2 Continue、ExitExit和和EndEnd语句语句1. Continue 语句语句 VB.NET 2005

45、中新增中新增,.形式形式: Continue For Continue For 、 Continue DoContinue Do2. Exit语句语句 VB中有多种形式的中有多种形式的Exit语句,用于退出某种语句,用于退出某种控制结构的执行。控制结构的执行。Exit的形式如下:的形式如下: Exit ForExit For、Exit DoExit Do、 Exit SubExit Sub、Exit FunctionExit Function用于循环结构用于循环结构, ,相当于循环的断路相当于循环的断路本章目录本章目录用于循环结构用于循环结构, ,相当于循环的断路相当于循环的断路。 主要用于循

46、环结构主要用于循环结构, ,相当于本次循环的短路相当于本次循环的短路4.23比较比较 VB.NET程序设计教程程序设计教程本书目录本书目录51514.4.2 Continue4.4.2 Continue、ExitExit和和EndEnd语句语句3.End语句语句 1)独立的独立的EndEnd语句语句 用于结束一个程序的运行,它可以放在任何事用于结束一个程序的运行,它可以放在任何事件过程中。件过程中。 2)与其他控制结构关键字配套的与其他控制结构关键字配套的EndEnd语句语句 用于结束一个控制语句或过程或块,相当于语用于结束一个控制语句或过程或块,相当于语句括号。句括号。End语句的多种形式如

47、下:语句的多种形式如下: End If End If 、End SelectEnd Select、End WithEnd With、 End TypeEnd Type、End FunctionEnd Function、End SubEnd Sub等,等,本章目录本章目录 VB.NET程序设计教程程序设计教程本书目录本书目录525.3滚动条、进度条和定时器滚动条、进度条和定时器 1. 滚动条滚动条(ScrollBarScrollBar) 用于数据输入工具,也可显示用于数据输入工具,也可显示数据数据。 滚动条有水平(滚动条有水平(H)和垂直()和垂直(V)两种。)两种。本章目录本

48、章目录主要属性主要属性vValueValue ( (缺省为缺省为0)0)vMinimumMinimum ( (缺省为缺省为0)0)vMaximum Maximum ( (缺省为缺省为100)100)vSmallChangeSmallChange改变值改变值( (缺省为缺省为1)1)vLargeChangeLargeChange改变值改变值( (缺省为缺省为10)10) VB.NET程序设计教程程序设计教程本书目录本书目录5353主要事件主要事件 Scroll Scroll 当拖动滑块时触发当拖动滑块时触发 ValueChanged ValueChanged 改变改变ValueValue属性时触

49、发属性时触发例例4.24 设计一个调色板应用程序。设计一个调色板应用程序。设计思想:设计思想: 三个滚动代表三种基本颜色的输入工具三个滚动代表三种基本颜色的输入工具代码说明代码说明本章目录本章目录注意:任意一个颜色改变均为影响合成的颜色,注意:任意一个颜色改变均为影响合成的颜色,因此用共享事件来简化编程。因此用共享事件来简化编程。 VB.NET程序设计教程程序设计教程本书目录本书目录54542. 进度条进度条(ProgressBar) 用来指示事务处理的进度用来指示事务处理的进度. 显示的填充数显示的填充数ValueValue值是值是MaximumMaximum和和MinimumMinimum

50、间的比值间的比值。 主要属性:主要属性: MaximumMaximum、MinimumMinimum、 ValueValue 编程使用方法编程使用方法:u确定确定Maximum 值。例如,如果正在下载文件,值。例如,如果正在下载文件,Maximum 值为文件的字节数。值为文件的字节数。u变化的变化的Value值,使得进度条变化。例如,在该文值,使得进度条变化。例如,在该文件下载过程中,件下载过程中,Value的值为当前已下载的字节数的值为当前已下载的字节数。例例4.25 设计带有进度条的倒计时程序设计带有进度条的倒计时程序 VB.NET程序设计教程程序设计教程本书目录本书目录55553. 3.

51、 定时器定时器( (TimerTimer) ) 定时器以一定的时间间隔产生定时器以一定的时间间隔产生TickTick事件事件 q 属性属性EnabledEnabled 为为FalseFalse时定时器不产生时定时器不产生TickTick事件事件Interval Interval 触发触发TickTick事件的时间间隔,单位事件的时间间隔,单位msq 事件事件 定时器控件只有一个定时器控件只有一个TickTick事件事件产生产生Tick事件条件事件条件 Enabled=True; Interval0例例4.26用一个定时器控制蝴蝶在窗体内的飞舞用一个定时器控制蝴蝶在窗体内的飞舞 本章目录本章目录

52、思考:如何控制飞的速度、如何控制飞的每次距离?思考:如何控制飞的速度、如何控制飞的每次距离? 如果飞的过程有三个状态又如何编程?如果飞的过程有三个状态又如何编程? VB.NET程序设计教程程序设计教程本书目录本书目录56564.5 4.5 综合应用综合应用 1. 自测四则运算自测四则运算 例例4.15 由计算机自动产生四则运算题,并能判断答由计算机自动产生四则运算题,并能判断答案的正确性。案的正确性。设计思路:设计思路:(1)通过随机函数通过随机函数Rnd产生试题的操作数和运算符,产生试题的操作数和运算符,运算符运算符+、-、可对应编号可对应编号14。产生表达式通。产生表达式通过过Form_L

53、oad事件过程。事件过程。(2)需要有一个全局变量保存四则运算题的正确答案,需要有一个全局变量保存四则运算题的正确答案,用户答案可通过文本框输入。用户答案可通过文本框输入。(3)本题主要将随机函数、本题主要将随机函数、If语句、语句、Select语句综合在语句综合在一起使用。一起使用。本章目录本章目录代码说明代码说明 VB.NET程序设计教程程序设计教程本书目录本书目录57574.5 4.5 综合应用综合应用 这种方法一般求近似解。这种方法一般求近似解。 关键:找出通项、精度(结束循环条件)关键:找出通项、精度(结束循环条件)近似公式近似公式 本章目录本章目录代码说明代码说明简化:已知简化:已

54、知(i-1)!,要求,要求i!,只要(,只要(i-1)!*i就可,这样就可,这样就简化成只要通过一重循环求累加(就简化成只要通过一重循环求累加( )就可。)就可。 1.1.计算部分级数和计算部分级数和 例例4.27求自然对数求自然对数e的近似值,其误差小于的近似值,其误差小于0.00001。分析:本例涉及到程序设计中两个重要运算:分析:本例涉及到程序设计中两个重要运算: 累加累加 、连乘、连乘 。nii1!1nii1nii1 VB.NET程序设计教程程序设计教程本书目录本书目录58582.2.试凑法试凑法例例4.28 百元买百鸡。假定小鸡每只百元买百鸡。假定小鸡每只5角,公鸡每只角,公鸡每只2

55、元,元,母鸡每只母鸡每只3元,编程求解购鸡方案。元,编程求解购鸡方案。分析:分析: 设母鸡、公鸡、小鸡各为设母鸡、公鸡、小鸡各为x、y、z,列出方程为:,列出方程为:x+y+z= 1003x+2y+0.5z = 100三个未知数,两个方程,此题求若干个整数解。三个未知数,两个方程,此题求若干个整数解。本章目录本章目录 将可能出现的各种情况一一罗列测试,判断是将可能出现的各种情况一一罗列测试,判断是否满足条件,采用循环结构来实现。否满足条件,采用循环结构来实现。 VB.NET程序设计教程程序设计教程本书目录本书目录59593. 3. 递推法(又称为迭代法)递推法(又称为迭代法)例例4.29小猴有

56、桃若干,第一天吃掉一半多一个;第二天小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第半多一个,到第7天只剩一个,问小猴原有桃多少?天只剩一个,问小猴原有桃多少?分析:用后一天的数推出前一天的桃子数。设第分析:用后一天的数推出前一天的桃子数。设第n天的天的桃子为桃子为xn,是前一天的桃子的二分之一减去,是前一天的桃子的二分之一减去1。 本章目录本章目录思想把一个复杂的计算过程转化为简单过程的多次重复。思想把一个复杂的计算过程转化为简单过程的多次重复。方法:是已知(或假设)一个初(旧)值,通过公

57、式递方法:是已知(或假设)一个初(旧)值,通过公式递推出新值,并由新值代替旧值,不断重复。推出新值,并由新值代替旧值,不断重复。2)1(12111nnnnxxxx也就是:即:迭代法类似的应用求高次方程的近似根。迭代法类似的应用求高次方程的近似根。 VB.NET程序设计教程程序设计教程本书目录本书目录60604. 自测四则运算自测四则运算 例例4.30 由计算机自动产生四则运算题,并能判断答由计算机自动产生四则运算题,并能判断答案的正确性。案的正确性。设计思路:设计思路:本章目录本章目录代码说明代码说明u 通过随机函数通过随机函数RndRnd产生试题的操作数和运算符,运算产生试题的操作数和运算符

58、,运算符符+ +、- -、可对应编号可对应编号1414。产生表达式通过。产生表达式通过Form_LoadForm_Load事件过程。事件过程。u 需要有一个全局变量保存四则运算题的正确答案,需要有一个全局变量保存四则运算题的正确答案,用户答案可通过文本框输入。用户答案可通过文本框输入。u 本题主要将随机函数、本题主要将随机函数、IfIf语句、语句、SelectSelect语句综合在语句综合在一起使用。一起使用。 VB.NET程序设计教程程序设计教程本书目录本书目录61615.控件应用控件应用例例4.31模拟车子在交通灯的控制下行使过程模拟车子在交通灯的控制下行使过程 分析:分析:本章目录本章目录定时器定时器和和文本框文本框控制交通灯三种信号切换;控制交通灯三种信号切换;小车行驶到停车线附近,根据交通灯的情况进行控制:小车行驶到停车线附近,根据交通灯的情况进行控制: 1)红灯和黄灯,减速行驶红灯和黄灯,减速行驶,直到停车线时停止;,直到停车线时停止; 2)绿灯继续行驶绿灯继续行驶 3)若不到

温馨提示

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

评论

0/150

提交评论