收藏 分享(赏)

Ch04VisualBasic的控制结构PPT课件.ppt

上传人:Facebook 文档编号:3833695 上传时间:2018-11-20 格式:PPT 页数:118 大小:1,014.50KB
下载 相关 举报
Ch04VisualBasic的控制结构PPT课件.ppt_第1页
第1页 / 共118页
Ch04VisualBasic的控制结构PPT课件.ppt_第2页
第2页 / 共118页
Ch04VisualBasic的控制结构PPT课件.ppt_第3页
第3页 / 共118页
Ch04VisualBasic的控制结构PPT课件.ppt_第4页
第4页 / 共118页
Ch04VisualBasic的控制结构PPT课件.ppt_第5页
第5页 / 共118页
点击查看更多>>
资源描述

1、2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),1/116,第 4 章 Visual Basic的控制结构,Visual Basic将复杂的功能划分为由一个个相对较小的事件过程来完成。而过程内部的执行流程是由代码本身决定的,代码所采用的控制结构决定了过程内部的执行流程 本章介绍结构化程序设计所采用的3种基本控制结构 : 顺序结构、选择结构、循环结构,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),2/116,教学要求,了解算法概念及表示,掌握用N-S流

2、程图表示算法 熟练掌握赋值语句、输入/输出消息框函数的使用 熟练掌握行 If 语句、块 If 结构、Select Case情况选择结构有使用,掌握选择的嵌套结构 熟练掌握实现循环结构的For/Next循环结构及Exit For语句、Do/Loop循环结构的使用,掌握多重循环 能够运用三种结构进行综合程序设计 本章重点是选择结构及循环结构的实现及其应用;本章难点是算法设计、选择的嵌套及多重循环结构,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),3/116,第 1 节 算法及算法的表示,程序设计不仅仅是编写程序,它是开发程序

3、的全过程。在编写程序之前,应充分分析题目中给出的信息,哪些是已知的,哪些是需要解决的,如何求解这个问题,解决这个问题需要采取哪些方法和步骤,这就是所谓的算法。用算法描述问题的求解过程,然后按照算法编写出程序,最后通过计算机运行程序,得到问题的答案。从这个角度上讲,算法是程序设计的基础,是程序设计的第一步 本节介绍算法的概念、特性和表示,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),4/116,一、算法概述,广义地讲 : 算法是为完成一项任务所应当遵循的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的 狭义地讲

4、: 算法是解决一个问题采取的方法和步骤的描述,例1 : 输入三个数,然后输出其中最大的数,将三个数依次输入到变量A、B、C中,设变量Max存放最大数。其算法如下 : 输入A、B、C A与B中大的一个放入Max中 把C与Max中大的一个放入Max中 输出Max,Max即为最大数,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),5/116,算法概述,其中的2)、3)两步不明确,无法直接转化成程序语句,可以继续细化 : 2) 若AB,则Max=A;否则Max=B 3) 若CMax,则Max=C,算法最后可以表述如下 :,输入A、

5、B、C 若AB,则Max=A;否则Max=B 若CMax,则Max=C 输出Max,Max即为最大数,ex04-1-01,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),6/116,算法概述,例2 : 输入10个数,打印输出其中最大的数,算法设计如下 : 输入1个数,存入变量A中,将记录数据个数的变量N赋值为1,即N=1 将A存入表示最大值的变量Max中,即Max=A 再输入一个值给A,如果AMax 则Max=A,否则Max不变 让记录数据个数的变量增加1,即N=N+1 判断N是否小于10,若成立则转到第3)步执行,否则转

6、到第6)步 打印输出Max,ex04-1-02,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),7/116,二、算法的特性,算法是对一个问题的解决方法和步骤的描述,是一个有穷规则的集合。一个算法具有以下的特性 : 1) 有穷性 必须在执行有穷计算步骤后终止 2) 确定性 算法步骤必须精确定义、无二义性 3) 有效性 算法中的每一个步骤有效地执行,并能得到确定结果 4) 输入 一个算法中可以没有输入,也可以有一个或多个输入信息 5) 输出 一个算法应有有一个或多个输出,2018年11月20日星期二,Ch04 Visual B

