vb课件第四章-基本控制结构

上传人:F****n 文档编号:88188495 上传时间:2019-04-20 格式:PPT 页数:82 大小:596.50KB
返回 下载 相关 举报
vb课件第四章-基本控制结构_第1页
第1页 / 共82页
vb课件第四章-基本控制结构_第2页
第2页 / 共82页
vb课件第四章-基本控制结构_第3页
第3页 / 共82页
vb课件第四章-基本控制结构_第4页
第4页 / 共82页
vb课件第四章-基本控制结构_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《vb课件第四章-基本控制结构》由会员分享,可在线阅读,更多相关《vb课件第四章-基本控制结构(82页珍藏版)》请在金锄头文库上搜索。

1、第四章 基本的控制结构,VB虽然采用事件驱动调用相对划分得比较小的子过程,但是对于具体的过程本身,仍然要用到结构化程序的方法,用控制结构控制程序执行的流程。 结构化程序设计有3种基本结构: 顺序结构、选择结构、循环结构。,第一节 语句,一、程序语句: VB程序中的一行代码称为一条程序语句,是执行具体操作的指令。一个语句行的长度不能超过255个字符。 二、程序的书写规则: 1、将单行语句分成多行: 用续行符(一个空格后面跟一个下划线)将长语句分成多行。,2、将多个语句合并到同一行上 通常,一行之中有一个 Visual Basic 语句,而且不用语句终结符。但是也可以将两个或多个语句放在同一行,只

2、是要用冒号 (:) 将它们分开。 Text1.Text = “Hello“ : Text1.BackColor = 255 但是,为了便于阅读代码,最好还是一行放一个语句。,3、在代码中添加注释(Rem和) 阅读例子时常会遇到注释符 ()。这个符号告诉 Visual Basic,忽略该符号后面的内容。这些内容是代码段中的注释,既是为了方便开发者,也是为了方便以后可能检查源代码的其他程序员。 例如: Text1.Text = “Hi!” 在文本框中放欢迎词。 注释可以和语句在同一行并写在语句的后面,也可占据一整行。,注意 可以通过选中两行或多行代码并在“编辑”工具栏上通过选择“注释块”或“删除注

3、释块”按钮来对该代码块添加或删除注释符号。,第二节 赋值语句,Let = 将表达式的值赋给变量或属性。 Let 可选的。 变量名必需的。 表达式必需的。赋给变量或属性的值。 说明: 赋值语句左右两端类型相同。 赋值号和等号。 如果变量未被赋值而直接引用,则数值型变量的值为0,字符型变量的值为“空串”。布尔型为False。,第三节 输出数据,一、用Label控件输出文本 二、用Print方法输出文本 对象. Print 表达式 ,|;,对象可以是窗体(Form)、立即窗口(Debug)、图片框(PictureBox)、打印机(Printer)等对象 表达式是写在同一行上的若干个表达式,表达式之间

4、用逗号或分号间隔。 每执行一次Print方法要自动换行。但是可以在Print方法末尾加上分号或逗号。, 缩写为? 与Print方法有关的函数:(P36) Print # 语句:将格式化显示的数据写入顺序文件中。,第四节 输入数据,用InputBox函数 显示一个能接受用户输入的对话框,等待用户输入数据,并返回用户在对话框中输入的信息。 变量名=inputbox(提示内容,对话框标题,默认内容,X坐标位置,Y坐标位置) 用文本框,第五节 选择结构,简单程序可以只用顺序结构来 编写,即程序从左至右、自顶向下 执行语句。,在程序设计中经常遇到这类问题,它需要根据不同的情况采用不同的处理方法。 例如,

5、一元二次方程的求根问题,要根据判别式小于零或大于等于零的情况,采用不同的数学表达式进行计算。 对于这类问题,如果用顺序结构编程,显然力不从心,必须借助选择结构。,Visual Basic 支持的选择结构有: IfThen IfThenElse If.Then.ElseIf Select CaseEnd Select If 条件 then 语句1 Else 语句2,一、块If,格式: If 条件 then 语句块1 Else 语句块2 End If,说明: (1)“条件”一般为关系表达式或逻辑表式。 通常把关系表达式或逻辑表达式的值为真时,称 为条件满足;值为假时,称为条件不满足。反之 亦然。

6、(2)语句块1、语句块2分别是“条件”满足或不满足 时,处理方法的描述,可以是若干个语句。 (3)IfThen 、Else、End If 是VB的保留字。,功能: 块If首先判断“条件”,其值为真时,执行语句块1;为假时执行语句块2。当缺省Else中的内容时,该选择结构只对条件满足的情况进行处理。执行过程如图所示。,【例4.1】火车站行李费的收费标准是50kg以内(包括50kg)0.20/kg,超过部分0.50/kg。编写程序,要求根据输入的任意重量,计算出应付的行李费。 根据题意计算公式如下:,程序代码如下: “计算“按钮代码 Private Sub Command1_Click() Dim

7、 sinWeight as single Dim sinPay as single sinWeight = Text1.Text If sinWeight 50 Then sinPay =(sinWeight - 50)* 0.5 + 50 * 0.2 Else sinPay = sinWeight * 0.2 End If Text2.Text = pay End Sub,Private Sub Command2_Click() Text1.Text = “ Text2.Text = “ End Sub Private Sub Command3_Click() End End Sub,【例4

