选择结构程序设计1.单行结构条件语句(单分支结构)if《表

上传人:tian****1990 文档编号:82495549 上传时间:2019-02-24 格式:PPT 页数:24 大小:326.50KB
返回 下载 相关 举报
选择结构程序设计1.单行结构条件语句(单分支结构)if《表_第1页
第1页 / 共24页
选择结构程序设计1.单行结构条件语句(单分支结构)if《表_第2页
第2页 / 共24页
选择结构程序设计1.单行结构条件语句(单分支结构)if《表_第3页
第3页 / 共24页
选择结构程序设计1.单行结构条件语句(单分支结构)if《表_第4页
第4页 / 共24页
选择结构程序设计1.单行结构条件语句(单分支结构)if《表_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《选择结构程序设计1.单行结构条件语句(单分支结构)if《表》由会员分享,可在线阅读,更多相关《选择结构程序设计1.单行结构条件语句(单分支结构)if《表(24页珍藏版)》请在金锄头文库上搜索。

1、第 4 章,选择结构设计,选择结构程序设计 1.单行结构条件语句(单分支结构) If Then If Then 语句块 End If 当条件表达式的值为真时,执行Then后的语句,否则,不执行任何操作。 表达式为逻辑表达式,数值表达式和关系表达式视为逻辑表达式的特例。 语句块可以是一条或多条语句。 可以使用单行或多行语法有条件地执行一个语句。, If anyDateNow Then anyDate=Now If anyDateNow Then anyDate=Now End If IfThen的单行格式不用End If语句。 例3.5,2.双分支结构条件语句: If Then Else End

2、 If If ThenElse 当表达式值为非零时,执行Then后的语句1(或语句1)否则执行Else后面的语句块2(或语句2)。 说明:块结构的条件语句可以嵌套,即把一个IfThenElsef块放在另一个IfThenElsef块内,嵌套必须完全嵌套,也就是内层条件语句必须完全包含在外层条件语句之中。 例3.6 -3.7,3.IfThenElseIf(多分支结构) IfThen ElseIfThen Else End If 执行过程为:如果表达式1为真,执行语句块1,否则,如果表达式2为真,则执行语句块2,如果条件都不是真,则执行Else后的语句块。,说明: 不管有几个分支,程序执行了一个分支

3、后,其余分支不再进行。 ElseIf子句的数量没有限制,可以根据需要使用任意多个ElseIf子句。 语句中的ElseIf子句和Else子句者是可选项,如果省略这些子句,则成为单分支结构。 IfThenElseIf只是 IfThenElse的一个特例。可以使用任意数量的ElseIf子句,或者一个也不用。可以有一个Else子句,而不管有没有ElseIf子句。 例3.83.9,Private Sub Form_Click() Dim a As Single, b As Single, c As Single Dim p As Single, s As Single Text1.Text = “ :