7、asic 的控制结构 - 大学计算机基础(Hemingrui),8/116,三、算法的表示,自然语言、伪代码、程序流程图、N-S图,1.自然语言与伪代码表示算法 自然语言:就是指人们日常使用的语言,可以是汉语、英语或其它语言。优点是通俗易懂;缺点是文字冗余,容易出现“歧义性“,表示选择和循环不方便 伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。自上而下地写下来,每一行(或几行)表示一个基本操作。伪代码书写方便、格式紧凑,容易懂,便于向计算机语言程序转换,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemin

8、grui),9/116,算法的表示,例3 : 用伪代码表示例1,Begin (算法开始) 输入 A, B, C If AB 则AMax 否则 BMax If CMax 则 CMax Print Max End (算法结束),例4 : 用伪代码表示例2,Begin (算法开始) N=1 Input A Max=A 当 N10 则 Input AIf AMax 则 Max=AN=N+1 Print Max End (算法结束),2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),10/116,算法的表示,2.用程序流程图表示算法

9、程序流程图(程序框图)使用不同的几何图形框来代表各种不同性质的操作,用流程线来指示算法的执行方向。由于它直观形象、易于理解,所以应用广泛,(1)程序流程图中的基本符号,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),11/116,算法的表示,(2)三种基本结构的表示,顺序结构 顺序结构是简单的线性结构,自上而下顺序执行,选择(分支)结构 选择结构是对某个给定条件进行判断,条件为真或假时分别执行不同的分支,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),

10、12/116,算法的表示,循环(重复)结构 循环结构分为当型循环和直到循环,当型循环 : 执行过程是先判断条件,当条件为真时,反复执行“语句组“(循环体),一旦条件为假,跳出循环,执行循环之后的语句,直到循环 : 执行过程是先执行“语句组“(循环体),再判断条件,条件为假时,一直执行“语句组“。一旦条件为真,结束循环,执行循环之后的语句,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),13/116,算法的表示,例5 : 输入10个数,打印输出其中的最大数的程序流程图,Max 存放最大数 N 计数的个数 X 每次输入的数讲解

11、算法的主要思路,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),14/116,算法的表示,3.用N-S图表示算法 由美国学者 I.Nassi 和 B.Shneiderman 提出, 一种结构化程序设计的图形工具,图中没有带箭头的流程线,把全部算法写在一个矩形框内,在框内还可以包含其他从属它的框,顺序结构,选择结构,循环结构,条件,条件,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),15/116,算法的表示,例6 : 输入10个数,打印输出其中的最大数

12、的N-S图,Max 存放最大数 N 计数的个数 X 每次输入的数讲解算法的主要思路,MaxX,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),16/116,第 2 节 基本语句,无论编写多么简单的程序,都会包含一些基本的功能,如赋值、输入、输出等基本功能,本节赋值语句、数据输入与输出、程序结束语句等语句,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),17/116,一、赋值语句,用于对变量赋值或对控件设置属性值,或进行计算,Let varnameexp

13、ression Let object.propertyexpression 将表达式的值赋值给变量名或指定对象的属性。执行过程 : 先求表达式的值,然后将值赋值给左边的变量,例1 : Max = 0 Text1.Text = “欢迎进入本系统“,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),18/116,赋值语句,右边的表达式可以是变量、常量、函数调用等特殊的表达式 不要将“=“理解为数学上的等号 A=A+1 是表示将A单元的值加后以放回到A单元,执行过程如右图,右边的表达式可以是变量、常量、函数调用等特殊的表达式 赋值

14、符号“=“左边一定只能是变量名或对象的属性引用,不能是常量、符号常量、表达式Z=X+Y() 5=X() Abs(X)=20() 赋值符号“=“两边的数据类型一般要求应一致。如果两边的类型不一致,以左边变量或对象属性的数据类型为基准强制转换,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),19/116,赋值语句,强制转换规则 若都是数值型,但精度不同,强制转换成左边变量的数据精度 X%=3.1415926 按四舍五取整,执行后,X的值是 3 Y!=123 将整数123转换成实数123.0,执行后,Y的值是 123.0 当表达

