收藏 分享(赏)

第4章 选择结构和循环结构设计.ppt

上传人:jw66tk88 文档编号:10200834 上传时间:2019-10-18 格式:PPT 页数:108 大小:910KB
下载 相关 举报
第4章 选择结构和循环结构设计.ppt_第1页
第1页 / 共108页
第4章 选择结构和循环结构设计.ppt_第2页
第2页 / 共108页
第4章 选择结构和循环结构设计.ppt_第3页
第3页 / 共108页
第4章 选择结构和循环结构设计.ppt_第4页
第4页 / 共108页
第4章 选择结构和循环结构设计.ppt_第5页
第5页 / 共108页
点击查看更多>>
资源描述

1、第4章 选择结构和循环结构设计,选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程;在实际应用中,经常遇到一些操作并不复杂,但需要反复多次处理的问题,这类问题,用循环结构的程序处理。 本章主要内容,第4章 选择结构和循环结构设计,退出,条件表达式 关系表达式 / 逻辑表达式,条件语句 If.Then / If.Then.Else条件语句的嵌套,For 循环结构,While 循环,滚动条和计时器控件,多分支语句,Do 循环结构,选择性控件 单选按钮 / 复选框/列表框/组合框,程序举例,4.1 条件表达式,在条件语句中,作为判断依据的表达式称为“条件表达式

2、” 条件表达式的值为布尔值 条件表达式分为两类:关系表达式以及布尔表达式,4.1.1关系运算符与关系表达式,关系表达式是指用关系运算符将两个表达式连接起来的式子,其值为布尔型。 运算符:, = ,= , 格式: ,说明:,首先计算表达式的值,再进行比较 数值型数据按大小比较; 日期型数据将日期看成“yyyymmdd”的8位整数,按数值大小比较; 字符型数据按ASCII码值进行比较 单精度或双精度数据不能用“=”比较 数学不等式axb不能写成:a=x=b,4.1.2 布尔运算符与布尔表达式,布尔表达式是指用布尔运算符连接若干关系表达式或布尔值而成的式子,其值为布尔型。常用运算符:Not(非),A

3、nd(与),Or(或)Not:取反操作And:只有两个表达式均为True时,结果才为TrueOr:只有两个表达式均为False时,结果才为False运算优先顺序:Not(非),And(与),Or(或),4.1.3 运算符的优先顺序,在一个表达式中有多种操作时,运算的优先顺序为: 算术运算=字符运算=关系运算=布尔运算 说明: 同级运算:从左到右依次进行 括号中的运算优先,举例,1、x=4,y=-1,a=7,b=-8.5,计算表达式x+ya+b and not y0 or y mod 100=0 and y mod 400=0,4.2 选择结构程序设计,1、单行结构条件语句 IFTHENELSE

4、 2、IIF函数的语法结构为: IIF (,) 3、块结构条件语句 If Then Else语句序列2 End if,4、多分支条件选择语句Select CaseSelect Case Case Case Case ElseEnd Select,4.3.1 单行结构条件语句 IFTHENELSE,单行IF语句的语法格式为: If Then Else 说明: (1)可以是关系表达式、布尔表达式或数值表达式。若为数值表达式,非0为真,0为假 (2)如没有Else子句,则为必要参数,例4-1输入x,计算y的值。其中:,1+x (x0) Y=1-2x (x0) 分析:y是一个分段函数,流程图如下 设计

5、步骤 (1)建立用户界面 (2)设置属性,(3)编写代码,Private Sub Command1_Click()Dim x As Single, y As Singlex = Val(Text1.Text)If x = 0 Then y = 1 + x Else y = 1 - 2 * xText2.Text = y End Sub,补充例题1编写程序,对学习成绩优秀的学生进行奖励,获奖条件如下:,(1)所考五门课的总分超过450分 (2)每门课的成绩都在88分以上 (3)前三门课的成绩都在95分以上,其他两门的成绩都在80分以上 分析:输入五门课的成绩分别为S1,S2,S3,S4,S5 三

