第3章VisualBasic的程序控制结构ppt课件.ppt

上传人:本田雅阁 文档编号:2549351 上传时间:2019-04-06 格式:PPT 页数:59 大小:660.51KB
返回 下载 相关 举报
第3章VisualBasic的程序控制结构ppt课件.ppt_第1页
第1页 / 共59页
第3章VisualBasic的程序控制结构ppt课件.ppt_第2页
第2页 / 共59页
第3章VisualBasic的程序控制结构ppt课件.ppt_第3页
第3页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第3章VisualBasic的程序控制结构ppt课件.ppt》由会员分享,可在线阅读,更多相关《第3章VisualBasic的程序控制结构ppt课件.ppt(59页珍藏版)》请在三一文库上搜索。

1、第3章 Visual Basic的程序控制结构,三种基本的流程控制结构:顺序结构、条件分支结构和循环结构。,Visual Basic基本控制结构,语句1,语句2,语句n,条件?,语句块1,语句块2,循环体,条件?,在顺序结构中程序语句是严格按书写顺序依次执行,是最简单、最基本的控制结构。,语句1,语句2,语句n,3.1 顺序结构,赋值语句:先计算出赋值号右边表达式的值,再将值赋给左边的变量。 格式: 变量名表达式 自定义变量 变量名表达式 系统变量 对象名.属性名表达式,3.1.1 赋值语句,变量名表达式 说明: (1)表达式只能在赋值号右边,两边数据类型不同时,符合条件的自动转换否则会报错。

2、 两边都是数值型,强制转换为左边变量的类型; 字符串-数值型,含非数值型字符/空串出错。 逻辑值赋给数值变量时,True-1,False0;数值赋值给逻辑变量时,非0True,0False,3.1.1 赋值语句,变量名表达式 说明: (2) 赋值语句的赋值号和等号作用不同。 (3) 左边只能是变量,不能是常量、函数或表达式。 (4)不能用一个赋值语句同时给多个变量赋值。 (5)变量未赋值,系统将给变量赋一个默认值。,3.1.1 赋值语句,1 输入框InputBox函数 InputBox函数显示一个能接受用户输入的对话框,并返回用户所输入信息。 变量=InputBox (,) (1)提示信息和标

3、题同MsgBox (2)默认内容:指定输入框中的默认内容。 (3)省略某些选项时逗号不能省略。 (4)默认值或输入框中出现乱码,需安装sp6补丁。 (5)返回值为字符类型,可用Val()转换为数值型。,3.1.2 数据输入和输出,例3-1 利用InputBox()函数,编写一个输入学生的姓名的对话框,并显示在窗体上。,Private Sub Form_Click() Dim sName As String sName = InputBox(“请输入学生姓名:“, _ “姓名输入“, “张三“) Form1.Print sName End Sub,3.1.2 数据输入和输出,2 消息框MsgBo

4、x 两种使用方式:函数方式和语句方式。 1) 函数方式: 变量 = MsgBox(,类型,标题) (1)提示信息:对话框内显示的字符串(1024个) (2)类型:表示按钮数目、图标类型及默认按钮位置 (3)标题:省略显示程序名 (4)返回值:返回记录用户选择的一个整数 (5)注意:省略类型选项时,逗号不能省,3.1.2 数据输入和输出,例3-2 MsgBox()使用实例。在窗体单击事件中编写如下程序:,Private Sub Form_Click() Dim a As Integer a = MsgBox(“请你先注册!“, 1 + 16 + 256 + 0, “MsgBox例子“) Prin

5、t a End Sub,3.1.2 数据输入和输出,P50 表2-10,表2-11,例:2-1,a = MsgBox( “请你先注册“ , 1 + 16 + 256 + 0, “msgbox例子“),由第一项产生,此两项由中间项产生,由第三项产生,将第二个按钮“取消”设为默认值,显示叉号,显示“确定”与“取消”两个按钮,2 消息框MsgBox 2) 语句方式 MsgBox函数也可写成语句形式: MsgBox “提示信息”,类型,标题 由于MsgBox语句没有返回值,因而常用于简单信息的显示 注意1:MsgBox语句不带括号(只一个参数可以加)。 注意2:需要返回值时必须用函数形式。,3.1.2