15、式是数值字符串,左边变量是数值型,自动转换成数值类型再赋值,但若表达式有非数字字符或空串,则出错 Y%=“123“ 将字符串“123“转换成数值123,执行后,Y的值是 123 Z%=“123A“ 出错,提示“类型不匹配“的错误信息 A%=“ 出错,提示“类型不匹配“的错误信息 任何非字符类型数据赋值给字符类型,都将自动转换为字符类型 str$=123 将数值123转换成字符串“123“,执行后,str的值是“123“ str$=True 将逻辑量True转换成字符串“True“,执行后,str的值是“True“ 当逻辑量赋值给数值型时,True转换为数值-1,False转换为0;反之当数值型

16、赋值给逻辑型时,非0转换为True, 0转换为False A%=True 将逻辑量True转换成-1 ,执行后,A的值是-1 Dim X As Boolean X=-5 -5(非0数据)转换成True ,执行后,X的值是True,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),20/116,赋值语句,例2 : 交换两个变量的值。设变量A中存放1,变量B中存放2,交换两个变量的值,使变量A中存放2,变量B中存放1,A = 1 B = 2 C = A A = B B = C,ex04-2-02,2018年11月20日星期二,C

17、h04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),21/116,二、数据输入,把要处理的初始数据从某种外部设备(例如键盘、磁盘文件)读取到内存中(如变量),以便进行处理,这就叫数据输入 两种常用的数据输入方法 : 使用InputBox(输入框)函数 和使用TextBox控件,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),22/116,数据输入,1.用InputBox函数输入数据 InputBox函数提供了一个简单的对话框供用户输入信息,InputBox(prompt , title

18、, default , xpos , ypos),s$ = InputBox(“请输入一个成绩“ + Chr(13) + “(成绩的有效范围是 0 - 100)“, “输入框“, 60, 100, 200),InputBox函数返回字符型数据,如果要得到数值类型数据,必须用Val()函数进行类型转换 提示信息中加 Chr(13) 或 Chr(10) 或 vbCrLf 作换行,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),23/116,数据输入,例3 :studNo = InputBox(“请输入学号“),2018年11月

19、20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),24/116,数据输入,例4 :studNo = InputBox(“请输入学号“ & vbCrLf & “(学号只能是8位数字)“, “注意“, “00000000“),2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),25/116,数据输入,例5 : studNo = InputBox(“请输入学号“, , “0000“),如果要省略InputBox函数的第2个参数(title)而保留第3个参数,则中间的逗号不能省略

20、省略了title,标题栏上显示当前的应用程序名,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),26/116,数据输入,2.用TextBox控件输入数据 用文本框输入数据时,也就是将文本框的Text属性的内容赋给某个变量,例6 : 将文本框Text1中输入的字符串赋给字符串变量Mystr Dim MyStr As String MyStr = Text1.Text 例7 : 将文本框Text1中输入的字符串作为数值赋给整型变量 Dim r As Single r = Val(Text1.Text),2018年11月20日星

21、期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),27/116,三、数据输出,在程序中对输入的数据进行处理后,需要将处理结果、提示信息等呈现给用户,即输出数据 在Visual Basic中,数据的输出可以使用 TextBox(文本框)控件 Label(标签)控件 MsgBox(消息框)函数和MsgBox过程 Print方法,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),28/116,数据输出,1.用TextBox控件输出数据 用文本框输出数据时,也就是将数据赋给文本框的Tex

22、t属性 例8 : 用文本框Text1输出一个字符串Text1.Text = “hello“ 文本框的Text属性是字符串类型,因此如果用文本框输出数值型数据,需要首先将该数据转换成字符串类型 例9 : 假设变量x中存放计算结果,将结果保留2位小数并在文本框中输出Text1.Text = Format(x , “0.00“),2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),29/116,数据输出,文本框的Text属性是字符串类型,只能接收1个字符串类型的值。当需要在一个文本框中显示多个数据时,需要将这些数据以字符串形式连接起