8、.2】任意输入3个数,按照从大到小的顺序输出。,算法分析: 排序的基本方法,就是比较大小,然后根据比较的结果分别加以处理。 本例把3个数分别放在A,B,C中,处理过程为:若AB为真,交换A,B的值;否则不做处理。这样就保证了AB;然后再用C去比较。,if ab then t=a a=b b=t end if if ac then t=a a=c c=t end if if bc then t=b b=c c=t end if,二、Else If语句,格式: If 条件1 then 语句块1 ElseIf 条件2 then 语句块2 Else 语句块n+1 End If,功能: (1)依次判断条

9、件,如果找到一个满足的条件,则执行其下面的语句块,然后跳过End If,执行后面的程序。 (2)如果所列出的条件都不满足,则执行Else语句后面的语句块;如果所列出的条件都不满足,又没有Else子句,则直接跳过End If,不执行任何语句块。,【例4.3】输入一个学生的一门课分数x(百分制),当x90时,输出“优秀”;当80x90 时,输出“良好”;当 70x80 时,输出“中”;当60x70 时,输出“及格”,当 x60 时,输出“不及格”。 算法分析:本例适合用多路分支结构来解决。,程序代码如下: “鉴定“按钮代码 Private Sub Command1_Click() Dim scor

10、e! score = val(Text1.Text) If score = 90 Then Text2.Text = “优秀“ ElseIf score = 80 Then Text2.Text = “良好“ ElseIf score = 70 Then Text2.Text = “中“,ElseIf score = 60 Then Text2.Text = “及格“ Else Text2.Text = “不及格“ End If End Sub,ElseIf语句,实际完成的是块If的嵌套,它和块If嵌套的格式上有很大区别,ElseIf结构只有一对If和End If语句。另外应注意: 【Else

11、 If】 和【ElseIf】的区别。,四、行If语句,格式:If 条件 then 语句1 Else 语句2 功能:当条件满足时,执行语句1;条件不满足 时,执行语句2。 从行If的格式和功能不难看出,行If语句是一种简单的分支结构,只是把一个简单的块If结构写在一行中,减少了语句行,省略了“End If”的书写。行If完全可以用块If代替。 【例4.4】任意输入3个数,找出其中的最大值。,程序代码如下: Private Sub Command1_Click() Dim a As Single,b As Single,c As Single, max As Single a = val(Text

12、1.Text) b = val(Text2.Text) c = val(Text3.Text) max = a If b max Then max = b If c max Then max = c Text4.Text = max End Sub,五、Select Case语句,当对一个表达式的不同取值情况作不同处理时,用ElseIf语句程序结构显得较为杂乱,而用Select Case语句将使程序的结构更清晰,Select Case语句又称为情况语句。,格式: Select Case 测试表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case 表达式列表n 语句

13、块n Case Else 语句块n+1 End Select,功能:根据“测试表达式”的值,选择第一个符合 条件的语句块执行。 执行过程是: 先求“测试表达式”的值,然后顺序测试该值符合哪一个Case子句中情况,如果找到了,则执行该Case子句下面的语句块,然后执行End Select下面的语句;如果没找到,则执行Case Else下面的语句块,然后执行End Select下面的语句。,说明: “测试表达式”可以是数值型或字符串型表达式; “表达式列表”形式有以下3种: (1)一个表达式或用逗号隔开的若干表达式 (2)表达式1 To 表达式2 (3)Is 关系运算符 表达式 p84,【例4.5

14、】把例4.3中 “鉴定”按钮的代码用Select Case语句改写。 Private Sub Command1_Click() Dim score! score = Text1.Text Select Case score Case Is = 90 Text2.Text = “优秀“,Case Is = 80 Text2.Text = “良好“ Case Is = 70 Text2.Text = “中“ Case Is = 60 Text2.Text = “及格“ Case Else Text2.Text = “不及格“ End Select End Sub,第六节 循环结构,在前面,我们学习

15、了顺序结构和分支结构,本章我们将要介绍结构化程序3种基本结构的最后一种循环结构。,一、循环概述,在实际工作中,常遇到一些操作过程不太复杂,但 又需要反复进行相同处理的问题,比如,统计本单位所 有人员的工资,求全班同学各科的平均成绩等等。这些 问题的解决逻辑上并不复杂,但如果单纯用顺序结构来 处理,那将得到一个非常乏味且冗长的程序。例如,计 算1100所有奇数的平方和,如果用顺序结构来解决这 个问题,我们就会给出下面的程序:,Private Sub Form_Click() Dim s&,x% s = 0 x = 1 s = s + x 2 x = x + 2 s = s + x 2 x = x

16、 + 2 s = s + x 2 x = x +2 x的值累加到99 s = s + x 2 Print “1100之间所有奇数的平方 和=“;s End Sub,由上面的例子不难看出,程序的绝大部分是在反复执行两条语句x=x+2和s=s+x2,不同的是x的值在变化。程序当然非常简单易懂,但缺乏最基本的编程技巧。要想方便地解决这类问题,最好的办法就是用循环语句。 所谓循环就是重复地执行一组语句。 我们用循环语句解决上面的问题,程序非常简短:,Private Sub Form_Click() Dim s&,x% s = 0 For x = 1 To 99 Step 2 s = s + x 2 Next x Print “1100所有奇数的平方和=“;s End Sub,循环结构非常适合于解决处理的过程相同、处理 的数据相关,但处理的具体值不同的问题。 我

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号