6、 数据输入和输出,3 Print方法 . Print Spc (n)|Tab (n) ,| ; (1) 对象名称为窗体、图片框或打印机。若省略“对象”,则在当前窗体上输出。 (2) 一个或多个表达式。对于数值表达式,输出表达式的值;而字符串则照原样输出。如省略“表达式表”,则输出一个空行。,3.1.2 数据输入和输出,3 Print方法 (3) 输出时,可用分隔符隔开多个表达式或字符串。 逗号:按标准(分区以14个字符位为单位把输出行分为若干区段)输出格式显示数据项。 分号或空格:按紧凑格式输出数据。 (4) 语句末是“;”、“,”或省略,下一语句输出位置不同。 (5) Print方法具有计算

7、和输出双重功能。,3.1.2 数据输入和输出,例3-3 输入半径,计算球的体积和表面积,输出在窗体中。,Dim R As Double, V As Double, S As Double Const PI = 3.1415926 R = Val(InputBox(“请输入球的半径r:“) Print Form1.Print “球的半径R=“, R, “mm“ Print V = 4 / 3 * PI * R 3 S = 4 * PI * R 2 Print “球的体积V=“; V; “mm3“ Print Print “球的表面积S=“; S; “mm2“,3.1.2 数据输入和输出,4 Pr

8、int方法有关的函数 (1)Tab函数 Tab(n) 用于定位输出,n表示位置。含多个Tab(n),n值必须递增,否则自动换行。用;隔开。 (2)Spc函数 Spc(n) n表示插入空格数。用;隔开。 Tab(n)从对象的左端开始计数, Spc(n)两输入项之间间隔。,3.1.2 数据输入和输出,5 格式输出函数 使数值、日期或字符按指定的格式输出。 格式: Format (表达式,格式字符串) “表达式”表示要输出的内容。 “格式字符串”指定输出格式。 (1) 数值的格式化 (2) 日期和时间格式化 (3) 字符串格式化,3.1.2 数据输入和输出,5 格式输出函数 1) 数值的格式化,3.

9、1.2 数据输入和输出,5 格式输出函数 1) 数值的格式化,3.1.2 数据输入和输出,5 格式输出函数 2) 日期和时间格式化,3.1.2 数据输入和输出,例3-4 时间输出格式化。,Private Sub form_Click() Form1.Caption = Now Mytime = #10:12:34 PM# Mydate = #3/17/2008# Print Tab(6); Format(Mydate, “dddddd“) Print Tab(6); Format(Mytime, “tttttAM/PM“) Print Tab(6); Format(Mydate, “ddddd

10、“) Print Tab(6); Format(Mydate, “mmmm“) Print Tab(6); Format(Mytime, “ttttt“) End Sub,3.1.2 数据输入和输出,5 格式输出函数 3) 字符串格式化,3.1.2 数据输入和输出,3.1.3 暂停与程序结束语句,暂停语句 Stop 程序结束语句 End,a,b,c,3,3,4,3,4,分析:需借助于第三个变量间接交换。,c=a a=b b=c,例3-5 编写程序交换两个变量中数据。,3.1.4 应用举例,用于根椐某个给定条件进行判断或比较的结果来决定执行什么样的操作,这就需要用到选择结构(又称为条件分支结构)

11、来实现。,3.2 选择结构,4.2.1 If语句 1.单分支If语句 单分支结构语句有单行结构和块结构两种用法。 单行结构: If 条件表达式 Then 程序语句(一行) 块结构: If 条件表达式 Then 程序语句块(多行) End If,.F.,.T.,条件?,语句(块),IF,End IF,3.2 选择结构,3.2.1 单分支If语句 已知两个变量x和y,如过x值小于y值,则两者进行数据交换,否则不交换。,If x y Then t = x x = y y = t End If,3.2 选择结构,例 编写一个密码验证程序。,If Text2.Text = “123“ Then MsgB