23、来,形成一个字符串,才能输出到一个文本框中 例10 : 用文本框Text1输出一个字符串 X = 3 5 Y = 7 4 Text1.Text = “x=“ & Str(X) & vbCrLf _& “y=“ & Str(Y),ex04-2-10,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),30/116,数据输出,2.用Label控件输出数据 用标签控件输出数据,实际上就是将要输出的数据赋给标签的Caption属性 例11 : 用标签Label1输出一个字符串 Label1.Caption = “hello“ 标签的C

24、aption属性是字符串类型,因此如果用标签输出数值型数据,需要首先将该数据转换成字符串类型 例12 : 用标签Label1输出一个数值型数据 X = 3 5Label1.Caption = Str(X),2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),31/116,数据输出,由于标签的Caption属性是字符串类型,只能接收一个字符串类型的值,因此,当需要在一个标签中显示多个数据时,需要将这些数据以字符串形式连接起来,形成一个字符串,才能输出到一个标签中 例13 : 用标签Label1输出两个数 X = 3 5 Y =

25、7 4 Label1.Caption = “x=“ & Str(X) & _vbCrLf & “y=“ & Str(y),ex04-2-13,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),32/116,数据输出,3.MsgBox函数和MsgBox过程,varname% = MsgBox(prompt , buttons , title) MsgBox(prompt , buttons , title),MsgBox函数的功能是在对话框中显示信息,等待用户单击按钮,并返回一个整数告诉系统用户单击的是哪一个按钮 MsgBox

26、过程与MsgBox函数的功能相同,但它没有返回值,常常仅用于显示某些信息,而不作程序流程的选择控制,prompt 和title 选项的含义同InputBox函数 buttons 指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则buttons的缺省值为0,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),33/116,数据输出,buttons 的形式 : 按钮 + 图标 + 缺省按钮,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(H

27、emingrui),34/116,数据输出,MsgBox函数的返回值 :,如果仅使用MsgBox显示信息,通常使用过程调用方式。例如,下面的语句是使用消息框输出一个提示信息 : MsgBox “程序执行结束,按确定返回“ , , “提示信息“,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),35/116,数据输出,例14 : 下面一段程序中的MsgBox函数,显示的对话框是“是“、“否“两个按钮,默认按钮为第一个按钮“是“,a =MsgBox(“发生错误,是否继续?“,vbYesNo,“提示信息“) If a = 7 Th

28、en End 或写成 If a = vbNo Then End 当用户单击“否“按钮,程序就结束;单击“是“按钮或直接按回车键,程序则继续向下执行,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),36/116,数据输出,4.用Print方法输出数据,在窗体、图片框及立即窗口中输出数据,可使用Print方法 object.Print Spc(n) | Tab(n) expression ; | ,object 表示窗体、图形框或打印机(Pinter)等对象,省略对象在窗体上输出 Spc(n)函数 插入n个空格,允许重复使用

29、Tab(n)函数 左端开始右移动n列,允许重复使用 expression 要输出的数值表达式或字符串表达式 ; 光标定位上一个显示的字符后 , 光标定位在下一个打印区的开始位置处。每个打印区占14列 无; , 换行,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),37/116,数据输出,例15 : 分析下面程序段,给出输出内容Print “01234567890123456789“Print 1, 2, 3Print 1; 2; 3;Print -4Print Tab(10); “1+2=“; 1 + 2,例16 : 编程

30、输出以下图形,第一行从 20 列开始显示,Print Tab(20); “*“ Print Tab(21); “*“ Print Tab(22); “*“ Print Tab(23); “*“,Print Spc(19); “*“ Print Spc(20); “*“ Print Spc(21); “*“ Print Spc(22); “*“,ex04-2-16,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),38/116,数据输出,例17 : 可以通过设置窗体或图片框的CurrentX属性或CurrentY属性来决定下一

31、次打印的水平或垂直坐标 Private Sub Form_Activate()Print “12345678901234567890“PrintPrint “2+4=“; 2 + 4,CurrentX = 1000CurrentY = 500Print “2-4=“; Print 2 - 4 End Sub,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),39/116,数据输出,例18 : 如果要在Form_Load事件过程中对窗体对象、图片框对象使用Print方法显示数据,必须首先使用窗体的Show方法显示窗体,或者把窗