6、个条件的表达式为: (1)S1+S2+S3+S4+S5=450 (2)S1=88 AND S2=88 AND S3=88 AND S4=88 AND S5=88 (3)S1=95 AND S2=95 AND S3=95 AND S4=80 AND S5=80,流程图,设计步骤,(1)建立用户界面并设置属性:Label1、Command1,利用输入对话框输入数据 (2)编写代码 Private Sub Command1_Click()Dim s1 As Single, s2 As Single, s3 As Single, s4 As Single, s5 As Singles1 = Val(I

7、nputBox(“请输入第1门课的成绩“, “输入框“, 0)s2 = Val(InputBox(“请输入第2门课的成绩“, “输入框“, 0)s3 = Val(InputBox(“请输入第3门课的成绩“, “输入框“, 0)s4 = Val(InputBox(“请输入第4门课的成绩“, “输入框“, 0)s5 = Val(InputBox(“请输入第5门课的成绩“, “输入框“, 0),t1 = (s1 + s2 + s3 + s4 + s5 = 450)t2 = (s1 = 88 And s2 = 88 And s3 = 88 And s4 = 88 And s5 = 88)t3 = (s

8、1 = 95 And s2 = 95 And s3 = 95 And s4 = 80 And s5 = 80)If t1 Or t2 Or t3 Then p = “ 可以获奖!“ Else p = “ 不能获奖!“p = Str(s1) & “,“ & Str(s2) & “,“ & Str(s3) & “,“ & Str(s4) & “,“ & Str(s5) & Chr(13) & pLabel1.Caption = “该生5门课的成绩分别是:“ & Chr(13) & p End Sub,补充例题2利用输入框函数输入3个不同的数a,b,c,选出其中最大的数,流程图如右图 设计步骤 (1

9、)设计界面并设置属性(如图),(2)编写代码 Dim a As Single, b As Single, c As Single a = Val(InputBox(“请输入第1个数:“, “输入框“, 0) b = Val(InputBox(“请输入第2个数:“, “输入框“, 0) c = Val(InputBox(“请输入第3个数:“, “输入框“, 0) If a b And a c Then p = a If b a And b c Then p = b If c a And c b Then p = c Label1.Caption = a & “,“ & b & “,“ & c &

10、 “三个数中最大的数是:“ & p,4.3.2 使用IIF函数,IIF函数的语法结构为: IIF (,) 例: Private Sub Command1_Click()Dim x As Single, y As Singlex = Val(Text1.Text)y = IIf(x = 0, 1 + x, 1 - 2 * x)Text2.Text = y End Sub,4.3.3 块结构条件语句,语法格式: If Then Else语句序列2 End if 说明:必须以End If结束,例: Private Sub Command1_Click() Dim x As Single, y As

11、Single x = Val(Text1.Text) If x = 0 Then y = 1 + x Elsey = 1 - 2 * x End if Text2.Text = y End Sub,4.3.4 If语句的嵌套,1、If语句的嵌套 如果在If语句中的或本身又是一个If语句,则称为If语句的嵌套,例4-8铁路托运行李,规定每张票托运费计算方法为:(1)行李重量不超过50kg时,0.25元/kg;(2)超过50kg而不超过100kg时,超过部分按0.35元/kg收费;(3)超过100kg时,其超过部分按0.45元/kg计算。编写程序,输入行李重量,计算并输出托运费用,分析:设行李重量

12、为Wkg,应付费用为x元,运费计算公式为: 0.25*w (w100) 设计步骤: (1)建立用户界面Label1,Label2,Command1,Text1,Text2并设置属性,(2)编写代码Private Sub Command1_Click() Dim w As Single, x As Single w = Val(Text1.Text) If w = 50 Thenx = 0.25 * w ElseIf w = 100 Thenx = 0.25 * 50 + 0.35 * (w - 50)Elsex = 0.25 * 50 + 0.35 * 50 + 0.45 * (w - 100

13、)End If End If Text2.Text = x End Sub,2、If语句的嵌套格式ElseIf 语法格式:If Then语句序列1 ElseIf Then语句序列2 Else语句序列n End If,说明 (1)Else和ElseIf均为可选,可以有多个ElseIf子句。 (2)如果条件1为False,则对每个ElseIf语句的条件判断,如果为True时,则执行其后的Then中的语句,否则,执行Else后的语句,例4-9每位顾客一次购物 (1)在1000元以上者,按九五折优惠 (2)在2000元以上者,按九折优惠 (3)在3000元以上者,按八五折优惠 (4)在5000元以上者

14、,按八折优惠 编写程序,输入购物价,计算并输出优惠价 分析:设购物款为x元,优惠价为y元,付款公式为: x (x=5000),编写代码(If语句的嵌套) Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x 1000 Theny = x ElseIf x 2000 Theny = 0.95 * xElse,If x 3000 Theny = 0.9 * xElseIf x 5000 Theny = 0.85 * xElsey = 0.8 * xEnd IfEnd If End If

15、End If Text2.Text = y End Sub,编写代码(Elseif嵌套格式) Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x 1000 Theny = x ElseIf x 2000 Theny = 0.95 * x,ElseIf x 3000 Theny = 0.9 * x ElseIf x 5000 Theny = 0.85 * x Elsey = 0.8 * x End If Text2.Text = y End Sub,4.4多分支条件选择语句Selec

16、t Case,Select Case语句也称为情况语句。 从多个条件语句中,选择一个条件为真的路线作为执行路线。 其流程图为:,4.4 .1 Select Case结构与语法,语法格式: Select Case Case Case Case Else End Select,说明: 可是任何字符串或数值表达式,通常为变量或常量 用来测试其值是否与相匹配,其形式是字符或数值表达式,也可以是指定的范围。如:Case 2,4,6,8 Case 1 TO 20,Case Is100,4.4 .2 Select Case结构的应用 例4-10在例4-9中使用Select Case语句计算优惠价。将Comm

17、and1的单击事件代码改为:,Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) Select Case xCase Is 1000y = xCase Is 2000y = 0.95 * x,Case Is 3000y = 0.9 * xCase Is 5000y = 0.85 * xCase Elsey = 0.8 * x End Select Text2.Text = y End Sub,Private Sub Text1_Change() Text2.Text = 0 End SubP

18、rivate Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub,例某航空公司规定在旅游旺季79月份,如果订票超过20张,票价优惠15%,20张以下,优惠5%;在旅游淡季15月份、10月份、11月份,如果订票超过20张,优惠30%,20张以下,优惠20%;其它情况一律优惠10%,分析:根据题意,画出流程图:,设计步骤,(1)建立用户界面与设置对象属性,(2)编写代码,Private Sub Command1_Click() Dim m As Integer, n As Integer

19、 Dim r As Integer, d As Single m = Val(Text1.Text) n = Val(Text2.Text) d = Val(Text3.Text) Select Case m Case Is = 5, 10, 11 If n 20 Then r = 20 Else r = 30,Case 7 To 9 If n 20 Then r = 5 Else r = 15 Case Else r = 10 End Select p = n * d * (1 - r / 100) Label7.Caption = Str(r) & “%“ Label8.Caption =

20、 Str(p) & “元“ End Sub,Private Sub Form_Load() Text1.Text = Month(Date) End SubPrivate Sub Text1_Change() Text2.Text = 0 Text3.Text = 0 End SubPrivate Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub,Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 The

21、n If Text1.Text 0 And Text1.Text 13 Then Text2.SetFocus End If End If End Sub,Private Sub Text2_GotFocus() Text2.SelStart = 0 Text2.SelLength = Len(Text2.Text) End SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Text2.Text 0 Then Text3.SetFocus End If End Sub,Private Sub

22、Text3_GotFocus() Text3.SelStart = 0 Text3.SelLength = Len(Text2.Text) End SubPrivate Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Command1.SetFocus End Sub,选择结构,1、单行结构条件语句 IFTHENELSE 2、IIF函数的语法结构为: IIF (,) 3、块结构条件语句IFTHENELSEEND IF If Then Else语句序列2 End if,4、If语句嵌套 If Then ElseIf Th

23、enElseEnd If End If,5、嵌套格式ElseIf 语法格式:If Then语句序列1 ElseIf Then语句序列2 Else语句序列n End If,6、多分支条件选择语句Select CaseSelect Case Case Case Case ElseEnd Select,示例 If x = 5 Then y = x + 1If a1 And b0 Then x = 1关系表达式和逻辑表达式4.2 条件语句两种格式的条件语句:If . ThenIf . Then . Else,4.1 条件表达式,格式:If 条件 Then 语句或If 条件 Then语句块End If功

24、能:若条件成立(值为真),则执行Then后面的语句或语句块,否则直接执行下一条语句或“End If”的下一条语句,4.2.1 If.Then语句,多行(块)结构,单行结构,格式:If 条件 Then语句块1 (A)Else语句块2 (B)End If功能:首先测试条件(E),如果条件成立(即值为真),则执行Then后面的语句块1,如果条件不成立(即值为假),则执行Else后面的语句块2。而在执行Then或Else之后的语句块后,会从End If之后的语句继续执行。,4.2.2 If.Then.Else语句,实现一些简单的条件判断分支结构格式:IIf(条件,条件为真时的值,条件为假时的值)功能:

25、对条件进行测试,若条件成立(为真值),则取第一个值(即“条件为真时的值”),否则取第二个值(即“条件为假时的值”)。例如,将a、b中的小数,放入Min变量中:Min=IIf(ab,a,b),4.2.3 IIf函数,1. 下列字符中,_字符最大,_字符最小。A. 1 B. Z C. * D. a2. 假设a=1,b=2,下列逻辑表达式中其值为真的有A. a=0 And b2C. a “ab“D. a=0 And Not b0 And b0,请你给出答案,想一想,思考题,最大字符:D 最小字符:C,F F T T T,Private Sub Form_Load()Showa = 1: b = 3c

26、 = 3 * a - ba = IIf(c a Thena = a + 1c = c - 1Elsea = a - 1End IfPrint a, b, c End Sub,下列程序的运行结果是?,想一想,思考题,2 3 -1,例4.1a,(1)创建应用程序的用户界面和设置对象属性(2)编写程序代码功能要求:用户在“a=”文本框(Text1)、“b=”文本框(Text2)和“c=”文本框(Text3)中输入数据,单击“判断”按钮后,则在“最大数”文本框(Text4)中输出结果,例4.2 输入三个数a、b、c,求出其中最大数,例4.2,Private Sub Command1_Click() m

27、用来存放较大值Dim a As Integer, b As IntegerDim c As Integer, m As Integera = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)If a b Thenm = aElsem = bEnd IfIf c m Then m = cText4.Text = mEnd Sub,程序代码 程序流程图,Then和Else后面的语句块包含另一个条件语句 1.一般格式If 条件1 ThenIf 条件2 ThenEnd IfElseEnd If使用条件语句嵌套时,一定要注意If与Else,If与

28、End If的配对关系。,4.2.4 条件语句的嵌套,例如:0时至12时,显示“早上好”利用窗体装载(Load)事件,采用Print直接在窗体上输出结果Private Sub Form_Load()Dim h As IntegerShow 使print输出在窗体上的内容可见h = Hour(Time) 取系统的时间FontSize = 30 : ForeColor = RGB(255, 0, 0) BackColor = RGB(255, 255, 0)If h 12 ThenPrint “早上好!“ElseIf h 18 ThenPrint “下午好!“ElsePrint “晚上好!“End

29、 IfEnd IfEnd Sub,例4.3 根据不同的时间段发出问候语,例4.3,If 条件1 Then语句块1ElseIf 条件2 Then语句块2ElseIf 条件3 Then语句块3Else语句块nEnd If先测试条件1,如果为假,就依次测试条件2,依此类推,直到找到为真的条件。一旦找到一个为真的条件时,VB会执行相应的语句块,然后执行End If语句后面的代码。如果所有条件都是假,那么执行Else后面的语句块n,然后执行End If语句后面的代码。,If h 12 ThenPrint “早上好!“ElseIf h 18 ThenPrint “下午好!“ElsePrint “晚上好!“

30、End If,2. ElseIf格式,Private Sub Form_Load()Showa = 1: b = 3If a * 4 - 1 = b ThenIf b 5 Then b = b + 1ElseIf b 2 Thenb = b - 1Elseb = b + 2End Ifb = IIf(a = b, b + 1, b - 1)Print b End Sub,下列程序的运行结果是?,想一想,思考题,2,例4.3a,使用多分支语句Select Case也可以实现多分支选择。更有效、更易读,并且易于跟踪调试。Select Case 测试表达式Case 表达式表1语句块1Case 表达式

31、表2语句块2. . . Case Else语句块nEnd Select先计算表达式的值,然后将该值依次与结构中的每个Case的值进行比较,如果该值符合某个Case指定的值条件时,就执行该Case的语句块,然后跳到End Select,从End Select出口。如果没有相符合的Case值,则执行Case Else中的语句块,4.3 多分支语句,示例 Select Case xCase -1y=10Case 1y=20Case Elsey=30 End Select,先在窗体上显示以下考题:鸡兔同笼,已知鸡和兔总头数为h=23,总脚数为f=56,求鸡兔各有多少只?再提供输入框由学生回答问题,然后

32、采用输出框显示对答案的评判意见。分析:设鸡数为j1,兔鸡数为t1,则有j1 + t1 = h j1 = (4 * h - f) / 2 2*j1 + 4*t1 = f t1 = (f - 2 * h) / 2,例4.5 求鸡数和兔数,例4.5,当用户单击“答题”按钮时,程序提供输入对话框,由用户输入答案,再通过输出框显示评判意见。采用的程序代码如下:Private Sub Form_Load()ShowPrintFontSize = 18Print Spc(9); “考一考你“FontSize = 13PrintPrint Spc(5); “鸡兔同笼,已知鸡和兔总头数为23,“Print Sp

33、c(3); “总脚数为56,求鸡兔各有多少?“End 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 = t2MsgBox “回答完全正确!“Case j1 = j2MsgBox “鸡数回答正确,但

34、兔数不对!“Case t1 = t2MsgBox “兔数回答正确,但鸡数不对!“Case ElseMsgBox “回答错误!“End SelectEnd Sub,提供选项让用户选择,如选择“是”或“否”,从列表中选择某一项等选择的控件有:单选按钮、复选框、列表框和组合框,4.4 选择性控件,1. 单选按钮的用途单选按钮(OptionButton)控件由一个圆圈“”及紧挨它的文字组成,能提供“选中”和“未选中”两种可选项成组形式出现2. 常用属性Caption属性Value属性:表示单选按钮是否被选中,选中时Value值为True,否则为False。使用单选按钮组时,选中其中一个,其余就会自动关

35、闭 Alignment属性:设置单选按钮标题的对齐方式3. 事件Click事件在应用程序中可以创建一个事件过程,检测控件对象Value属性值,再根据检测结果执行相应的处理,4.4.1 单选按钮,(1) 创建应用程序的用户界面和设置对象属性单选按钮组;初始状态:设置Option1的Value属性值设置为True,或通过代码“Option1.Value=True” 来实现(2) 编写程序代码功能要求,例4.6 用单选按钮组控制显示不同的字体,例4.6,程序代码如下:Private Sub Option1_Click()Text1.FontName = “宋体“End SubPrivate Sub

36、Option2_Click()Text1.FontName = “幼圆“End SubPrivate Sub Option3_Click()Text1.FontName = “楷体_GB2312“End Sub 说明:程序代码中所用的字体号(如“宋体”、“幼圆”等)必须与系统提供的字体相一致,1. 复选框的用途复选框(CheckBox) 控件由一个四方形小框和紧挨它的文字组成。提供“选中”和“未选中”两种可选项复选框控件与单选按钮控件在使用方面的区别2. 常用属性Caption属性Value属性:表示复选框的状态有三种取值:0未选中(缺省值)1选中2不可用(灰色显示)Alignment属性;S

37、tyle属性3. 事件复选框可响应的事件与单选按钮基本相同,4.4.2 复选框,(1)创建应用程序的用户界面和设置对象属性多行文本框(带垂直滚动条)和四个复选框(2)编写程序代码功能要求:程序开始运行后,用户在文本框中输入一段文字(如“复选框应用示例”),然后按需要单击各复选框,则文字的字体、字型、字号及颜色随之改变,例4.7 用复选框来控制文字的字体、字型、字号及颜色,例4.7,Private Sub Check1_Click()If Check1.Value = 1 Then 判复选框1是否选中Text1.FontName = “楷体_GB2312“ElseText1.FontName =

38、 “宋体“End If End Sub Private Sub Check2_Click()If Check2.Value = 1 Then 判复选框2是否选中Text1.FontItalic = TrueElseText1.FontItalic = FalseEnd If End Sub Private Sub Check3_Click()If Check3.Value = 1 Then 判复选框3是否选中Text1.FontSize = 25ElseText1.FontSize = 9End If End Sub,Private Sub Check4_Click()If Check4.Va

39、lue = 1 Then 判复选框4是否选中Text1.ForeColor = RGB(255, 0, 0)ElseText1.ForeColor = RGB(0, 0, 0)End IfEnd Sub在运行中,可以任意设定这四个复选框的状态,可以四项都不选,也可以选择其中一项至四项,计时器(Timer)每隔一定的时间间隔产生一次Timer事件(或称报时)。可以根据这个特性来定时控制某些操作,或进行计时运行时计时器不显示Enabled属性:确定计时器是否可用 Interval属性:设置两个Timer事件之间的时间间隔,其值以毫秒(1ms=1/1000 s)为单位例如,如果希望每半秒钟产生一个T

40、imer事件,那么Interval属性值应设置为500,这样每隔500 ms就会触发一次Timer事件,从而执行相应的Timer事件过程计时器控件只响应一个Timer事件。也就是说,计时器控件对象在间隔了一个Interval设定时间后,便触发一次Timer事件,4.5 计时器控件,例4.8 建立一个电子时钟,(1) 创建应用程序的用户界面和设置对象属性一个计时器控件和一个文本框。计时器控件Timer1的Interval属性值设定为1000(1秒)(2) 编写程序代码 Private Sub Timer1_Timer() timer事件过程Text1.Text = Time Time是时间函数E

41、nd Sub,例4.8,运行界面,设计界面,计时器(Timer)每隔一定的时间间隔自动产生一次Timer事件和执行Timer事件过程这个时间间隔由Interval属性设定利用这个特性来定时控制某些操作,例4.9 实现字体的放大,利用计时器可以按指定间隔时间对字体进行放大 (1)创建应用程序的用户界面和设置对象属性一个计时器控件和一个标签 。 标签内显示文字“放大”计时器控件Timer1的计时器采用默认的属性值Enabled属性值为True(真),Interval属性值为0,例4.9,(2)编写程序代码Private Sub Form_Load()Label1.Caption = “放大“Lab

42、el1.Width = Form1.Width 把标签的高度和宽度设置为窗体相同尺寸 Label1.Height = Form1.HeightTimer1.Interval = 800End SubPrivate Sub Timer1_Timer()If Label1.FontSize 140 ThenLabel1.FontSize = Label1.FontSize * 1.2ElseLabel1.FontSize = 8End IfEnd Sub,例4.10 电子倒计时器。先由用户给定倒计时的初始分秒数,然后开始倒计时,当计到0分0秒时,通过消息对话框显示“倒计时结束”(1)在窗体上建立一

43、个计时器(Timer1)、两个标签、两个文本框(Text1和Text2)和一个命令按钮(Command1)计时器的Enabled属性值为True, Interval属性值为0,4.6 程序举例,例4.10,(2)编写程序代码Dim m As Integer, s As Integer 声明模块级变量Private Sub Form_Load()Timer1.Interval = 1000 设置每隔1秒触发1次Timer事件Timer1.Enabled = False 关闭计时器End SubPrivate Sub Command1_Click() “倒计时”m = Val(Text1.Text

44、) 分钟数s = Val(Text2.Text) 秒数Timer1.Enabled = True 打开计时器End Sub,Private Sub Timer1_Timer()If s 0 Thens = s - 1ElseIf m 0 Thenm = m - 1s = 59End IfEnd IfText1.Text = Format(m, “00“)Text2.Text = Format(s, “00“)If s = 0 And m = 0 ThenBeep 响铃,即让喇叭发一声响MsgBox “计时结束“EndEnd If End Sub,(1) 创建应用程序的用户界面和设置对象属性单选

45、按钮组Option1、Option2、Option3及Option4分别代表+、-、*(乘)和/(除)运算(2) 编写程序代码,例4.11 输入两个运算数和运算符(+、-、*或/),组 成算式并计算结果,然后显示出来,例4.11,Private Sub Command1_Click() “计算”按钮Dim a As Single, b As Single, t As Single, s As Stringa = Val(Text1.Text)b = Val(Text2.Text)Select Case TrueCase Option1.Value + 运算s = “+“t = a + bCas

46、e Option2.Value - 运算s = “-“t = a - bCase Option3.Value * 运算s = “*“t = a * bCase Option4.Value / 运算s = “/“t = a / bEnd SelectText3.Text = a & s & b & “=“ & t End Sub,Private Sub Command2_Click()Text1.Text = “Text2.Text = “Text3.Text = “ End SubPrivate Sub Command3_Click()End End Sub,Private Sub Form_

47、Load()Option1.Value = True + 运算End Sub,(1)分析:方程的解有以下几种可能:若a=0,不是二次方程若b2 - 4ac=0,有两个相等实根若b2 - 4ac0,有两个不等实根若b2 - 4ac0,有两个共轭复根(2)程序框图程序框图程序框图也称程序流程图,它能直观地表示程序的处理步骤,是一种描述算法的常用方法。(3)建立应用程序的用户界面和设置对象属性(4)编写程序代码,例4.12 求一元二次方程ax2+bx+c0的解,程序框图,当用户在“a=”文本框(Text1)、“b=”文本框(Text2)和“c=”文本框(Text3)输入a,b,c的值后,单击“计算”

48、按钮,则从“x1=”文本框(Text4)和“x2=”文本框(Text5)输出计算结果。当输入的a,b,c为1,2,-8时,运行结果如下图,功能要求,Private Sub Command1_Click()Dim a As Single, b As Single, c As SingleDim D As Single, X1 As Single, X2 As SingleDim R As Single, P As Singlea = Val(Text1.Text) 取数据ab = Val(Text2.Text) 取数据bc = Val(Text3.Text) 取数据cIf a = 0 Then 当a=0Text4.Text = “不是二次方程“Text5.Text = “不是二次方程“Else a0D = b * b - 4 * a * cR = -b / (2 * a),

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

当前位置:首页 > 企业管理 > 管理学资料

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


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

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

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