12、ox “欢迎进入系统“, 64 + 1, “登录“ End If,3.2 选择结构,3.2.2 双分支If语句 语法格式 If 条件表达式 Then 语句块1 Else 语句块2 End If,.F.,.T.,条件?,语句块1,语句块2,IF,End IF,3.2 选择结构,3.2.2 双分支If语句 例 计算分段函数:,If x 0 Then y = Sin(x) + Sqr(x 2 + 1) Else y = Cos(x) - x 3 + 3 * x End If,3.2 选择结构,3.2.3 多分支条件语句 1. 多分支If语句 语法格式 If 条件表达式1 Then 语句块1 Else

13、If 条件表达式2 Then 语句块2 Else 语句块n+1 End If,特别注意:如果有多个条件表达式的值都为True,程序只执行最先遇到的条件表达式后面的语句块。 当所有条件的值都为False时,程序直接执行最后的Else子句。,3.2 选择结构,3.2 选择结构,例3-6 编程将学生的百分制成绩转换成等级制,90分以上(包括90)为A,8090分(包括80)为B,7080分(包括70)为C,6070分(包括60)为D,60分以下为F。,If bGrade = 90 Then Dgrade = “A“ ElseIf bGrade = 80 Then Dgrade = “B“ ElseI

14、f bGrade = 70 Then Dgrade = “C“ ElseIf bGrade = 60 Then Dgrade = “D“ Else Dgrade = “F“ End If,3.2 选择结构,3.2.3 多分支条件语句 2. Select Case语句 语法格式 Select Case 测试条件表达式 Case 表达式表列1 语句块1 Case 表达式表列2 语句块2 Case Else 语句块n End Select,3.2 选择结构,3.2 选择结构,3.2 选择结构,语法格式中的“变量或条件表达式”,变量只能是一个变量,其类型既可以是数值型,也可以是字符串型。 语法格式中的

15、“表达式列表”必须与“条件表达式”的类型相同,可以是以下三种形式: 表达式:这种表达式通常用来表达一些具体的取值,如case 2,4,6,8等。 表达式 to 表达式:常用于表示一个数据范围,如 case 20 to 50 Is 比较运算符表达式:Is 与比较运算符连用,指定变量或条件表达式的条件。,3.2 选择结构,使用“表达式表列”时应注意: 用关键字“To”指定范围时,必须把较小的值写在前面,较大的值写在后面,字符串常量的范围必须按字母顺序写出。 如使用关键字Is,则只能用关系运算符,不能用逻辑运算符将两个或多个简单条件组合在一起。 在一个Select Case语句中,三种形式在数据类型

16、匹配的情况下可以混用,如: Case 5,6, 8 to 10,12,Is50,例3-7 将例3-6的程序用Select Case语句编写。,例 试编写程序,判断键盘所输入的字符是大写字母、小写字母、数学字符还是其它字符。,3.2 选择结构,3.2.3 多分支条件语句 3.If语句的嵌套 如果在If语句的语句块1或语句块2中又包含If语句,则构成If语句的嵌套。,3.2 选择结构,If 条件表达式1 Then 语句块1 Else 语句块2 End If,If 条件表达式11 Then 语句块11 Else 语句块12 End If,If 条件表达式12 Then 语句块21 End If,3.

17、2.3 多分支条件语句 3.If语句的嵌套,例3-9 某企业推销产品,购买10t以下1500元/t,超过10t不到15t者1200元/t,超过15t按1000元/t计价。编写程序输入购买重量,计算应付款项。,3.2 选择结构,3.2.3 多分支条件语句 4. 条件函数 (1)IIf函数 用于执行简单的条件判断操作,语法格式为: 变量 = IIf (条件表达式,True部分,False部分) 功能:表达式为True,返回True部分,否则返回False部分。 True部分和False部分可以是表达式、变量或者其它函数。 注意:IIf函数中的三个参数均不能省略,且后两部分数据类型和保存结果相同。,