32、体对象、图片框对象的AutoRedraw属性设置为True,否则无法看到打印的内容 Private Sub Form_Activate()Form1.ShowPrint “12345678901234567890“Print “2+4=“; 2 + 4,Print “2-4=“;Print 2 - 4 End Sub,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),40/116,四、程序结束语句,End 停止执行。可以放在过程中的任何位置,关闭代码执行、关闭以Open语句打开的文件并清除变量,为了保持程序的完整性并使程序能

33、够正常结束,在程序中应当含有End语句,并且通过End语句来结束程序的运行,而不仅仅是通过窗口的关闭按钮来结束程序的运行,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),41/116,五、GoTo语句,GoTo line 无条件地转移到行标签或行号指定的行处开始执行 line 行标签 或 行号,例19 : 10:MyString = “aaaaa“GoTo LastLine 20 MyString = “bbbbb“ LastLine:Print MyString,太多的 GoTo 语句,会使程序代码不容易阅读及调试。尽可

34、能使用结构化控制语句(Do.Loop、For.Next、If.Then.Else、Select Case),2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),42/116,六、应用举例,例20 : 输入时间(小时、分和秒),然后使用输出消息框输出总计多少秒 ?,Dim hh%, mm%, ss%, totals! 总时间的计算 : 小时数 hh=Val(Text1.Text) 分钟数 mm=Val(Text2.Text) 秒数 ss=Val(Text3.Text) totals=hh*3600+mm*60+ss,当输入12、

35、45、48时,单击“计算“按钮后能输出正确的结果吗 ? 为了能使程序正确地运行,变量hh的数据类型最好是什么类型 ?,ex04-2-20,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),43/116,应用举例,例21 : 编写一个程序,求一内半径R1=10cm、外半径R2=20cm的球环的体积。要求按四舍五入保留到小数点后4位,球的体积公式 :,球环的体积公式 :,主要代码 : Const PI# = 3.1415926 R1 = 10 R2 = 20 V = 4*PI*(R23-R13) / 3 V = Fix(V*10

36、000 + 0.5)/10000,程序定义的符号常量PI能用赋值语句重新赋值吗 ? 如果要保留小数3位,如何修改程序? 能否将程序中的Fix函数改为Int函数 ?,ex04-2-21,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),44/116,第 3 节 顺序结构程序设计,顺序结构是一种线性结构,也是程序设计中最简单、最常用的基本结构。其特点是 : 在该结构中,各操作块(简称块,它所对应的计算机语言表述形式是“程序段“)按照各自出现的先后顺序,依次逐块执行。它是计算机科学用以描述客观世界顺序现象的重要手段,是任何从简单到

37、复杂的程序的主体基本结构,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),45/116,例1 : 鸡兔同笼。已知笼中鸡兔总头数为h,总脚数为f,问鸡兔各有多少只 ?,分析 : 设鸡有x只,兔有y只,则,ex04-3-01,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),46/116,代码设计 :,Private Sub Command1_Click()Dim h, f, x, y As Integerh = Val(Text1.Text) 输入f =

38、Val(Text2.Text)x = (4 * h - f) / 2 计算y = (f - 2 * h) / 2Label5.Caption = Str(x) 输出Label6.Caption = Str(y) End Sub,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),47/116,改进 : 为方便用户输入数据,可以在输入数据的文本框获得焦点时,自动选择其中的数据,Private Sub Text1_GotFocus()Text1.SelStart = 0Text1.SelLength = Len(Text1.Tex

39、t) End Sub Private Sub Text2_GotFocus()Text2.SelStart = 0Text2.SelLength = Len(Text2.Text) End Sub,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),48/116,例2 : 求 1+2+3 的和,可以用按顺序逐步累加的方法来求和。用变量 S 存储和的值,变量 S 的初始值为 0,ex04-3-02,计算变量 S 的步骤如下 : 给变量 S 赋初始值 0 S = S + 1 S = S + 2 S = S + 3 显示变量 S 的