4、Text2.Text = “ : Text3.Text = “ a = val(Text1) : b = val(Text2) t :c = val(Text3) t If a+bc and b+ca and a+cb then p = (a + b + c) / 2 s = Sqr(p * (p - a) * (p - b) * (p - c) Else print “它不能构成一个三角形” End If End Sub,编写一个统计学生考试成绩的程序: 如果满足条件CJ60时,打印出“成绩不及格”,采用的条件语句是: If CJ60 Then Print “成绩不及格“ 多行代码: If

5、CJ60 Then Print “成绩不及格“ Print “请准备补考“ End If,Private Sub Command1_Click() Dim score As Integer, temp As String score = Val(Text1.Text) temp = “成绩等级为:“ If score 0 Then Label2.Caption = “成绩出错“ ElseIf score 60 Then Label2.Caption = temp + “不及格“ ElseIf score = 79 Then Label2.Caption = temp + “及格“ ElseIf

6、 score = 100 Then Label2.Caption = temp + “优良“ Else Label2.Caption = “成绩出错“ End If End Sub,4. Select Case选择结构(多分支结构) 格式:Select Case 测试变量或表达式 Case 表达式表1 语句块1 Case 表达式表2 语句块2 Case 表达式表n 语句块n Case 表达式表n+1 语句块n+1 End Select, Select Case在结构的上方处理一个测试变量或表达式,并且只计算一次,然后根据测试变量或表达式的值,从多个语句块中选择符合条件(值相等)的一个语句块执行

7、,之后自动转到End Select 后的语句执行;如果没有找到与Case 子句中的表达式相匹配的值,则执行Case Else子句后面的语句块,然后转到End Select 后的语句执行。 测试变量或表达式只能是数值表达式或字符串表达式,不能是逻辑表达式。 语句块由一行或多行语句组成。 表达式表与测试变量或表达式的类型必须相同,每一个表达式是一个或几个值的列表。如果在一个列表中有多个值,用逗号分隔。,一个表达式: Case 6 一组枚举表达式: Case 1,3,5,7 Case “I”,“YOU”,“Then” 表达式1To表达式2。该形式指定某个数值范围,较小的数值在前面,较大的数值在后面:

8、字符串常量则按字母的ASCII码顺序从低到高排列。 Case 1 To 10 Case “a” To “e”,Is。 Case Is=80 Case Is”Y” 当有多个Case 子句的取值范围和测试表达式的值相符时,只执行符合要求的第一个Case子句后面的语句块。 Select Case语句只对单个表达式求值,并根据求值结果执行不同的语句块;而IfThenElse语句可以对不同的表达式求值,然而招待不同的操作。,表达式表通常是一个具体值(如Case 1),每一个值确定一个分支。还有三种方法可以确定设定值: (1)一组值(用逗号隔开)。示例: Case 1,3,5 表示条件在1,3,5范围内取

9、值 (2)表达式1 TO 表达式2。示例: Case 60 To 80 表示条件取值范围为6080 (3)Is关系式。示例: Case Is5 表示条件在小于5范围取值,当用户单击“答题”按钮时,程序提供输入对话框,由用户输入答案,再通过输出框显示评判意见。采用的程序代码如下: Private Sub Form_Load() Show Print FontSize = 18 Print Spc(9); “考一考你“ FontSize = 13 Print Print Spc(5); “鸡兔同笼,已知鸡和兔总头数为23,“ Print Spc(3); “总脚数为56,求鸡兔各有多少?“ End

10、Sub,Private Sub Command1_Click() h = 23 : f = 56 总头数及总脚数 j1 = (4 * h - f) / 2 求出的鸡数 t1 = (f - 2 * h) / 2 求出的兔数 j2 = Val(InputBox(“鸡的只数是多少?“, “请回答“) t2 = Val(InputBox(“兔的只数是多少?“, “请回答“) Select Case True 选择真值 Case j1 = j2 And t1 = t2 MsgBox (“回答完全正确!“) Case j1 = j2 MsgBox (“鸡数回答正确,但兔数不对!“) Case t1 = t

11、2 MsgBox (“兔数回答正确,但鸡数不对!“) Case Else MsgBox (“回答错误!“) End Select End Sub,1. Timer控件 2. 常用属性 Enabled属性:确定计时器是否可用 Interval属性:设置两个Timer事件之间的时间间隔,其值以毫秒(1ms=1/1000 s)为单位 例如,如果希望每半秒钟产生一个Timer事件,那么Interval属性值应设置为500,这样每隔500 ms就会触发一次Timer事件,从而执行相应的Timer事件过程 3. 事件 计时器控件只响应一个Timer事件。也就是说,计时器控件对象在间隔了一个Interval

12、设定时间后,便触发一次Timer事件,(1)编写一个程序,要在文本框中显示时间 (2)编写程序代码 Private Sub Timer1_Timer() timer事件过程 Text1.Text = Time Time是时间函数 End Sub,(1)创建应用程序的用户界面和设置对象属性 单选按钮组Option1、Option2、Option3及Option4分别代表+、-、*(乘)和/(除)运算 (2)编写程序代码,例4.13 输入两个运算数和运算符(+、-、*或/),组 成算式并计算结果,然后显示出来,Private Sub Command1_Click() “计算”按钮 Dim a As

13、 Single, b As Single, t As Single, s As String a = Val(Text1.Text) b = Val(Text2.Text) Select Case True Case Option1.Value + 运算 s = “+“ t = a + b Case Option2.Value - 运算 s = “-“ t = a - b Case Option3.Value * 运算 s = “*“ t = a * b Case Option4.Value / 运算 s = “/“ t = a / b End Select Text3.Text = a &

14、s & b & “=“ & t End Sub,Private Sub Command2_Click() Text1.Text = “ Text2.Text = “ Text3.Text = “ End Sub Private Sub Command3_Click() Unload Me End Sub,Private Sub Form_Load() Option1.Value = True + 运算 End Sub,程序框图,Private Sub Command1_Click() Dim a As Single, b As Single, c As Single Dim D As Sing

15、le, X1 As Single, X2 As Single Dim R As Single, P As Single a = Val(Text1.Text) 取数据a b = Val(Text2.Text) 取数据b c = Val(Text3.Text) 取数据c If a = 0 Then 当a=0 Text4.Text = “不是二次方程“ Text5.Text = “不是二次方程“ Else a0 D = b * b - 4 * a * c R = -b / (2 * a),If D = 0 Then D=0 Text4.Text = R Text5.Text = R ElseIf D 0 Then D0 X1 = (-b + Sqr(D) / (2 * a) X2 = (-b - Sqr(D) / (2 * a) T

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

当前位置:首页 > 高等教育 > 大学课件

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