18、3.2 选择结构,3.2.3 多分支条件语句 4. 条件函数 (2)Choose函数 Choose函数的语法格式为: 变量 = Choose (整数表达式,选项列表) 功能:根据整数表达式的值,返回选项列表中的相应值。 注意:若整数表达式的值1或大于选项数目,函数返回“Null”。,3.2 选择结构,例3-10 试编写程序,判断所输入年份是否是闰年。,例 某商场打折优惠办法如下: 购物100元以上,按九五折; 购物500元以上,按九折; 购物1000元以上,按八五折; 购物5000元以上,按八折; 试编写程序,输入顾客购物款,显示应付款。,3.2 选择结构,3.2 选择结构,1在选择结构中缺少

19、配对的结束语句 对多行式的 If 块语句中,应有配对的 End If 语句结束。 2.多条件选择ElseIf 的书写和条件表达式的表示 要注意 ElseIf 不要写成Else If; 3. Select Case语句的使用 Select Case 后不能出现多个变量; Case子句后不能出现变量否则计算结果错。,选择结构常见错误:,Visual Basic的循环控制结构包括: 计数循环(For-Next循环) 条件循环 Do循环(Do-Loop循环) 当循环(While-Wend循环),3.3 循环结构,3.3.1 ForNext循环 语法格式: For 循环变量=初值 To 终值 Step

20、步长 语句块1 Exit For 语句块2 Next 循环变量,3.3 循环结构,循环变量赋初值,与终值比较,语句块,Exit for,语句块,语句块,加步长,未超过,超过,For循环流程图,3.3 循环结构,例3-11 计算并显示1+2+3+100的和。,3.3 循环结构,例3-12 编写程序显示1001000以内所有能被77整除的自然数。,例3-11 计算n!,即计算1*2*n的值。,3.3.2 DoLoop循环 Do循环有两种格式:,Do While|Until条件 语句块1 Exit Do 语句块2 Loop,Do 语句块1 Exit Do 语句块2 Loop While|Until条

21、件,前测型循环,后测型循环,3.3 循环结构,T,F,F,T,While,T,F,F,T,Until,Do While 条件 语句块1 Exit Do 语句块2 Loop,Do 语句块1 Exit Do 语句块2 Loop While 条件,Do Until 条件 语句块1 Exit Do 语句块2 Loop,Do 语句块1 Exit Do 语句块2 Loop Until 条件,3.3 循环结构,例4-14 编程计算n!,即计算1*2*n的值。,例4-16 输入两个自然数,用辗转相除法求最大公约数。,3.3 循环结构,【例3-13】计算0200之间所有偶数之和。,【例3-14】数学上把只能被1

22、或自身整除的整数称为素数。编写程序用键盘输入一个大于2的整数,并判断该数是否是素数。,3.3 循环结构,3.3.3 WhileWend循环 格式: While 条件 语句块 Wend,T,F,开始,结束,执行循环体,计算“条件”值,条件为真吗?,3.3 循环结构,【例3-15】利用公式 可以求出自然对数的底e的近似值,要求累加到最后一项的值小于0.000001为止。,【例3-16】编写程序将一个正整数n按逆序输出。如正整数385,程序输出为583。,3.3 循环结构,3.3.4 循环的嵌套 单层循环:循环体内不含循环语句的循环。 多重循环:循环体内含有循环语句的循环。也可称为多层循环或循环嵌套。 应用举例,3.3 循环结构,【例3-17 】编程输出窗体上的图形。,【例3-18】编写程序,在窗体上输出100200之间的所有素数。,3.3 循环结构,【例3-20】求解百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,编程列出所有可能的购鸡方案。,【例3-19】打印如图3-20所示的九九乘法表。,3.3 循环结构,3.3 循环结构,【例3-21】猴子吃桃子。小猴一天摘了若干个桃子,当天就吃掉一半多一个;第二天接着吃了剩下的桃子的一半多一个;以后每天都吃掉尚存桃子的一半多一个,到第7天早上要吃时只剩下一个了,问小猴那天共摘了多少只桃子。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1