40、值 结束,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),49/116,例3 : 设 1990 年某企业的工业产值是 1000,如果以8%的年增长率增长,计算到 2000 年时的产值。计算公式为 : VL=1000(1+r)n 式中的 r 为年增长率,n 为年数,VL为2000年时的产值,ex04-3-03,计算工业产值 VL 的步骤如下 : r = 0.08 计算年数 n =2000-1990 计算工业产值VL=1000(1+r)n 显示 VL 的值 结束,? 问题 :如果r和n 由键盘输入,程序该怎样改写 ?,ex04

41、-3-03-1,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),50/116,第 4 节 选择结构程序设计,计算机在处理实际问题时,往往需要根据条件是否成立,决定程序的执行方向,在不同的条件下,进行不同的处理 单行结构条件语句 If.Then.Else. 块结构条件语句 If.Then.End If 多分支选择语句 Select Case.End Select 多分支选择转移语句 On.GoTo,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),51/1

42、16,一、单行结构条件语句 If.Then.Else.,If condition Then statementsElse elsestatements 如果指定的条件condition成立(即条件的值为True),则执行statements,否则(即条件的值为False)执行elsestatements,condition可以是关系表达式、布尔表达式、数值表达式或字符串表达式 对于数值表达式,Visual Basic将0作为False、非0作为True处理 对于字符串表达式,Visual Basic只允许包含数字的字符串,当字符串中的数字值为0时,则认为是False,否则认为是True,201

43、8年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),52/116,单行结构条件语句 If.Then.Else.,statements和elsestatements分别可以包含多条语句,各语句之间用冒号隔开。例如 : If N0 Then A=A+B:B=B+A Else A=A-B:B=B-A 可以没有Else部分,表示当条件不成立时不执行任何操作,这时必须有statements。例如 : If X 0 Then Print X 单行结构条件语句应作为一条语句书写。如果语句太长需要换行,必须在折行处使用续行符号(_),2018年11

44、月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),53/116,单行结构条件语句 If.Then.Else.,无论条件是否成立,单行结构条件语句的出口都是本条件语句之后的语句 单行结构条件语句可以嵌套,也就是说,在statements或elsestatements中可以包含另外一个单行结构条件语句。例如 : If x 0 Then If y 0 Then z = x + y _Else z = x - y Else Print “error“,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础

45、(Hemingrui),54/116,单行结构条件语句 If.Then.Else.,例1 : 用单行结构条件语句计算以下Y值,ex04-4-01,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),55/116,单行结构条件语句 If.Then.Else.,代码设计 : Private Sub Command1_Click()X = Val(Text1.Text)If X = 0 Then Y = Abs(X) Else Y = Log(X)Label3.Caption = Y End Sub,2018年11月20日星期二,C

46、h04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),56/116,单行结构条件语句 If.Then.Else.,例2 : 输入一个数,如果是正数,则计算它的平方根,假设用X表示该数,输入的X有以下两种情况 : X 0,计算 X 的平方根 X 0,不处理,ex04-4-02,Label2用于显示X的平方根值,X 0,计算 X 的平方根 X 0,则提示输入错误 ? 该如何编写代码 ?,ex04-4-02-1,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),57/116,二、块结构条件语句If

47、.Then.End If,If condition-1 Then statements-1 ElseIf condition-2 Then statements-2ElseIf condition-n Thenstatements-n Else statements-n+1 End If,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),58/116,块结构条件语句If.Then.End If,例3 : 使用块结构条件语句改写例2,ex04-4-03,Private Sub Command1_Click()Dim X, Y

48、As Single X = Val(Text1.Text)If X = 0 ThenY = Sqr(X)Label2.Caption = X & “的平方根是“ & YElseLabel2.Caption = X & “是负数,输入错误“End If End Sub,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),59/116,块结构条件语句If.Then.End If,例4 : 计算分段函数值,ex04-4-04,2018年11月20日星期二,Ch04 Visual Basic 的控制结构 - 大学计算机基础(Hemingrui),60/116,块结构条件语句If.Then.End If,代码设计 : Private Sub Command1_Click()Dim x, Y As Singlex = Val(Text1.Text) If x 0 ThenY = x 2 + 1ElseIf x = 0 ThenY = 4ElseY = x - 10End If Label3.Caption = Y End Sub,

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

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报