[PPT模板]第 5 章 程序控制结构.ppt
《[PPT模板]第 5 章 程序控制结构.ppt》由会员分享,可在线阅读,更多相关《[PPT模板]第 5 章 程序控制结构.ppt(71页珍藏版)》请在三一办公上搜索。
1、1,第 5 章 程序控制结构,顺序结构分支结构循环结构,2,第5章 程序控制结构,5.1 顺序结构,顺序结构是在程序执行时,根据程序中语句的书写顺序依次执行的语句序列,其程序执行流程是按顺序完成操作的。,3,第5章 程序控制结构,5.1 顺序结构,例5.1:创建一个窗体,用字符拼凑一个图形。,4,5.2 选择结构程序设计,本章要点:条件语句单行结构条件语句If.Then.Else.块结构条件语句If.Then.EndIf多分支选择语句Select Case.End Select,特点:根据条件是否成立,决定程序的执行分支,5,5.2.1 单行结构条件语句,1.格式 If Then Else 2
2、.功能 如果成立,则执行,否则执行,6,3.说明(1)可以是:关系表达式布尔表达式数值表达式:0为False;非0为True字符串表达式:0为False;非0为True(2)可以没有Else部分,这时必须有。,例:If Xaaa Then Print X,7,(3)、:可以有多条语句,各语句之间用冒号隔开。例:If N0 Then A=A+B:B=B+A Else A=A-B:B=B-A(4)应作为一条语句书写。如果语句太长需要换行,必须在折行处使用续行符号。(5)无论条件是否成立,都具有共同出口例:If X=0 Then X=1+X Else X=5-X Y=1-X Print Y=;Y 若
3、 X=2 则打印 Y=-2 若 X=-2 则打印 Y=-6,共同出口,(6)单行结构条件语句可以嵌套 IF.THEN.IF.THEN.ELSE.ELSE,8,【例5-1】设界面如下图所示,用文本框输入x的值,单击“计算Y”按钮时,根据以下公式计算y的值。,Private Sub Command1_Click()X=Val(Text1.Text)If X=0 Then Y=Abs(X)Else Y=Log(X)Label3.Caption=Y End Sub,9,例:比较以下两段程序,是否都能够实现上例的功能。,程序段1:X=Val(Text1.Text)Y=Abs(X)If X 0 Then
4、Y=Log(X)Label3.Caption=Y,程序段2:X=Val(Text1.Text)Y=Log(X)If X=0 ThenY=Abs(X)Label3.Caption=Y,10,【例5-2】平面直角坐标系中,不同的象限内,点的坐标的符号有以下4种情况:第一象限 X0,Y0 第二象限 X0 第三象限 X0,Y0 任意输入一对坐标值,找出它所在的象限。,Private Sub Command1_Click()X=Val(Text1.Text):Y=Val(Text2.Text)If X=0 Or Y=0 Then _ Print 不在任何象限内:Exit Sub If X 0 Then
5、If Y 0 Then Print IN A Else _ Print IN D Else If Y 0 Then Print IN B _ Else Print IN C End Sub,11,5.2.2 块结构条件语句,1.格式If Then ElseIf Then ElseIf Then Else End If,If Then 语句组1Else 语句组2End If,注意:格式书写、嵌套,12,块结构条件语句的功能:,13,【例5-3】输入华氏温度F,利用公式C=5/9*(F-32)转换成摄氏温度C,根据转换结果C的不同值,按以下要求给出相应的提示。,C40时,打印HOT 30C40时,
6、打印 WARM 20C30时,打印 ROOM TEMPERATURE 10C20时,打印 COOL 0C10时,打印 COLD C0时,打印 FREEZING,14,Private Sub Command1_Click()C=5/9*(Val(Text1.Text)-32)Text2.Text=Format(C,0.00)If C 40 Then Label2.Caption=HOT ElseIf C 30 Then Label2.Caption=WARM ElseIf C 20 Then Label2.Caption=ROOM TEMPERATURE ElseIf C 10 Then Lab
7、el2.Caption=COOL ElseIf C 0 Then Label2.Caption=COLD Else Label2.Caption=FREEZING End IfEnd Sub,15,注意:(1)ElseIf不能写成Else If,即中间不能有空格。(2)在书写时,可以将If语句、ElseIf子句、Else子句、和End If语句左对齐,而各语句组向右缩进若干空格,以使程序结构更清楚。(3)严格按格式要求书写,不可随意换行或将两行合并成一行。例如,对于条件结构:If x=0 Then y=1 Else y=2 End If 以下两种写法都是错误的:,写法一:If x=0 Then
8、 y=1Else y=2End If,写法二:If x=1 Then y=10 Else y=20End If,16,5.2.3 多分支选择语句,1.格式 Select Case Case Case Case Else End Select2.功能:根据测试表达式的值,按顺序匹配Case后的表达式,如果匹配成功,则执行该Case下的语句块,然后转到End Select语句之后继续执行。,17,多分支选择语句的功能流程图:,18,3.说明:数值或字符表达式 Case 表达式表:表中的表项为如下形式:(1)表达式1,表达式2.如:Case 1,3,5(2)表达式1 TO 表达式2 如:Case 1
9、0 TO 30 Case A TO Z(3)Is 如:Case Is=10 Case Is=0 与 Case 0 相同 注意:测试表达式的类型应与Case后表达式类型一致,且三种形式可以混用,如:Case Is-5,0,5 To 100,19,Y=,ex+e-x x0,X=Val(Text1.Text)Select Case XCase Is 0 Y=Log(X)/Log(10)End SelectPrint Y=;Y,X=Val(Text1.Text)Select Case XCase X 0 Y=Log(X)/Log(10)End SelectPrint Y=;Y,【例5-4】按以下公式求
10、分段函数y的值。,20,如果在条件成立或不成立的情况下要继续判断其他条件,则可以使用嵌套的条件语句来实现,也就是在语句组中再使用另一个条件语句。,5.2.4 条件语句的嵌套,块结构条件语句的嵌套示例:If A=1 Then If B=0 Then Print*0*ElseIf B=1 Then Print*1*End IfElseIf A=2 Then Print*2*End If,21,多分支选择语句的嵌套示例:Select Case A Case 1 Select Case B Case 0 Print*0*Case 1 Print*1*End Select Case 2 Print*2*
11、End Select,22,多分支选择语句与块结构条件语句的互相嵌套示例:Select Case A Case 1 If B=0 Then Print*0*ElseIf B=1 Then Print*1*End If Case 2 Print*2*End Select,23,1IIf函数格式:IIf(,)功能:当的值为True时,返回第2个参数的值;当的值为False时,返回第3个参数的值。(类似于具有两个分支的If语句的功能)例:使用IIf函数求两个变量A和B的较大数。MaxAB=IIf(A B,A,B)例:使用IIf函数求三个变量A、B和C的最大数。MaxAB=IIf(A B,A,B)Ma
12、xABC=IIf(MaxAB C,MaxAB,C),5.3 条件函数,24,2Choose函数格式:Choose(,.,)功能:当的值为1时,返回的值;当的值为2时,返回的值;。如果的值不是整数,则会先四舍五入为整数。例:将成绩1分、2分、3分、4分和5分转换成相应的等级:不及格(1分,2分)、及格(3分),良(4分),优(5分)。Grade=Choose(Score,不及格,不及格,及格,良,优),25,应用举例,【例】设计一个口令检测程序,界面如下图,当用户输入的口令正确时,显示“恭喜!您已成功进入本系统”,否则,显示,“口令错!请重新输入”。如果连续两次输入了错误口令,在第三次输入完口令
13、后则显示一个消息框,提示“对不起,您不能使用本系统”,然后结束程序的执行。,26,Private Sub Text1_KeyUp(KeyCode As Integer,_ Shift As Integer)Static I As Integer 保存输入错误口令的次数 If KeyCode=13 Then 如果按下的键为回车键 If UCase(Text1.Text)=HELLO Then Label2.Caption=恭喜!,您已成功进入本系统 ElseIf I=0 Or I=1 Then I=I+1 Label2.Caption=口令错!,请重新输入 Text1.SelStart=0 Te
14、xt1.SelLength=Len(Text1.Text)Else MsgBox 对不起,您不能使用本系统:End End If End IfEnd Sub,27,【例5-6】求一元二次方程ax2+bx+c=0的解。分析:(1)如果a=0,则不是二次方程,此时如果b=0,则提示重新输入系数;如果b 0,则:x=-c/b(2)如果a 0,且b2-4ac=0,则有两个相等的实根(3)如果a 0,且b2-4ac0,则有两个不等的实根(4)如果a 0,且b2-4ac0,则有两个共轭复根,28,Private Sub Command1_Click()A=Val(Text1.Text):B=Val(Tex
15、t2.Text)C=Val(Text3.Text):Cls CurrentX=600:CurrentY=1100 If A=0 Then If B=0 Then MsgBox 系数为零,请重新输入 Text1.SetFocus Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)Else X=-C/B Print X=;Format(X,0.000)End If Exit Sub End If,29,Delta=B 2-4*A*C Select Case Delta Case 0 Print X1=X2=;Format(-B/(2*A),0.000)
16、Case Is 0 X1=(-B+Sqr(Delta)/(2*A)X2=(-B-Sqr(Delta)/(2*A)Print X1=;Format(X1,0.000)CurrentX=600:CurrentY=1300 Print X2=;Format(X2,0.000)Case Is 0 A1=-B/(2*A)A2=Sqr(Abs(Delta)/(2*A),30,Print X1=;Format(A1,0.000);+;_ Format(A2,0.000);i CurrentX=600 CurrentY=1300 Print X2=;Format(A1,0.000);-;_ Format(A2
17、,0.000);i End SelectEnd Sub,31,【例】设计一个四则运算的自我练习应用程序,界面如下图所示。,32,要求:(1)执行时,当在Text1中输入一种运算符后,在标签Label2中立即出现该运算符号。(2)单击“出题”按钮可以产生两个0,1000之间的随机整数,这时由Text2、Label2和Text3组成一个表达式。(3)可以通过单击“计算”按钮计算所生成的表达式的值。(4)也可以由用户在文本框Text4中输入运算结果通过单击“判断”按钮可以判断输入的运算结果是否正确,然后在Label4上显示“正确”或“错误”。(5)单击“退出”按钮结束运行。,33,(1)在Text1
18、中输入加、减、乘、除符号后,在Label2中立即出现相应的运算符号。Private Sub Text1_Change()Label2.Caption=Text1.Text End Sub(2)单击“出题”按钮Command1,生成两个0,1000之间的随机整数。Private Sub Command1_Click()Randomize Text2.Text=Int(Rnd*1001)Text3.Text=Int(Rnd*1001)Text4.Text=End Sub,34,(3)单击“计算”按钮Command2得出Text4的值。Private Sub Command2_Click()If L
19、abel2.Caption=+Then Text4.Text=Val(Text2.Text)+Val(Text3.Text)ElseIf Label2.Caption=-Then Text4.Text=Val(Text2.Text)-Val(Text3.Text)ElseIf Label2.Caption=*Then Text4.Text=Val(Text2.Text)*Val(Text3.Text)ElseIf Label2.Caption=/Then Text4.Text=Val(Text2.Text)/Val(Text3.Text)Else MsgBox 运算类型错,请重输,警告 Tex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PPT模板 PPT模板第 程序控制结构 PPT 模板 程序控制 结构
链接地址:https://www.31ppt.com/p-4595806.html