资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第4 4章章 基本控制结构基本控制结构本章要点:一、程序结构和编码规则二、顺序结构三、选择结构四、循环结构五、辅助控制语句六、综合应用/常用控件3一、一、 程序结构和编码规则程序结构和编码规则 本章目录4编码规则(1) VB.NET代码不区分字母的大小写 关键字首字母自动转换成大写,其余字母转换成小写。用户自定义的变量、过程名,以第一次定义的为准,以后输入的自动向首次定义的形式转换。(2) 语句书写自由一行上可书写多句语句(用冒号分隔),一行最多255个字符。单行语句可分若干行书写,在本行后加入续行符(空格和下划线)。本章目录5二、二、 顺序结构顺序结构 VB具有结构化程序设计的三种程序控制结构,即顺序结构、选择结构、循环结构,是程序设计的基础。本章目录(1 1)顺序结构)顺序结构 各语句按出现的先后次序执行各语句按出现的先后次序执行bABa用传统流程图表示为6(2 2)选择结构)选择结构传统流程图:ba条件?AB不成立成立根据条件决定执行的语句7(3 3)循环结构)循环结构I 、 当型循环结构 a 条件?成立循环体b不成立aa循环体b不成立成立条件?II 、直到型循环结构 根据条件重复执行语句(称为循环体)81. 顺序结构 一般程序设计语言中顺序结构的语句主要: 赋值语句和 输入/输出语句等。 在VB.net中 赋值语句 输入/输出通过: 文本框控件、标签控件、 InputBox函数、MsgBox函数 Write方法9(1) 赋值语句 形式: 变量名表达式 对象名. 属性名=表达式 功能:计算表达式的值,再将此值赋给变量或对象属性。给变量赋值和设定属性是VB编程中常见的两个任务.例如:x!=0.1 x为单精度变量,赋值0.1TextBox1.Text 清除文本框的内容TextBox1.Text 欢迎使用VB.Net 本章目录10(2)复合赋值语句 复合赋值运算符,其作用简化程序代码,提高程序编编译的效果。语句形式: 变量名 复合赋值运算符 表达式首先计算右边表达式的值,然后与左边的变量进行相应的运算,最后赋值给变量。复合赋值运算符:+=、- =、*=、=、/=、=、&=例如:a *= b+4 等价于 a = a*(b+4)本章目录11常用复合赋值语句常用复合赋值语句 v累加 sum +=x 等价于 sum = sum+xv计数 n += 1 等价于 n = n+1v显示多行信息 利用 &= 来实现如下语句,TextBox1显示结果?TextBox1.Text = VB.NET & vbCrLfTextBox1.Text &= 程序设计教程本章目录12赋值语句注意点赋值语句注意点“=”符号有两个意义 赋值号、关系运算符等号 形式相同,系统会根据所处的位置判断符号的意义。 赋值号左边只能是变量,不能是常量、常数符号、表达式。下面均为错误的赋值语句:Now()=x+y 左边是表达式(函数)5=sqrt (s)+x+y 左边是常量X+y=z 左边是表达式本章目录13A. InputBox函数 打开一个对话框,等待用户输入,返回字符串类型的输入值。形式:InputBox(提示,标题,默认值,x坐标位置,y坐标位置)(3) 数据输出和输入数据输出和输入本章目录 注意:提示项不能省略。若要多行提示,可在每行行末加回车换行vbCrLf。14打开一个信息框,等待用户选择一个按按钮。 MsgBox函数返回所选按钮的值, 变量% = MsgBox(提示,按钮,标题) MsgBox函数独立的语句: MsgBox 提示,按钮,标题按钮项是一整型表达式或枚举值( MsgBoxStyle)决定信息框按钮的数目和类型及出现在信息框上的图标形式。返回结果整型表达式或枚举值(MsgBoxResult枚举), B.MsgBox函数函数本章目录15MsgBox按钮设置按钮设置 第3个按钮为默认512DefaultButton3第2个按钮为默认 56DefaultButton2第1个按钮为默认 0DefaultButton1默认按钮 信息图标 64Information警告信息图标 48Exclamation询问信息图标 32Question关键信息图标 16Critical图标类型 重试、取消按钮 5RetryCancel是、否按钮 4YesNo是、否、取消按钮 3YesNoCancel终止、重试、忽略按钮 2AboutRetryIgnore确定、取消按钮 1OkCancel确定按钮 0OkOnly按钮数目 描 述值枚举值分组 本章目录枚举 MsgBoxStyle16MsgBox所选按钮返回值所选按钮返回值 例 编一账号和密码输入的检验程序,当输入不正确,如账号为非数字字符,密码不正确等,显示有关信息,再输入。VBNo7否VBYes6是VBIgnore5忽略VBRetry4重试VBAbort3终止VBCancel2取消VBOk1确定内部常数返回值被单击按钮NoYesIgnoreRetryAbortCancelOk枚举值 本章目录代码说明枚举 MsgBoxRetry17三、选择结构三、选择结构 VB中主要通过If条件语句和Select情况语句来实现。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。 本章目录181. If条件语句条件语句 (1). IfThen语句(单分支结构) If Then 语句块(可以是一句或多句语句) End If或 If Then 表达式:关系表达式、逻辑表达式,算术表达式。表达式值按非零为True,零为False进行判断。该语句的作用是当表达式的值为True,执行Then后面的语句块,否则不做任何操作。本章目录IF演示19单分支结构单分支结构 例:已知两个数x和y,比较它们的大小,使得x大于y。 If xy Then t=x x=y y=t End If 或 If xy Then t=x: x=y: y=t 简单If形式无End If时,只能是一句语句或语句间用冒号分隔,而且必须在一行上书写。 本章目录20双分支结构双分支结构(2). IfThenElse语句If 表达式 Then语句块1Else语句块2End If或 If 表达式 Then 语句1 Else 语句2 当表达式的值为True时,执行Then后面的语句块1,否则执行Else后面的语句块2 本章目录21双分支结构例双分支结构例计算分段函数 单分支 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本章目录22多分支结构多分支结构 (3). IfThenElseIf 语句 If 表达式1 Then 语句块1 ElseIf 表达式2 Then 语句块2 Else 语句块 n+1 End If作用:根据不同的表达式值确定执行哪个语句块 本章目录23不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。 ElseIf不能写成 Else If本章目录24If语句的嵌套是指If或Else后面的语句块中又包含If语If 表达式1 Then If 表达式2 Then End If End IfIf xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xyz用一个IF语句和一个嵌套的IF语句实现本章目录252. Select Case语句语句 Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1End Select表达式列表与变量或表达式的类型必须相同,是下面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 MsgBox(“在第二象限”) Case x 0 And y 0 And y y,x,y) 该语句与如下语句等价 :If x y Then Tmax = x Else Tmax = y 本章目录29(2) Choose函数 Choose(整数表达式,选项列表)根据表达式的值i,返回选项列表中第i个选项。如果整数表达式的值越出选项范围时,返回Null。例 根据Nop的值,得到+、-、中的某运算符:Op= Choose(Nop,+,-,) 例4.8 根据当前日期,显示今日是星期几。t = Choose(Weekday(Now), “星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”)MsgBox(今天是: & Now & t) 本章目录Dim nop As Integer, op As CharRandomize()nop = Int(Rnd() * 4 + 1)op = Choose(nop, +, -, , )MsgBox(nop= & nop & op= & op)30四、循环结构四、循环结构 计算机最擅长的功能之一就是按规定的条件,重复执行某些操作。VB中提供了主要的两类循环语句: For循环语句(一般已知循环次数); Do条件型循环语句(一般未知循环次数). 本章目录311. For循环语句循环语句 For循环语句用于控制循环次数预知的循环结构。For 循环变量 初值 To 终值 Step 步长语句块Exit For语句块Next 循环变量循环变量必须为数值型。循环次数 0 初值终值 =1 时,可省略终值=0 死循环步长例4.9 计算1100的奇数和 本章目录Dim i%, sum%For i = 1 To 100 Step 2 sum = sum + iNext iMsgBox(sum)32For循环语句循环语句 循环流程:(1) 循环变量被赋初值,它仅被赋值一次。(2) 判断循环变量是否在终值内,如果是,执行循环体;如果否,结束循环,执行Next的下一语句。(3) 循环变量加步长,转(2),继续循环 例4.10 将可打印的ASCII码制成表格输出 本章目录332. DoLoop循环语句循环语句 Do循环用于控制循环次数未知的循环结构。形式1: Do While|Until 语句块 Exit Do 语句块Loop形式1为先判断后执行,有可能一次也不执行;形式2为先执行后判断,至少执行一次。 形式2:Do 语句块 Exit Do 语句块Loop While|Until 本章目录34DoLoop流程流程 本章目录35循环例题循环例题例 我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。解此问题两种方法,可根据公式:直接利用标准函数对数可求得,但求得的年数不为整数;也可利用循环求得 。本章目录代码说明36循环例题循环例题例 用辗转相除法求两自然数的最大公约数。求最大公约数的算法思想:(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 “最大公约数=” & 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)本章目录373. 循环的嵌套循环的嵌套 在一个循环体内又包含了一个完整的循环结构称为循环的嵌套。循环嵌套对For循环语句和DoLoop语句均适用。例 打印九九乘法表 思考:打印上三角或下三角程序如何改动?本章目录显示星星图 * * * * * * * * *39五、五、 其他辅助控制语句其他辅助控制语句 1. Go To 语句 无条件地转移到标号或行号指定的那行语句。 Go To 标号|行号注意:标号是字符序列,首字符必须为字母,标号后应有冒号;行号是一个数字序列;2.Continue语句它不终止不层循环,只是绕过本次循环,开始下一次循环,即它只能跳过循环体中continue后面的语句,强行进入下一次循环,相当于本次循环的短路。相对应于for语句和do的不同,有continue for 和continue do语句的书写形式。 本章目录40 2. 退出和结束语句退出和结束语句 1.Exit语句VB中有多种形式的Exit语句,用于退出某种控制结构的执行。Exit的形式如下: Exit For、Exit Do、 Exit Sub、Exit Function2.End语句独立的End语句用于结束一个程序的运行,它可以放在任何事件过程中。本章目录41六、综合应用六、综合应用1. 自测四则运算 例 由计算机自动产生四则运算题,并能判断答案的正确性。设计思路:(1)通过随机函数Rnd产生试题的操作数和运算符,运算符+、-、可对应编号14。产生表达式通过Form_Load事件过程。(2)需要有一个全局变量保存四则运算题的正确答案,用户答案可通过文本框输入。(3)本题主要将随机函数、If语句、Select语句综合在一起使用。本章目录代码说明42综合应用综合应用-级数求和级数求和例 求自然对数e的近似值,其误差小于0.00001。近似公式 分析:本例涉及到程序设计中两个重要运算: 累加 、连乘i!。累加:在原有和的基础上再加一个数;连乘:在原有积的基础上再乘以一个数。该题先求i!,再将1/i!进行累加,循环次数预先未知,可先设置一个循环次数很大的值,然后在循环体内判断是否到达精度,当然也可用Do While来实现。 本章目录代码说明43综合应用综合应用-试凑法试凑法例 百元买百鸡。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡方案。分析:(1) 设母鸡、公鸡、小鸡各为x、y、z,列出方程为:x+y+z= 1003x+2y+0.5z = 100三个未知数,两个方程,此题求若干个整数解。(2) 计算机求解此类问题,采用试凑法(也称为穷举法)来实现,即将可能出现的各种情况一一罗列测试,判断是否满足条件,采用循环结构来实现。本章目录44综合应用综合应用-递推法递推法递推(迭代)法基本思想是把一个复杂的计算过程转化为简单过程的多次重复。每次都从旧值的基础上递推出新值,并由新值代替旧值。例 小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少?分析:用后一天的数推出前一天的桃子数。设第n天的桃子为xn,是前一天的桃子的二分之一减去1。 迭代法类似的应用求高次方程的近似根。 本章目录45*程序调试程序调试 随着程序的复杂性提高,程序中的错误也伴随而来。对初学者,看到出现错误不要害怕,关键是如何改正错误,失败是成功之母。上机的目的,不光是为了验证你编写的程序的正确性,还要通过上机调试,学会查找和纠正错误的方法和能力。VB为调试程序提供了一组交互的、有效的调试工具。 本章目录461. 错误类型错误类型语法错误、运行时错误和逻辑错误三类。1.语法错误错误的代码下显示波浪线,任务窗口上显示警告信息,鼠标指向波浪线时,显示出错的原因。 本章目录472.2.运行错误运行错误指令代码执行了一非法操作引起的。例如,类型不匹配、试图打开一个不存在的文件等。程序会自动中断,并给出有关的错误信息。 本章目录483.3.逻辑错误逻辑错误 程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。例如,运算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。通常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序,并具有调试程序的经验。 本章目录49 2. 调试和排错调试和排错 VB.NET的三种模式 (1) 设计模式(设计) 可以进行程序的界面设计、属性设置、代码编写等。(2) 运行模式(运行)执行启动命令进入运行模式。在此阶段,可以查看程序代码,但不能修改。(3) 中断模式(Break)执行中断命令,进入中断模式。在中断模式下可以查看代码、修改代码、检查数据。本章目录50调试和排错调试和排错-插入断点插入断点按下F9键 按F8键跟踪执行 鼠标指向所关心的变量本章目录51本章小节本章小节结构化程序设计三种结构 顺序结构、选择结构、循环结构 IfThen语句、Select Case语句、For与 Do循环语句 赋值语句与复合赋值语句数据输出和输入 InputBox、MsgBox常用算法 素数判定、级数求和、试凑法、迭代法解方程52思考题思考题1. 结构化程序设计有哪三种基本结构?2. MseBox与InputBox有何区别?3.多分支If语句与Select Case语句有何区别?4.如果事先不知道循环次数,如何用ForNext结构实现循环?5.语法错误、运行时错误和逻辑错误之间有何区别?本章目录
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号